スプレッドシートで「条件によって処理を分ける」ときに使うのが、IF関数です。草野球の成績管理表で、打席結果の記号から安打かどうかを自動的に判定する場面を例に、使い方と内部のしくみを初心者向けに丁寧に解説します。
IF関数とは
ある条件(論理式)が「真(TRUE)か偽(FALSE)か」を判定し、真の場合と偽の場合でそれぞれ別の値を返す関数です。成績管理表では「入力された記号が特定の条件を満たすかどうかで、表示する内容を切り替えたい」という場面で多用します。
基本の書式はこうです。
=IF(論理式, 真の場合の値, 偽の場合の値)
論理式には「◯◯かどうか」を判定する式を入れます。この式の結果がTRUEなら2番目の引数、FALSEなら3番目の引数が、そのままセルに返される値になります。
成績管理表での実例:打席結果から安打かどうかを判定する
大阪グーニーズの打席結果記録シートでは、各打席の結果を記号で入力しているとします。ここでは仮に、安打の場合は「H」、三振は「K」、四球は「BB」、凡打は「O」を入力するルールだとして進めます(実際の記号ルールはチームの運用に合わせて読み替えてください)。C列に結果コードが入っているとします。
| 試合日 | 打者 | 結果コード | 判定 |
|---|---|---|---|
| 4/26 | SUZUKI | H | 安打 |
| 4/26 | NAKATA | K | |
| 4/26 | YAMAMOTO | BB | |
| … | … | … | … |
この「判定」列に、結果コードが「H」かどうかを判定する式を入れます。
=IF(C2="H","安打","")
「C2セルの値が”H”と一致するなら『安打』、一致しなければ空欄」という式です。この式をD列全体にコピーすれば、結果コードを入力するだけで自動的に「安打」の表示が付くようになります。
結果コードの隣にある「判定」列のセル(例:D2)をクリックして選択します。
C2=”H” のように、判定したいセルと比較したい値を「=」でつなぎます。文字列を比較するときは、必ずダブルクォーテーションで囲みます。
“安打”,”” のように、条件が真のときに表示したい値と、偽のときに表示したい値をそれぞれ入力します。
式を確定したらD2セルをコピーし、D3以降に貼り付ければ、全打席分の判定が一気に完成します。
しくみを理解する:IFは何をしているのか
IF関数は、まず1つ目の引数(論理式)を計算し、その結果がTRUEかFALSEかを判定します。そのうえで、どちらの値を返すかを次のように切り替えているだけです。
- 論理式がTRUEの場合 → 2番目の引数(真の場合の値)をそのまま返す
- 論理式がFALSEの場合 → 3番目の引数(偽の場合の値)をそのまま返す
- 返す値は文字列だけでなく、数値や別の数式にすることもできる(IFの中にさらに関数を入れる「ネスト」という使い方もありますが、これは回を改めて詳しく解説します)
よくあるミス:判定がうまくいかない原因
C2=H のようにダブルクォーテーションを付け忘れると、「H」を文字列ではなく名前(セル名や定義済み名前)として認識しようとしてエラーになります。文字列と比較するときは必ず”H”のように囲んでください。
=IF(C2=”H”,”安打”) のように3番目の引数を省略すると、条件に一致しなかったセルには「FALSE」という文字がそのまま表示されてしまいます。空欄にしたい場合は、3番目の引数として””を明示的に指定しておく必要があります。
- IF関数は「論理式の真偽によって返す値を切り替える」関数
- 文字列どうしを比較するときは、必ずダブルクォーテーションで囲む
- 偽の場合の引数を省略すると「FALSE」と表示されるため、空欄にしたいときは””を指定する
次回予告
次回のテーマは「IFS関数」です。IFのネストを避けて複数の条件を並べて書ける関数で、打席結果記号を単打・二塁打・三塁打・本塁打に自動分類する例を使って解説していきます。
▶︎ 次回:IFS関数の使い方としくみ



コメント