【Excelの手引き】 IF関数の使い方 ~”もしも”で条件分けする~

IT
スポンサーリンク
スポンサーリンク
スポンサーリンク

Excelの便利機能として関数といったものがあります。
知っていると役に立つものが多いのですが、そもそも存在を知らない・忘れることが多々あります。

そんな関数について初心者の方でもわかるようにまとめた記事となっております。

Excel関数を使用する時は、一番最初にイコール(=)を入力することを忘れないように注意してください。
また、Excel関数は大文字小文字どちらで入力しても問題ないです。

今回は「IF関数の使い方」についてです。

1.そもそもExcel関数とは?

そもそもExcel関数とは何かについての説明です。
説明が不要な方はここは読み飛ばして次へ進んでください。

Excelは表計算ソフトと呼ばれています。
表を作ったり、計算したり、表の内容からグラフを作成したりできる便利なソフトです。
Excel関数は、そんなExcel内での計算を簡単に行う為に用意されている機能のことです
数値の合計を求める為の関数や数値の平均を求める為の関数といったものが予め用意されているわけです。

例えば、以下のようにセルに数値が入力されているとします。

図1

セルとは、Excelの1マスのことです
横の行を数字縦の列をアルファベットで表していて、図1の場合はB2・C2・D2・E2に数値が入力されているという表し方になります。

これらの数値の合計を求める場合、普通に計算すると「=B2+C2+D2+E2」と計算結果を表示したいセルに入力する必要があります。
計算が単純な場合はこの方法でも手間ではないですが、もっと複雑化した場合はこんなことやってられませんよね?
そこで登場するのがExcel関数です。

「=B2+C2+D2+E2」をExcel関数を用いて表すと、「=SUM(B2:E2)」となります。
SUMが関数名、()内が引数(範囲や条件を指定している)を表しています。
Excel関数の基本形式(以降は論理式と呼びます)は「=関数名(引数)」になります
SUM関数は指定したセル範囲内の数値の合計を求める関数です
B2:E2はB2~E2、つまりB2・C2・D2・E2のセル範囲を指しています
なので、B2・C2・D2・E2のセル範囲の合計値を求められるわけです。

実際にやってみましょう。

図2

