1. ホーム
  2. ブログ
  3. AND・OR関数の使い方|条件を組み合わせて判定する

AND・OR関数の使い方|条件を組み合わせて判定する

この記事は 事務でよく使うExcel関数まとめ|目的から探せる一覧 の1本です。他の関数もまとめて見られます。

「10万円以上で、まだ入金されていないものだけ、先に確認したい」

条件が1つなら IF関数 で足ります。2つ以上を組み合わせた瞬間に、書き方が分からなくなって手作業に戻る。ここでつまずく人がとても多いところです。

この記事で扱う AND(アンド)OR(オア) は、複数の条件をまとめて1つの判定にする関数です。

  • AND … 条件をすべて満たしたときだけ成立(「かつ」)
  • OR … 条件のどれか1つでも満たせば成立(「または」)

この記事で使うデータ

A1
ABCD
1取引先請求額入金判定
2A社180,000 
3B社45,000 
4C社250,000 
5D社120,000 
6E社30,000 
請求管理
金額と入金状況が並んだ、ごく普通の請求一覧です。

やりたいのは「請求額が10万円以上、かつ、入金が未」の行に印を付けることです。

ANDの形

=AND(条件1, 条件2)
  1. 条件11つ目の条件。「B2>=100000」のように書く
  2. 条件22つ目の条件。カンマで区切って、いくつでも並べられる

ORも形はまったく同じです。カンマで条件を並べるだけです。

まずANDだけを書いてみる

いきなりIFと組み合わせず、ANDだけを空いているセルに入れてみてください。

D2 =AND(B2>=100000, C2="未")
ABCD
1取引先請求額入金判定
2A社180,000TRUE
3B社45,000FALSE
4C社250,000FALSE
5D社120,000TRUE
6E社30,000FALSE
請求管理
両方を満たすA社とD社だけがTRUE。片方だけのB社・C社はFALSEです。

TRUE(トゥルー)は「当てはまる」、FALSE(フォルス)は「当てはまらない」という意味です。

ORに変えると、結果がこう変わります。

A1 =OR(B2>=100000, C2="未")
ABCD
1取引先請求額入金判定
2A社180,000TRUE
3B社45,000TRUE
4C社250,000TRUE
5D社120,000TRUE
6E社30,000FALSE
請求管理
どちらか一方でも当てはまればTRUE。両方外れたE社だけがFALSEです。
!

ANDとORで迷ったら、口に出して読んでください

「10万円以上 かつ 未入金」→ AND
「10万円以上 または 未入金」→ OR

日本語の「かつ・または」がそのまま関数名に対応します。
絞り込みたいならAND、幅を広げたいならORです。

IFの中に入れて、見やすい表示にする

TRUE / FALSEのままでは資料に使えません。IFの条件の部分に、そのまま入れます。

=IF(AND(B2>=100000, C2="未"), "要確認", "")
  1. AND(...)IFの1つ目の引数(条件)の場所に、まるごと入れる
  2. "要確認"条件を満たしたときに表示する文字
  3. ""満たさないときは何も表示しない(空欄にする)
D2 =IF(AND(B2>=100000, C2="未"), "要確認", "")
ABCD
1取引先請求額入金判定
2A社180,000-要確認-
3B社45,000 
4C社250,000 
5D社120,000要確認
6E社30,000 
請求管理
印が付いた2件だけを見ればよくなります。表全体を目で追う必要がなくなりました。

300行あっても、見るべき行が一目で分かります。これがAND・ORを使う一番の目的です。

かっこでつまずかないコツ

ここが最大の関門です。かっこが合わずに「入力した数式に問題があります」と怒られる。

対策は1つだけ。いきなり全部書かず、2段階で書いてください。

  1. まずANDだけを別のセルに書いて、動くことを確認する

    =AND(B2>=100000, C2="未") と入れて、TRUE/FALSEが正しく出るか見ます。

  2. 動いたら、その式の「=」を取ってコピーする

    AND(B2>=100000, C2="未") の部分だけを選んでコピーします。

  3. IFの条件の場所に貼り付ける

    =IF(  , "要確認", "") と先に枠を書いておいて、カンマの前に貼り付けます。

  4. 確認用のセルは消す

    最後に、1で使ったセルを消せば完成です。

一度に完成形を書こうとしないでください。分けて書けば、どこが間違っているかがすぐ分かります。

!

閉じかっこの数は、開いた数と同じです

=IF(AND(B2>=100000, C2="未"), "要確認", "")

開きかっこは IF(AND(2つ。だから閉じかっこも2つ必要です。
"要確認" の前にある )ANDを閉じるかっこ、一番最後の )IFを閉じるかっこです。

数式を編集しているとき、かっこは対になる相手と同じ色で表示されます。
色が付いていないかっこがあれば、そこが余っています。

よくあるつまずき

×

英語のように「AND」を真ん中に書いてしまう

=IF(B2>=100000 AND C2="未", "要確認", "")

