excel

【Excel】エクセルの複数条件IF関数の使い方(AND・OR・条件分岐)

エクセルで複数条件IF関数を作成する方法【AND関数の組み合わせ】 - AND関数を入れた基本数式
当サイトでは記事内に広告を含みます

Excelで評価、在庫、申請状況、売上判定などを管理していると、ひとつの条件だけでは結果を決められない場面が出てきます。

たとえば、点数と出席率の両方を満たした人だけを合格にしたい場合や、複数の部署のどれかに該当すれば対象にしたい場合には、IF関数へAND関数またはOR関数を組み合わせる方法が役立ちます。

複数条件の数式は一見複雑に見えますが、条件を順番に分けて考えると作りやすくなります。

すべての条件を満たす判定にはAND関数を使います。

いずれかの条件を満たす判定にはOR関数を使います。

複数の結果を返す条件分岐には、IF関数を重ねて使います。

この記事では、1行目に見出しがある表を例にしながら、エクセルの複数条件IF関数を実務で使いやすい形で解説していきます。

数式を入力した後は、先頭セルのフィルハンドルを下方向へドラッグしてオートフィルを使うと、各行へ効率よくコピーできます。

 

エクセルで複数条件IF関数を作成する方法【AND関数の組み合わせ】

それではまず、複数条件を満たす場合だけ結果を表示するAND関数とIF関数の組み合わせについて解説していきます。

氏名 点数 出席率 判定
田中 82 92% 合格
佐藤 76 88% 不合格

 

AND関数を入れた基本数式

点数が80点以上で、かつ出席率が90パーセント以上の人を合格にする場合、D2セルには次の数式を入力します。

=IF(AND(B2>=80,C2>=90%),”合格”,”不合格”)

IF関数は条件が成り立つときと成り立たないときで、別々の文字列や計算結果を返す関数です。

この数式ではAND(B2>=80,C2>=90%)が条件部分にあたり、B2とC2の判定がどちらも真であるときだけ合格と表示されます。

AND関数の結果は、すべての条件が真ならTRUE、ひとつでも偽ならFALSEです。

エクセルで複数条件IF関数を作成する方法【AND関数の組み合わせ】 - AND関数を入れた基本数式

点数が82点でも出席率が88パーセントなら、条件の一部を満たしていないため不合格になります。

数式内のカンマは条件や表示する結果を区切る役割を持つため、括弧の位置と合わせて確認しましょう。

 

セル参照と条件式の読み方

数式を正しく作るには、セル番地と比較演算子の意味を分けて読むことが大切です。

B2>=80はB2セルの値が80以上であるかを調べる式であり、C2>=90%はC2セルの割合が90パーセント以上であるかを調べる式です。

Excelでは90%と0.9は同じ値として扱われるため、表示形式がパーセンテージのセルなら90%と書くと理解しやすくなります。

文字列を表示する場合は、合格や不合格を半角の二重引用符で囲みます。

エクセルで複数条件IF関数を作成する方法【AND関数の組み合わせ】 - セル参照と条件式の読み方

条件を変更したいときは、80や90%の部分だけを置き換えればよいため、合格基準が変わった場合にも対応しやすい構成です。

なお、数値が文字列として入力されていると比較結果が想定と異なることがあるため、対象セルの表示とデータ形式も確認してください。

 

オートフィルによる数式のコピー

D2セルへ数式を入力したら、セル右下に表示される小さな四角形であるフィルハンドルを使って下の行へコピーします。

通常の相対参照では、D2の数式をD3へコピーするとB2とC2は自動的にB3とC3へ変わります。

この仕組みにより、各行の点数と出席率を個別に判定できます。

判定基準を別セルに置く場合は、基準セルを固定する絶対参照も便利です。

たとえばF1に80、G1に90%を入力した場合は、=IF(AND(B2>=$F$1,C2>=$G$1),”合格”,”不合格”)と入力します。

ドル記号を付けた$F$1と$G$1は、オートフィルをしても参照先が動かない固定セルです。

【操作のポイント】最初のデータ行だけに数式を完成させ、結果を確認してからオートフィルを行うと入力ミスを見つけやすくなります。

 

エクセルでOR条件を判定する方法【OR関数の組み合わせ】

続いては、複数の条件のうちどれかひとつでも満たせば結果を返すOR関数について確認していきます。

氏名 営業部売上 新規契約数 達成判定
鈴木 560000 3 達成
高橋 420000 1 未達成

 

OR関数を使った達成判定

売上が50万円以上、または新規契約数が3件以上なら達成とする場合、D2セルへ次の数式を入力します。

=IF(OR(B2>=500000,C2>=3),”達成”,”未達成”)

OR関数では、B2の売上条件とC2の契約数条件のうち、どちらか一方でも満たせばTRUEになります。

OR関数は条件がひとつでも真ならTRUEになる点がAND関数との大きな違いです。

エクセルでOR条件を判定する方法【OR関数の組み合わせ】 - OR関数を使った達成判定

