Excelで条件分岐を行う際、IF関数は多用途な関数ですが、複雑になると可読性が低下しがちです。
ここでは、IF文をシンプルで読みやすくする方法を紹介し、さらにLET関数などのテクニックを使って効率化する方法も取り上げます。
基本のIF文の構造
まず、IF関数の基本的な形は以下の通りです。
=IF(条件, 真の場合の値, 偽の場合の値)
例えば、売上が100以上であれば「合格」、それ以外は「不合格」と表示したい場合は以下のように書けます。
=IF(A1 >= 100, "合格", "不合格")
ネストされたIF文を読みやすくする
複数の条件を設定する場合、ネストされたIF文が使われますが、これが複雑になると非常に読みにくくなります。
例えば、以下のような複雑なネストされたIF文です。
=IF(A1 >= 100, "優", IF(A1 >= 80, "良", IF(A1 >= 60, "可", "不可")))
このような場合、IF関数の結果を一つずつ明確に分けて書くことで、読みやすさを改善します。
以下のようにインデントを使うと見やすくなります。
=IF(A1 >= 100, "優",
IF(A1 >= 80, "良",
IF(A1 >= 60, "可", "不可")
)
)
LET関数を利用
LET関数を使うと、計算結果を一時的に変数として保存できるため、複雑なIF文や繰り返される条件を簡潔に表現できます。
例えば、前述の例ではA1の値を複数回参照していますが、LET関数を使うことでこれを効率化できます。
=LET(Score, A1,
IF(Score >= 100, "優",
IF(Score >= 80, "良",
IF(Score >= 60, "可", "不可")
)
)
)
ここで、Score
という変数にA1
の値を代入し、以降はその変数を使用することで、A1を何度も参照する必要がなくなります。
これにより、式全体がすっきりし、変更も容易になります。
他の例として、A1
の文字列の特定の文字列を置換する関数の例を下に示します。
=LET(
text,A1,
step1,SUBSTITUTE(text,"-",""),
step2,SUBSTITUTE(step1,"&",""),
step3,SUBSTITUTE(step2,"・",""),
step4,SUBSTITUTE(step3," ",""),
step5,SUBSTITUTE(step4," ",""),
TRIM(step5)
)
“-“、”&”、”・”、全角、半角スペースを削除しています。
段階的に変数名を変更し、置換を行っており、IF文を繰り返すよりも読みやすくなります。
SWITCH関数を利用
Excel 2019以降では、SWITCH関数を使ってIF文を置き換えることもできます。
複数の条件を扱う場合にSWITCH関数を使うと、さらにシンプルになります。
=SWITCH(TRUE,
A1 >= 100, "優",
A1 >= 80, "良",
A1 >= 60, "可",
"不可"
)
SWITCH関数は指定した値と一致する場合に結果を返すため、IF文の連鎖をスムーズに記述できます。
CHOOSE関数を利用
数値が連続している場合、CHOOSE関数を使うとIF文を簡潔に置き換えられます。
例えば、評価が数値に基づいて階層化されている場合などに便利です。
=CHOOSE(MATCH(A1, {0,60,80,100}, 1), "不可", "可", "良", "優")
この例では、A1の値に応じて0〜100の範囲内で適切な評価を選びます。
MATCH関数で適切な評価の位置を取得し、CHOOSE関数で該当する文字列を返します。
コメント機能で文脈を追加
Excelのコメント機能やメモ機能を使って、IF文が何を意図しているのかを説明することも効果的です。
特に複雑なIF文や、他の人が理解しやすいように補足説明を追加することは、作業効率の向上に寄与します。
IF関数の代わりにIFS関数を使用
複数の条件を連続的に評価する場合、IFS関数を使うとネストされたIF文の代替となり、シンプルな構造を維持できます。
=IFS(A1 >= 100, "優", A1 >= 80, "良", A1 >= 60, "可", TRUE, "不可")
IFS関数では条件と結果をペアで記述し、最初に真となる条件を見つけた時点でその結果を返します。
まとめ
- ネストされたIF文はインデントを使い読みやすく整理する。
- LET関数を使って繰り返し処理や複雑な条件を簡潔にする。
- SWITCH関数やIFS関数を使うことで、複数条件をより直感的に記述できる。
- CHOOSE関数やMATCH関数も場合によってはIF文の代替として有効。
- コメント機能を使って、IF文の意図を明確にし、理解しやすいシートを作る。
これらの技法を活用することで、ExcelのIF文はより読みやすく、管理しやすくなります。