これはエラーになります。ExcelのANDは、条件を「中に入れる」関数です。

正しくは =IF(AND(B2>=100000, C2="未"), ...)
必ず AND( で始めて、条件をカンマで並べます。

×

範囲をまとめて渡してしまう

=AND(B2:B6>=100000)

一見「全部が10万円以上か」を判定しそうですが、思ったとおりには動きません。

ANDとORは、1行分の条件を組み合わせるための関数です。
表全体に対して使うものではありません。

1行に1つ式を書いて、下までコピーする。これが基本の使い方です。

×

文字の条件にダブルクォートを付け忘れる

=AND(B2>=100000, C2=未)

文字を条件にするときは、必ず "未" のようにダブルクォートで囲みます。
囲まないと、Excelは「未」という名前の付いた範囲を探しに行き、#NAME? が出ます。

数字(100000)には要りません。囲むのは文字だけです。

!

「10万円以上」は >= です

> だけだと、ちょうど10万円の行が外れます。

- >=100000 … 10万円を含む
- >100000 … 10万円を含まない(100,001円から)

境界のちょうどの金額が1件でもあると、結果がずれます。
どちらのつもりなのか、書く前に決めてください。

ANDとORを組み合わせる

A社かB社で、かつ未入金」のように、両方を混ぜることもできます。

=IF(AND(OR(A2="A社", A2="B社"), C2="未"), "要確認", "")
  1. OR(A2="A社", A2="B社")「A社 または B社」のまとまり
  2. AND( , C2="未")そのまとまりと「未入金」の両方を満たすか

「または」のまとまりを、かっこで1つの塊にしてからANDに渡すと考えると整理できます。

!

3段より深くしないでください

技術的にはいくらでも入れ子にできますが、後から読めなくなります。
自分でも1か月後には分かりません。

深くなりそうなら、作業列を1列足して2段階に分けるほうが確実です。
「条件1の判定」を隣の列で出しておいて、その列を使って最終判定をする。
式は短くなり、どこで間違えたかもすぐ分かります。

条件付き書式でも同じ式が使えます

文字で印を付けるかわりに、行そのものに色を付けることもできます。

  1. 色を付けたい範囲を選ぶ

    見出しを除いた、データの部分だけです。

  2. [ホーム] → [条件付き書式] → [新しいルール]

    「数式を使用して、書式設定するセルを決定」を選びます。

  3. 同じ式を入れる

    =AND($B2>=100000, $C2="未") と入力します。

  4. 色を決めて OK

    条件に合う行に色が付きます。

列名の前に $ を付けるのがポイントです($B2)。付けないと、右の列に進むにつれて参照がずれます。詳しくは 絶対参照($)の使い方 を見てください。

「条件によって表示を3つ以上に分けたい」場合

ANDやORは、答えが「当てはまる/当てはまらない」の2つのときに使います。

「大・中・小」のように結果を3つ以上に分けたいときは、別の関数の出番です。その場合は IFS関数の使い方(近日公開) を見てください。

今日やってみること

  1. 条件を2つ見ながら手作業でチェックしている表を1つ開く

    請求一覧、在庫表、進捗表など。

  2. その2つの条件を、日本語で口に出す

    「金額が大きくて、かつ、まだ済んでいない」のように。「かつ」ならAND、「または」ならORです。

  3. 空いているセルに =AND(条件1, 条件2) と入れる

    まだIFは使いません。TRUE/FALSEが正しく出るかだけ確認します。

  4. 正しく出たら、IFで包んで「要確認」と表示させる

    =IF(AND(...), "要確認", "") の形にします。

  5. 下までコピーして、印の付いた行だけを見る

    表全体を目で追う作業がなくなります。

目で2列を見比べる作業は、そのままミスの発生源です。条件を式にしてしまえば、行が増えても見落としません。

次に読むとよい記事


「毎月、2つ3つの条件を見比べながら、目で確認している」という作業は、式1つでなくなります。確認のための確認作業が積み重なっている職場は多いので、一度まとめて洗い出す価値があります。現状のヒアリングと課題整理は無料です。

#Excel#AND#OR#IF#条件判定

この記事について

SUPRAXは、林業・製造・運送の現場経験をもとに、中小企業の業務改善・AI活用・GISの支援を行っています。 記事の内容について「うちの場合はどうか」を聞きたい方は、無料相談をご利用ください。

無料で相談してみる

あわせて読みたい

COUNTIFS関数の使い方|条件に合う件数を数える

「未処理が今どれだけ残っているか」を確認するとき、フィルタをかけて、画面右下の件数を見て、またフィルタを外して……という作業をしていませんか。 担当者ご…

COUNTA関数の使い方|入力済みの件数を数える

「提出したのは何人?」「何件まで入力できた?」 数えるだけの作業なのに、毎回画面を下までスクロールして目で追っている。行が増えるたびにやり直しになり、数…

記事一覧へ戻る