エクセルで「3つの条件をすべて満たしたときだけ特定の値を返したい」「複数の条件のどれかに当てはまる場合に処理を変えたい」と思ったことはありませんか?
この記事では【Excel】エクセルで3つの条件を満たす値を返す(IF・IFS・AND・OR・SWITCH関数)方法について解説していきます。
ポイントは
・IF関数とAND関数を組み合わせて3つの条件をすべて満たす値を返す
・IF関数とOR関数を組み合わせて3つの条件のいずれかを満たす値を返す
・IFS関数で複数条件を順番に評価して値を返す
・SWITCH関数で特定の値に一致する条件の値を返す
です。
それでは詳しく見ていきましょう。
エクセルで3つの条件を満たす値を返す方法1【IF関数とAND関数の組み合わせ】
まずはサンプルデータを確認しましょう。
以下のような商品管理表を使って解説していきます。

1行目にヘッダーがあり、2行目以降にデータが入力されている前提で解説します。
IF関数とAND関数を組み合わせると、3つの条件をすべて満たす場合にだけ特定の値を返す処理が実現できます。
AND関数は、指定したすべての条件が「TRUE」のときにTRUEを返す関数であり、IF関数の論理式の部分にネストして使うのが基本的な使い方です。
IF関数とAND関数の基本構文
=IF(AND(条件1, 条件2, 条件3), 真の場合の値, 偽の場合の値)
AND関数の中に条件を3つ並べるだけで、すべての条件を同時に評価できます。
条件が1つでも満たされない場合は「偽の場合の値」が返される仕組みです。
実際の数式と解説
サンプルデータで「在庫数が50以上」「単価が200以下」「評価がA」という3つの条件をすべて満たす商品に「おすすめ」と表示する場合、E2セルに以下の数式を入力します。
=IF(AND(B2>=50, C2<=200, D2=”A”), “おすすめ”, “”)

数式の各部分を詳しく確認しましょう。
まず「B2>=50」は在庫数が50以上かどうかを判定する条件です。
次に「C2<=200」は単価が200以下かどうかを判定する条件です。
そして「D2=”A”」は評価がAかどうかを判定する条件です。
この3つの条件をAND関数で囲むことで、すべてが満たされた場合にのみ「おすすめ」と表示され、1つでも条件を満たさない場合は空白になります。
サンプルデータで確認すると、桜餅は在庫120・単価180・評価Aなので3条件すべてを満たし「おすすめ」が表示されます。
マシュマロは在庫200・単価150・評価Aなので同様に「おすすめ」となります。
柏餅は単価が220で200を超えているため、条件を満たさず空白になります。

【操作のポイント】
AND関数の中に入れる条件の数に上限はなく、3つ以上でも同じ形式で追記できます。
また文字列の条件は「”A”」のようにダブルクォーテーションで囲むことを忘れないようにしましょう。
エクセルで3つの条件を満たす値を返す方法2【IF関数とOR関数の組み合わせ】
AND関数が「すべての条件を満たす」場合に対応するのに対して、OR関数は「いずれか1つでも条件を満たす」場合にTRUEを返す点が大きな違いです。
3つの条件のどれか1つでも該当すれば処理を変えたい場面では、IF関数とOR関数の組み合わせが非常に便利です。
IF関数とOR関数の基本構文
=IF(OR(条件1, 条件2, 条件3), 真の場合の値, 偽の場合の値)
AND関数と書き方はほぼ同じですが、OR関数に変えるだけで「いずれか1つ」の条件判定に切り替わります。
条件をカンマで区切って並べるだけで済むため、非常にシンプルに記述できます。
実際の数式と解説
同じサンプルデータを使い、「在庫数が30以下」「単価が280以上」「評価がC」という3つの条件のどれか1つでも該当する商品に「要注意」と表示する場合、E2セルに以下の数式を入力します。
=IF(OR(B2<=30, C2>=280, D2=”C”), “要注意”, “”)

「B2<=30」は在庫数が30以下かどうかの判定です。 「C2>=280」は単価が280以上かどうかの判定です。
「D2=”C”」は評価がCかどうかの判定です。
この3つをOR関数で囲むことで、どれか1つでも当てはまる行に「要注意」が表示されます。
サンプルで確認すると、チョコは在庫30・単価300・評価Cとすべての条件に該当するため「要注意」が表示されます。
柏餅は評価がBですが在庫が45と単価が220のため条件には該当せず空白になります。
アボカドは単価が250で280未満、在庫も80以上、評価もAのため「要注意」にはなりません。
【操作のポイント】
AND関数とOR関数は組み合わせることも可能です。
たとえばIF(AND(OR(条件1,条件2),条件3),”○”,””)のように入れ子にすることで、より複雑な条件も1つの数式で表現できます。
エクセルで3つの条件を満たす値を返す方法3【IFS関数で複数条件を順番に評価】
IF関数を複数の条件で使う場合、従来はIF関数をネスト(入れ子)にして記述する必要がありました。
しかしIFS関数を使うと、複数の条件と対応する値をそのまま並べて記述でき、ネストなしで読みやすい数式が書けます。
Excel 2019以降およびMicrosoft 365で使用できる関数です。
IFS関数の基本構文
=IFS(条件1, 値1, 条件2, 値2, 条件3, 値3, …)
条件と返す値をペアで並べていきます。
IFS関数は上から順番に条件を評価し、最初にTRUEになった条件に対応する値を返します。
どの条件にも該当しない場合はエラーになるため、最後にTRUE, “その他”などを追記しておくと安全です。
実際の数式と解説
サンプルデータの評価列(D列)を元に、評価に応じたランク名をE列に表示する場合を考えます。
評価がAなら「最優良」、Bなら「優良」、Cなら「要改善」と表示するには、E2セルに以下の数式を入力します。
=IFS(D2=”A”, “最優良”, D2=”B”, “優良”, D2=”C”, “要改善”, TRUE, “対象外”)