鈴木さんは売上条件と契約数条件の両方を満たしていますが、どちらか片方だけでも達成と表示されます。

複数の評価ルートがあるキャンペーン、割引判定、対象者抽出などで活用しやすい方法です。

 

文字列を使うOR条件

数値だけでなく、部署名や地域名などの文字列もOR関数で判定できます。

たとえばA2セルが営業部または企画部なら対象と表示する数式は、=IF(OR(A2=”営業部”,A2=”企画部”),”対象”,”対象外”)です。

文字列の比較では、判定する語句も二重引用符で囲む必要があります。

全角と半角、余分なスペース、表記ゆれがあると一致しないため、部署名を入力規則のリストから選ぶ運用も有効です。

エクセルでOR条件を判定する方法【OR関数の組み合わせ】 - 文字列を使うOR条件

対象となる部署が増える場合はOR関数の中へ条件を追加できますが、条件数が多い表では別表を参照する方法も検討しましょう。

入力値を統一しておくことが、正確な条件判定につながります。

 

AND関数とOR関数を混在させる考え方

実務では、複数の条件をすべて満たし、さらに別の条件のどちらかを満たすという判定もあります。

たとえば、売上が30万円以上で、かつ営業部または企画部に所属する人を対象にする場合は、ANDの中にORを入れます。

=IF(AND(B2>=300000,OR(C2=”営業部”,C2=”企画部”)),”対象”,”対象外”)

外側のAND関数は売上条件と部署条件グループの両方を確認し、内側のOR関数は二つの部署のどちらかを確認します。

複雑な数式ほど、先に日本語で条件を書き出してから括弧を作ると理解しやすくなります。

【操作のポイント】ANDとORを混在させるときは、どの条件をひとまとまりにするかを先に決め、内側の関数から入力しましょう。

 

IF関数を重ねる条件分岐の作り方【ネストとIFS関数】

続いては、点数に応じて評価を複数段階に分ける条件分岐の作り方を確認していきます。

氏名 点数 評価
伊藤 93 A
渡辺 74 C

 

IF関数を入れ子にした評価式

90点以上をA、80点以上をB、70点以上をC、それ以外をDと表示する場合は、C2セルに次の式を入力します。

=IF(B2>=90,”A”,IF(B2>=80,”B”,IF(B2>=70,”C”,”D”)))

最初に90点以上かを判定し、該当しなければ次に80点以上かを判定する流れです。

条件分岐では高い基準から順に判定することが重要です。

70点以上という条件を最初に置くと、90点の人も70点以上と判定されてしまい、A評価へ進めません。

IF関数を重ねる方法は古いExcelバージョンでも使いやすく、基本として覚えておくと便利です。

 

IFS関数による条件分岐

Microsoft 365や比較的新しいExcelでは、IFS関数を利用すると複数の条件分岐を読みやすく記述できます。

=IFS(B2>=90,”A”,B2>=80,”B”,B2>=70,”C”,TRUE,”D”)

IFS関数は、条件と結果を順番に並べ、最初にTRUEとなった条件の結果を返します。

最後のTRUE,”D”は、それまでの条件に当てはまらない場合の受け皿です。

IFS関数でも条件は高い基準から低い基準へ並べます。

ただし、互換性を優先する共有ファイルでは、利用者のExcelバージョンを確認してIF関数の入れ子を選ぶ判断も必要です。

評価一覧.xlsx – Excel − □ ×
ファイル ホーム 挿入 ページ レイアウト 数式 データ 校閲 表示
BI罫線中央揃えΣ オートSUM➤
fx=IFS(B2>=90,”A”,B2>=80,”B”,B2>=70,”C”,TRUE,”D”)
A B C D
1 氏名 点数 評価
2 伊藤 93 A
3 渡辺 74
C2へ数式を入力後、下へオートフィル

 

空白セルとエラーを考慮した分岐

未入力の行まで評価が表示されるのを避けたい場合は、最初に空白判定を加えます。

=IF(B2=””,””,IFS(B2>=90,”A”,B2>=80,”B”,B2>=70,”C”,TRUE,”D”))

この式ではB2が空白なら空白を返し、点数が入力されている場合だけ評価を表示します。

空白を表すには二重引用符を続けた””を使います。

参照元にエラー値が含まれる可能性がある表では、IFERROR関数を組み合わせてエラー表示を整える方法もあります。

ただし、エラーを隠す前に、元データに何の問題があるかを確認する姿勢が大切です。

【操作のポイント】条件分岐は上から順番に判定されます。境界値を含めるかどうかを決め、80以上のように比較演算子を統一しましょう。

 

複数条件IF関数で使う比較演算子と文字列判定

続いては、条件式を作るうえで欠かせない比較演算子と文字列判定の考え方を解説していきます。

演算子 意味 条件式の例
>= 以上 B2>=80
<> 等しくない C2<>””

 

数値を比べる比較演算子

