ExcelとAccessのスキルアップをサポートするサイトです

ExcelとAccessの学習室

エクセルでIF関数を使いこなす

日常的にエクセルを使っている人のうち、過半数が四則演算とSUM関数のみを使っているという状況にあるかと思います。

それだけでも、エクセルで自動計算機能を活用することができますが、初心者の域を脱することが出来ません。

エクセルの脱初心者を目指すためには、条件分岐関数であるIF関数をマスターできるかが鍵になってきます。

今回は、IF関数を紹介していきますが、エクセルの脱初心者を目指す方に役に立てればと思います。

この記事を読むことで、

  • IF関数を使うための核となる考え方が分かる
  • IF関数のいろいろな使い方
  • プログラミング思考を鍛えるのにIF関数が有効であること

を理解出来ます。

IF関数をマスターするための大事な考え方

IF関数をマスターするためには、「条件分岐」という考え方が必要になります。

条件分岐は、プログラミングを行うときによく使われる方法ですが、日頃生活している時にも、誰でもよく使っている考え方です。

例えば、

  • お店で商品を買いたい
  • 財布の中の所持金を直前に確認する
  • 足りるなら買う
  • 足りないなら買わない

といったことを、みんな経験したことがありますよね?

「選択肢を設け、選んだ次には何をするかを決める」といった考え方が条件分岐になります。

フローチャートでは下の図のように表現されます。

IF関数の基本

IF関数は3つの引数を使います。

  • 第一引数→条件
  • 第二引数→真(true)の場合の処理
  • 第三引数→偽(false)の場合の処理

ここでは、テストの点数を表示した一覧表があります。

70点以上を合格とし、未満を不合格に振り分けてみます。
フローチャートで表現すると以下のようになります。

合否を表示する列を追加します。

IF関数を使うと、「=IF(E2>=70,”合格”,”不合格”)」になります。

合格と不合格に振り分けることが出来ました。

ここでは、表にテーブルを適用していますので、一行目に式を入力したら二行目以降は自動で反映するようになっています。

2つ以上の条件を組み合わせる

各生徒の5教科平均、文系科目の合計〔国語と社会〕、理系科目の合計(数学と理科)を表した表があります。

まず、5教科の平均が70点以上の場合は「進学クラス」、未満の場合は「普通クラス」に振り分けます。

更に、文系科目〔国語と社会〕と、理系科目(数学と理科)のどちらが点数が高いかで、文系と理系に振り分けます。

フローチャートでは以下の図のようになります。

このように、複数の条件を使って振り分けるときは、IF関数の中にもIF関数を入れます。

式は、「=IF(H2>70,IF(I2>J2,"文系進学","理系進学"),IF(I2>J2,"文系普通","理系普通"))」となります。

これで「文系進学」「文系普通」「理系進学」「理系普通」の4種類のクラスに振り分けることができました。

数式を改行させてIF関数を解読する

IFの中にIFを入れるなど、数式を長くしてしまうと、見づらく、式の解析をしづらいという欠点があります。

そのような時には、Altキー + Enterキーで、改行させたまま式を残す事ができます。

二行目以降にスペースを入れても正しく結果が反映されます。

改行されていないものより改行されているほうが、見た目は分かりやすくなったかと思います。

但し、改行するのは数式を入力する時のみにしておきましょう。改行したままにしておくと、思わぬエラーの原因になることがあります。

エクセル2016から使えるIFS関数

IF関数から更に進化したIFS関数というものがあります。

条件の選択肢が複数の場合に使えます。複数のIF関数が使われて見づらい場合に、IFS関数を使う事で、見やすくなります。

例えば、各生徒の点数によって、「合格」「再試験」「不合格」の3つに分けたい場合、IF関数では以下のようなフローチャートになります。

IF関数を使った場合の数式はこのようになります。

合否の結果が以下のように表示されました。

一方、IFSの場合はIFを2つ重ねるなどの複雑な組み立てをする必要がなく、選択肢を増やすのみです。

IFS関数の引数は、次のようになっています。

  • 第一引数・・・1番目の条件
  • 第二引数・・・1番目の条件が真の場合の処理
  • 第三引数・・・2番目の条件
  • 第四引数・・・2番目の条件が真の場合の処理

実際にIFS関数を使った場合の数式は以下のようになりました。ここでは、3つの選択肢なので、6つの引数が必要になります。

結果は、IF関数で数式を作ったものと同じ結果になりました。

IFS関数では以下の点に注意してください。

  • 条件の数を増やしたいときは、引数の数を増やす
  • 選択条件は、前の条件が優先される
  • 偽の場合の条件も設定しないといけない

どちらが適しているかは目的によって変わりますので、うまく使い分けましょう。

IFS関数については、後日深掘りしたいと思います。

IF関数を使えればプログラミングの敷居が下がる

プログラミングの基本的な流れは、

  • 順次処理
  • 条件分岐
  • 繰り返し

という3種類の動作を効率的に組み合わせることです。

IF関数は、条件分岐の考え方になりますので、マスターしておくとプログラミングの条件分岐コードも容易に習得できるようになります。

まとめ

「IF関数をまだ使えないけど、スキルアップしたい」という方は、是非IF関数をマスターしておきましょう。

日常的にIF関数を使うことで、自然とプログラミング的思考を身につける事が出来ます。

エクセルのスキルアップにも役立ちますし、VBAや他の新しい言語をマスターするときにも役に立つと思います。


本日もありがとうございました。