AND関数の使い方|複数の条件がすべて成立するか判定

Excel(エクセル)AND関数の使い方
Excelの一覧

Excel(エクセル)AND関数の使い方|複数の条件がすべて成立するか判定

AND関数について、その使い方を初心者にも分かりやすく解説しています。AND関数で3つ以上の条件を指定する引数の指定方法、IF関数と組み合わせて結果の文字列を自由な表示にする方法、AND関数とOR関数の違い、AND関数とOR関数を併用する方法、条件付き書式でAND関数を使う方法、COUNTIFとAND関数を組み合わせて使う方法など。

使用関数:AND、OR、IF

AND(アンド)関数とは?

論理式のAND条件を関数で実装できます。満たすべき条件を比較演算子(等号=・不等号<>)を使って指定します。指定した複数の条件がすべて満たされているか、その判定を論理値「TRUE(肯定・条件は満たされている)」または「FALSE(否定・条件は満たされていない)」で返します。IF関数と組み合わせれば、判定結果を文字列で自由にカスタマイズすることができます。

AND関数の論理式に使う「以上・以下・未満」などを示す等号=・不等号の表記一覧

  • = イコール。等しい。一致する
    【表記例】=70
  • <> 異なる。一致しない
    【表記例】<>70
  • > 大きい。一致を含まない
    【表記例】 >70
  • < 小さい。未満。一致を含まない
    【表記例】 <70
  • >= 以上。一致を含む
    【表記例】 >=70
  • <= 以下。一致を含む
    【表記例】 <=70

日付を比較演算子(等号=、不等号)で指定する例

  • > 古い日付。一致を含まない
    【表記例】 B2>”2022/5/1″
  • < 新しい日付。未満。一致を含まない
    【表記例】 B2<“2022/5/1”
  • >= 古い日付。一致を含む
    【表記例】 B2>=”2022/5/1″
  • <= 新しい日付。一致を含む
    【表記例】 B2<=”2022/5/1″

文字列を比較演算子(等号=、不等号)で指定する例

  • = イコール。等しい。一致する
    【表記例】B2=”合格”
  • <> 異なる。一致しない
    【表記例】B2<>”合格”

AND関数の引数と書式

「数式」タブ「関数ライブラリ」→「論理」→ ANDをクリックします。
「関数ライブラリ」→「論理」→ AND
AND関数の引数は「論理式1」が必須で、「論理式2」~「論理式255」まで指定可能です。

AND関数の書式の構成はこうなります。
AND関数の書式の構成

AND関数を単体で使う|3つ以上の条件を指定して判定

IF関数など他の関数と組み合わせることの多いAND関数ですが、基本の仕組みを知るという意味で、単体で使ってみましょう。

英語・数学・国語の点数表があります。3教科ともに「70点以上」という3つの条件をAND関数の引数に指定します。
AND関数で複数の条件を指定する点数表

第一引数「論理式1」の指定

「論理式」は前述したように比較演算子「等号=」「不等号<>」を用いて組み立てます。

この例では、「各科目70点以上」の最初のセルを選択してAND関数の引数ダイアログボックスを開き、「論理式1」に「英語」の点数のセルをクリックして「B2」を入力、続けて「>=70」と入力します。B2>=70」は「B2セルにある英語の点数が70点以上なら」という論理式です。
AND関数の引数「論理式1」にB2>=70と入力

第二引数「論理式2」の指定

「論理式2」には数学の点数が入ったC2セルをクリックし、続けて「>=70」と入力します。C2>=70」は「C2セルにある数学の点数が70点以上なら」という論理式です。
AND関数の引数「論理式2」にC2>=70と入力

第三引数「論理式3」の指定

「論理式1」「論理式2」と同様に、国語の点数のセルに比較演算子をつなげて「D2>=70」と入力します。「D2セルにある国語の点数が70点以上なら」という3つ目の条件です。
AND関数の引数「論理式3」にD2>=70と入力

3条件を指定したAND関数の数式は以下のようになります。
=AND(B2>=70,C2>=70,D2>=70)

AND関数の引数「論理式2」以降は任意ですが、「論理式255」まで指定できます。科目の条件が4つ以上でもこの作業を繰り返せばいいわけです。

AND関数で3つの条件を満たすかどうかの判定が「TRUE」と「FALSE」で返りました。
AND関数で3つの条件を満たすかどうかの判定

IF関数にAND関数をネストして判定を特定の文字列で表示

前章ではAND関数を単体で使って判定結果を取得しましたが、TRUEとFALSEの結果表示では分かりやすいデータとは言えません。多くの場合、IF関数にネストして、一目で判定結果が見て取れるようにします。