IF関数の条件には、以上、以下、等しい、等しくないといった比較演算子を使えます。

80点以上はB2>=80、80点より大きいはB2>80、80点以下はB2<=80と入力します。

以上とより大きいでは境界値の扱いが異なるため、評価基準に80点を含めるのかを事前に確認しましょう。

日付もExcel内部では数値として管理されているため、日付セルを基準日と比較することができます。

金額や個数を比較する場合は、見た目の桁区切りや通貨記号ではなく、セルに保存された数値で判定されます。

 

文字列と空白を判定する方法

文字列が特定の語句と等しいかを判定するときは、=IF(A2=”完了”,”処理済み”,”確認中”)のように入力します。

空白ではないことを調べる場合は、A2<>””という条件式が使えます。

=IF(AND(A2<>””,B2>=100),”入力済み”,”確認”)

この式は、A2に値があり、かつB2が100以上のときに入力済みと表示します。

空白セルを先に確認すると、未入力データを誤って対象にすることを防げます。

文字列の前後にスペースが混じるデータでは、TRIM関数で余分な空白を除去してから判定する方法もあります。

 

日付と期限を判定する数式

納期管理では、今日の日付と期限日を比較して状態を表示すると便利です。

期限日がC2セルにあり、今日より前なら期限超過、今日なら本日期限、それ以外なら期限内と表示する例を見てみましょう。

=IF(C2<TODAY(),”期限超過”,IF(C2=TODAY(),”本日期限”,”期限内”))

TODAY関数はファイルを再計算した時点の日付を返すため、日ごとの進捗確認に向いています。

時刻まで含めて判定する必要がある場合はNOW関数を使いますが、日付だけで比較したいケースではTODAY関数の方が扱いやすいでしょう。

【操作のポイント】数値、文字列、日付では条件式の書き方が少し異なります。まず対象セルのデータ形式を確認してから数式を作成しましょう。

 

複数条件IF関数で起こりやすいエラーと修正方法

続いては、数式が正しく動かないときに確認したい代表的な原因と修正方法を解説していきます。

表示 主な原因 確認内容
数式がそのまま表示 文字列形式 先頭のアポストロフィ
FALSE 条件不足 ANDとORの選択

 

括弧とカンマの入力ミス

IF関数とAND関数を組み合わせると、開き括弧と閉じ括弧が増えるため、入力途中で対応関係が崩れやすくなります。

Excelでは数式入力中に対応する括弧が色分けされるため、数式バーを見ながらひと組ずつ確認してください。

IF関数は条件、真の場合、偽の場合の順に三つの要素を指定します。

AND関数やOR関数はIF関数の条件部分へ入れるという位置関係を押さえると、構文を整理しやすくなります。

数式が長くなった場合は、いったん別セルで各条件だけを試し、TRUEまたはFALSEが期待どおりになるか確認する方法が有効です。

 

ANDとORを取り違えた場合

二つの条件を満たす必要があるのにOR関数を使うと、どちらか片方を満たしただけで対象になります。

反対に、どちらかでよい条件にAND関数を使うと、両方を満たすデータしか抽出できません。

条件式を作る前に、文章の中の「かつ」はAND、「または」はORとして置き換えると判断しやすくなります。

売上が50万円以上かつ契約3件以上ならAND、売上が50万円以上または契約3件以上ならORです。

判定結果が多すぎる、または少なすぎる場合は、まずANDとORの選択を見直しましょう。

 

参照セルとデータ形式の不一致

オートフィル後の結果が途中からおかしい場合は、固定すべき基準セルが相対参照のままになっている可能性があります。

基準値セルには$を付け、$F$1のような絶対参照に変更します。

また、数字に見える値が文字列として保存されていると、数値比較が意図どおりに動かない場合があります。

セル左上の緑色の三角や左寄せ表示は、数値が文字列になっている手がかりです。

エラー表示を消すことだけを目的にせず、参照先、入力値、表示形式を順番に確認することが確実な修正につながります。

【操作のポイント】数式が期待と違う結果を返したら、条件をひとつずつ別セルで試し、TRUEとFALSEの判定から確認しましょう。

 

まとめ エクセルの複数条件IF関数の使い方

エクセルの複数条件IF関数では、すべての条件を満たす判定にAND関数、いずれかの条件を満たす判定にOR関数を使います。

IF関数の条件部分へAND関数またはOR関数を入れると、点数、売上、部署、日付などを組み合わせた判定が可能になります。

複数段階の評価やステータス表示には、IF関数を入れ子にする方法、またはIFS関数を使う方法が便利です。

条件分岐では高い基準から順番に並べ、空白セルやエラー値がある表では、その扱いも数式に組み込むと実務で使いやすくなります。

最初は複雑に感じても、条件を日本語で整理し、各条件を個別に確認すれば作成しやすくなるでしょう。

AND、OR、IFの役割を使い分けて、正確で見やすいExcelの集計表を作っていきましょう。