Excelで点数や数値を条件ごとに「可能」「一部可」「不可」のように分類したい場合、IFS関数は便利な機能です。しかし、条件式の書き方を間違えると、本来なら別の結果になるはずのセルが誤った判定になることがあります。この記事では、IFS関数で条件判定が正しく動かない原因や、複数の範囲を正しく指定する方法について詳しく解説します。
IFS関数で条件判定がずれる原因
IFS関数を使うときによくある間違いが、比較演算子を連続して書く方法です。例えば「7>D6>=3」のような書き方は、数学では「D6が7未満かつ3以上」という意味になりますが、Excelでは同じ意味として処理されません。
Excelの数式では、条件式を1つずつ分けて記述する必要があります。Excelは「7>D6>=3」を数学の不等式として判断せず、別の計算結果として評価するため、意図しない判定になることがあります。
例えば、D6の値が6の場合、「7>D6」はTRUEになります。しかし、その結果をさらに「TRUE>=3」のように処理してしまうため、条件が正しく判断されず、誤った結果が表示される場合があります。
Excelでは範囲条件をAND関数で指定する
「7未満3以上」のような範囲を指定したい場合は、AND関数を使って条件を組み合わせます。
正しい書き方の例は以下のようになります。
=IFS(D6>=7,”可能”,AND(D6<7,D6>=3),”一部可”,D6<3,”不可”)
この数式では、条件を以下のように分けています。
| 条件 | 結果 |
|---|---|
| D6が7以上 | 可能 |
| D6が7未満かつ3以上 | 一部可 |
| D6が3未満 | 不可 |
このように条件を明確に分けることで、6や8などの数値でも正しく判定されるようになります。
IFS関数は条件を上から順番に判定する
IFS関数は、左から順番に条件を確認し、最初にTRUEになった条件の結果を返します。そのため、条件を書く順番も重要です。
例えば、以下のような式の場合を考えます。
=IFS(D6>=3,”一部可”,D6>=7,”可能”,D6<3,”不可”)
この場合、D6が8でも最初の「D6>=3」がTRUEになるため、「一部可」と表示されます。後ろにある「D6>=7」の条件まで確認されません。
そのため、広い条件から書くのではなく、より限定された条件や優先したい条件から順番に配置することが大切です。
IF関数を使った書き方も可能
IFS関数が使えない古いExcelでは、IF関数を入れ子にして同じ処理を作成できます。
例えば、以下のような式になります。
=IF(D6>=7,”可能”,IF(D6>=3,”一部可”,”不可”))
この場合、最初に7以上かを確認し、違う場合だけ3以上かを確認します。結果として、3以上7未満なら「一部可」、3未満なら「不可」と判定されます。
実際には、このような段階的な評価ではIF関数のほうがシンプルに書ける場合もあります。
数値データが正しく認識されているか確認する
条件式を正しく書いているのに結果がおかしい場合は、セル内のデータ形式も確認しましょう。
Excelでは、見た目が数字でも文字列として入力されている場合、計算や比較が正しく行われないことがあります。
例えば、セルに「6」と表示されていても、左寄せ表示になっている場合は文字列として保存されている可能性があります。その場合は、数値へ変換することで正しい判定ができるようになります。
IFS関数で条件分岐を作るときのポイント
Excelで評価や分類を自動化するときは、まず条件を日本語で整理してから数式に変換するとミスを防げます。
例えば、「7以上なら可能、3以上7未満なら一部可、3未満なら不可」という条件なら、次のように整理できます。
- 条件1:数値が7以上
- 条件2:数値が3以上かつ7未満
- 条件3:数値が3未満
このように条件を分解してからExcelの関数にすると、複雑な判定でも正しい結果を出しやすくなります。
まとめ
ExcelのIFS関数で判定結果がおかしくなる原因の多くは、「7>D6>=3」のような数学式の書き方をそのまま使っていることです。
Excelでは複数条件を指定するとき、AND関数を使って「D6<7かつD6>=3」のように条件を分けて記述する必要があります。
また、IFS関数は上から順番に条件を確認するため、条件の順番にも注意が必要です。条件を整理してから数式を作成することで、評価表や成績表などの分類処理を正確に自動化できます。

コメント