適当なセル(図2ではB5にしている)を選び、「=sum」と入力します。
すると、関数の候補がズラッと出てきます。
この候補にマウスカーソルを持ってくと、その関数がどんな機能を持つのか説明が出てきます。
SUMの場合は「セルに含まれる数値をすべて合計します。」と表示されていますね。
「=sum(」まで入力するとSUM関数を使うと認識され、()内に入力すべき引数の説明が表示されます。
SUM関数の場合はセル範囲を指定すればいいので、直接「B2:E2」と入力するか、実際にセルをクリックします。
この例の場合、B2を右クリックした状態でE2までドラッグすると勝手に「B2:E2」の部分が入力されます。
あとは()を閉じてEnterを押すと合計値が算出されます。

SUM関数を例にExcel関数とはどんなものなのかを簡単に説明してみました。
一度覚えてしまえばすんなり理解できるのではないでしょうか?

ただ、関数ごとに引数の入力ルールが異なるので、そもそもどんな関数があるのか・引数はどう入力すればいいのかは調べてみないことにはわかりません
ものによっては説明を見ても何を言っているのか全くわからなかったりします。

なので、この記事ではなるべくどんな方でも理解できるように意味を噛み砕いて説明していけたらと思っています。(願望)

2.IF関数の使い方

IF関数は、入力された引数(論理式)の結果が正しい場合と正しくない場合とで表示を切り替えることができる関数です
「”もし~なら”という条件付けをして、正しければ〇〇、正しくなければ✕✕と表示する」といったルールを決めることができる関数ということです

IF関数の論理式は以下のようになります。

=IF(論理式,[真の場合],[偽の場合])

「論理式」に条件を入力し、条件を満たす場合は「真の場合」、条件を満たさない場合は「偽の場合」で指定した文字列を表示することが可能です
「真の場合」と「偽の場合」は「”(ダブルクォーテーション)」で囲む必要があることに注意です。

使い方に関しては言葉では説明しづらいので、例を用いて説明していこうと思います。

2-1.IF関数を1つ使う場合

Aさん・Bさん・Cさんが国語のテストを受けた結果が図3のおようになっていました。

図3

今から、IF関数を用いてC2:C4セルに点数が50点以上の時は「合格」と表示する方法を説明していきます。
あくまで例なので直接入力した方が早いとかいうツッコミはいらないですよ?

まずは、C2セルにIF関数を入力していきます。
Aさんの点数(B2セル)が50点以上の場合は「合格」、50点未満の場合は無表示(ブランク)にするということなので、「論理式」は「B2>=50」「真の場合」は「”合格”」「偽の場合」は「””」と入力します
※ Excelでは「>=」は「≧」と同じ意味合いになります。

つまり、数式は「=IF(B2>=50,”合格”,””)」となります。
こうすることで、「もしB2≧50を満たすなら合格と表示し、満たさないなら何も表示しない」というルールを作ることができたわけです。
これでC2セルには「合格」と表示されるようになります。

無表示の場合は何も入力しないのではなく「””」の入力を忘れないようにしましょう
何も入力しないと表示が変になったりします。(エラーは出ない)

後は、C2セルをクリックしながらC4までドラッグするとC3・C4セルにもルールが適用されます
C3セルが参照するセルはB3セル、C4セルが参照するセルはB4セルという具合に勝手にスライドしてくれるのがExcelの便利なところですね。
その結果、C3セル(Bさんの合否判定)は「合格」と表示され、C4セル(Cさんの合否判定)には何も表示されなくなります。

2-2.IF関数を複数組み合わせる場合

IF関数の「論理式」にはExcel関数を入力することが可能です。
つまり、IF関数の「論理式」にIF関数を入力することができます
IF関数の中のIF関数の中にIF関数がいるといった設定も可能です。
ほぼ無限に増えるマトリョーシカみたいなもんですね(笑)

その為、応用の幅がとてもとても広がります。
その反動で混乱しやすくなりますけど。

今度はAさん・Bさん・Cさん・Dさんが国語と数学のテストを受けた結果があるとします(図4左)。
これを、国語と数学の点数が両方とも50点以上なら「合格」、国語が50点未満なら「国語補習」、数学が50点未満なら「数学補習」、国語と数学の点数が両方とも50点未満なら「留年」と表示したいとします(図4右)。
Dさんには犠牲になってもらいましょう♨

図4

先にどんな数式になるかを載せますね。
Aさんの結果はD2セルに表示したいので、D2セルには以下のような数式を入力します。

「=IF(B2>=50,IF(C2>=50,”合格”,”数学補習”),IF(C2>=50,”国語補習”,”留年”))」

一気に数式がごちゃごちゃした見た目になりわかりづらくなりましたね。
ただ、見た目は酷いですが順序を追っていくと大したことはないんですよ。

図5のように部分ごとに考えていきます。

図5

まず、一番外のIF関数に注目すると、①が「論理式」②が「真の場合」③が「偽の場合」になっていることがわかりますよね?
つまり、国語の点数(B2)が50点以上なら②、50点未満なら③に入力されたIF関数を実行します

②の中身を紐解いていくと、②-①が「論理式」②-②が「真の場合」②-③が「偽の場合」になっています。
②が実行される条件は国語の点数(B2)が50点以上なので、②-②は国語の点数(B2)が50点以上且つ数学の点数(C2)が50点以上②-③は国語の点数(B2)が50点以上且つ数学の点数(C2)が50点未満である場合に表示される文字列だということがわかります。
つまり、②-②は「合格」、②-③は「数学補習」が文字列として相応しくなるわけです。

同様に③について考えると、③-①が「論理式」③-②が「真の場合」③-③が「偽の場合」になっています。
③が実行される条件は国語の点数(B2)が50点未満なので、③-②は国語の点数(B2)が50点未満且つ数学の点数(C2)が50点以上③-③は国語の点数(B2)が50点未満且つ数学の点数(C2)が50点未満である場合に表示される文字列だということがわかります。
つまり、③-②は「国語補習」、③-③は「留年」が文字列として相応しくなるわけです。

ややこしく見えているだけで、簡単でしょう??

「論理式」にAND関数OR関数などの関数を使ってみたり、条件付き書式を使いこなすことでできることの幅は無限に広がるので、色々試してみてくださいな。

以上、IF関数の使い方についてでした。