「D2=”A”」が最初の条件で、TRUEなら「最優良」を返します。
続いて「D2=”B”」を評価し、TRUEなら「優良」を返します。
「D2=”C”」がTRUEなら「要改善」を返します。
最後の「TRUE, “対象外”」はどの条件にも該当しない場合の受け皿で、常にTRUEとなるため必ずここで処理が止まります。
サンプルデータに当てはめると、桜餅・マシュマロ・アボカドは評価Aなので「最優良」、柏餅は評価Bなので「優良」、チョコは評価Cなので「要改善」と表示されます。
IF関数のネストとの違い
従来のIF関数のネストで同じ処理を書くと以下のようになります。
=IF(D2=”A”, “最優良”, IF(D2=”B”, “優良”, IF(D2=”C”, “要改善”, “対象外”)))
条件が3つでも括弧の数が増えて読みにくくなります。
IFS関数を使うことで構造がフラットになり、条件の追加や修正も格段にしやすくなります。
条件数が多くなるほどIFS関数のメリットが大きくなるでしょう。
【操作のポイント】
IFS関数はExcel 2016以前では使用できません。
古いバージョンのExcelを使っている場合は、IF関数のネストで代替する必要があります。
また最後にTRUEを入れておくことで、想定外の値が入力されたときのエラーを防ぐことができます。
エクセルで3つの条件を満たす値を返す方法4【SWITCH関数で特定の値と一致する条件を処理】
IFS関数が「各条件を独立して評価する」のに対して、SWITCH関数は「1つの式の値を複数の候補と順番に照合する」形式をとります。
同じセルや式の値を何度も比較するケースでは、SWITCH関数の方がすっきりと書けることが多いです。
こちらもExcel 2019以降およびMicrosoft 365で使用可能です。
SWITCH関数の基本構文
=SWITCH(式, 値1, 結果1, 値2, 結果2, 値3, 結果3, …, 既定値)
最初の引数「式」に評価したいセルや計算式を指定します。
その後、「比較する値」と「一致したときに返す結果」のペアを並べます。
最後に既定値を指定すると、どの値にも一致しなかった場合にその値が返されます。
実際の数式と解説
先ほどと同様に評価(D列)に応じたランク名を返す処理をSWITCH関数で書くと以下のようになります。
=SWITCH(D2, “A”, “最優良”, “B”, “優良”, “C”, “要改善”, “対象外”)
最初の引数がD2で、これが評価対象のセルです。
「”A”, “最優良”」はD2の値がAのときに「最優良」を返すペアです。
「”B”, “優良”」はD2がBのときに「優良」を返します。
「”C”, “要改善”」はD2がCのときに「要改善」を返します。
最後の「”対象外”」はどの値にも一致しなかった場合の既定値です。
IFS関数の数式と見比べると、D2という参照が1か所だけになっており、記述が短くなっていることがわかります。
評価の種類が多くなればなるほど、この差が大きく感じられるでしょう。
SWITCH関数とIFS関数の使い分け
SWITCH関数は「同じセルの値を複数の固定値と比較する」ケースに向いています。
一方、IFS関数は「>=」「<=」などの不等号を使った範囲条件や、複数のセルを組み合わせた複雑な条件判定に向いています。
たとえば在庫数が100以上か50以上かといった数値の範囲による分岐は、SWITCH関数では記述しにくいため、その場合はIFS関数を使いましょう。
【操作のポイント】
SWITCH関数はセルの値が完全一致する場合にのみ対応しています。
部分一致やワイルドカードの比較には対応していないため、そのような条件判定にはIFS関数やIF関数を使う必要があります。
まとめ エクセルで3つの条件に合うものを返す・表示(関数・複数条件・4つ以上・IF・IFS・AND・OR・SWITCH関数)方法
エクセルで3つの条件を満たす値を返す方法をまとめると以下のとおりです。
IF関数とAND関数を組み合わせる方法では、3つの条件をすべて満たしたときだけ特定の値を返すことができます。
数式は「=IF(AND(条件1, 条件2, 条件3), 真の値, 偽の値)」という形になります。
IF関数とOR関数を組み合わせる方法では、3つの条件のいずれか1つでも満たしたときに特定の値を返すことができます。
数式は「=IF(OR(条件1, 条件2, 条件3), 真の値, 偽の値)」という形です。
IFS関数を使う方法では、複数の条件を上から順番に評価してヒットした条件に対応する値を返すことができます。
IF関数のネストに比べて記述が簡潔になるため、条件数が多い場合に特に効果的です。
SWITCH関数を使う方法では、1つのセルの値を複数の固定値と照合し、一致した場合の値を返すことができます。
同じセルを何度も比較するケースで記述がすっきりする点がメリットです。
それぞれの関数の特性を理解して、場面に応じた使い分けができるようになると、エクセルでの条件処理がより効率的になります。
不等号を使った範囲条件にはIFS関数やAND・OR関数、固定値との照合にはSWITCH関数というように、目的に合わせて選んでみてください。


コメント