IF関数の引数「論理式」に前章で組み立てたAND関数「AND(B2>=70,C2>=70,D2>=70」をネストし、「真の場合」「偽の場合」にそれぞれ好きな文字列を指定します。文字列は「“”」で括る必要がありますが、入力後にTabキーを押して確定させれば「””」は自動で入ります。
ここでは「真の場合」は「合格」、「偽の場合」は空白になるよう指定しました。
IF関数にAND関数をネストしたダイアログの指定

データの最後までオートフィルコピーすれば、AND関数の判定結果がIF関数に指定した文字列で表示されます。
AND関数の判定結果がIF関数に指定した文字列で表示された

最終的な数式 =IF(AND(B2>=70,C2>=70,D2>=70),“合格”,“”)

IF関数の使い方は以下の記事に詳細にまとめてあります

https://www.tschoolbank.com/tb-articles/excel-function-if/

AND関数とOR関数の違い

AND関数と対で説明されることの多いOR関数ですが、両者の違いが今一つ分からないという反応も多いので、説明しておきます。

AND関数に指定した条件は「すべて満たされる必要」があります。AND条件を説明する時に「~かつ、~かつ・・・」という言葉が必ず使われますが、この「かつ」がANDに相当する日本語です。
「英語の点数が70点以上(論理式1)」「かつ(AND)」「数学の点数が70点以上(論理式2)」は、「英語も数学も両方70点以上」という条件になります。どちらかが65点なら判定は「FALSE(✕)」ということです。

一方、OR関数に指定した条件は「いずれかが満たされていればOK」です。OR条件を説明する時には「~、または~、または・・・」という言葉が使われますが、この「または」がORに相当する日本語です。
「英語の点数が70点以上(論理式1)」「または(OR)」「数学の点数が70点以上(論理式2)」は、「英語か数学どちらか一つが70点以上」という条件になります。数学が65点でも英語が75点なら判定は「TRUE(◯)」ということです。

以下はAND関数とOR関数の判定結果の違いを図にしたものです。
AND関数とOR関数の判定結果の違い

AND関数とOR関数を組み合わせた使い方

AND関数とOR関数を併用して複数条件を指定する使い方があります。
IF関数の論理式に「条件1と条件2の両方が満たされたら」というAND関数をネストし、「真の場合」には判定結果を表示させる文字列を指定、「偽の場合」にはもう一つIF関数をネストして、その論理式に「条件3か、または条件4のどちらかが満たされたら」というOR関数をネストします。この方法でAND条件とOR条件を併用した複雑な条件指定が可能になります。

AND関数とOR関数を併用してランク判定する使い方は以下の記事で解説しています

IF関数ネスト(AND関数・OR関数)で複数条件を設定してランク判定
二つ以上の条件からランクを判定して表示させてみましょう。IF関数にネストするのはAND関数とOR関数。もしもこれとこれが合ってればこのランク、これかこれが合ってればこのランクという仕様です。

AND関数を条件付き書式に使う

条件付き書式で数式にAND関数、OR関数を指定して、IF関数にネストしたのと同様の結果を得る方法もあります。

条件付き書式にAND関数とOR関数を使う方法を以下の記事で解説しています

手軽で確実!複数の条件付き書式をルールの管理で設定
条件付き書式は様々な場面で大変に役立つ機能の一つです。セル範囲に二つ以上の条件付き書式を適用させたいなら、「ルールの管理」から設定するのが一番手軽で分かりやすく、間違いのない方法でしょう。

AND関数とCOUNTIF関数の組み合わせを条件付き書式に指定して特定文字列のセルに色を付ける

条件付き書式にはワイルドカードが使えないので、COUNTIFで特定の文字列を抽出して書式を付ける方法があります。一つの条件では抽出しきれない場合にAND関数を組み合わせて複数条件で文字列を絞り込みます。
特定の文字列のあるセルや行全体に色を着けたい、フォントの太さや文字色を変えたいという時に便利な実装方法です。

条件付き書式にAND関数とCOUNTIF関数を使う方法を以下の記事で解説しています

条件付き書式で部分的な文字列が一致する「行」全体に色を付ける
文字列の特定の部分が一致するという条件で、行全体に書式を設定。COUNTIF、AND関数使用
AND関数の使い方 まとめ
  • AND関数は満たすべき条件を比較演算子を使って複数並べ、その判定を論理値「TRUE」か「FALSE」で返します
  • AND関数は指定した複数の条件をすべて満たした場合にだけTRUEを返します
  • 多くの場合、AND関数はIF関数にネストして判定結果を文字列で表示させます
  • AND関数とOR関数を併用して条件指定することもできます
  • AND関数はOR関数やCOUNTIF関数と組み合わせて条件付き書式でよく使われます
タイトルとURLをコピーしました