Excel中級者

[Excel]IF関数で(AかつB)=AND関数の使い方

しんたろ。
本記事はこんな方にオススメ
  • IF関数で「2つ以上(複数)の条件の『どれも満たせば』OK判定」のやり方がわからない方

 例えば、「国語90点以上」、「数学50点以上」の2つ条件を両方満たせば【合格】などと複数の条件のどちらにも一致しているか判定する方法を解説した記事になります。

「AND関数」を使いこなすと、IF関数を組む際に圧倒的に楽に複数条件を組むことができるのでオススメです。

 実際に私も「AND関数」を知るまでは

  • IF関数にIF関数をネストして、とても長い数式を作ってしまっていた。

IFをしてIFをしてIFをして・・・数式バーには長く管理もしにくい状態が・・・。

非常に効率もメンテナンスもしにくい環境を作っていました。

しんたろ。

もっと早くAND関数を知っておけばよかった・・・と思います。

 記事の前半では「AND関数」の使い方を解説、後半では「AND関数」を実際につかった作業方法事例

 また参考として「条件付き書式」での使用方法や、「AND関数」を使わない方法など解説するので是非じっくり読み込んでくださいね!

AND関数の解説

AND関数は論理関数になります。日本語にすると「尚且つ」を意味します。

AND関数の書式

=AND(論理式1,論理式2,論理式3,・・・論理式255)

引数は最大255個まで指定可能です。

複雑になった数式は、後々見直しやメンテナンスが非常に手間がかかるため、たくさん使用することをオススメしません。

上記の例では、E5セルに入力した「AND関数」は

  • B5セル(結果1)=TRUE
  • C5セル(結果2)=TRUE
  • D5セル(結果3)=TRUE

全て「TRUE」なので判定を「TRUE」を返します。

一方、E6セルに入力したAND関数は

  • B6セル(結果1)=FALSE
  • C6セル(結果2)=FALSE
  • D6セル(結果3)=TRUE

3つの条件のうち2つが「FALSE」となっているため、「FALSE」を返します。

しんたろ。

条件が「すべて」満たしているかがポイントになります。

 実際に「AND関数」を使用する際は、「IF関数」と組み合わせて使うことが多いです。 

簡単に、「IF関数」について触れておきます。

IF関数の解説

IF関数は、論理式の結果(真または偽)に応じて、指定した値を返します。

IF関数の書式

=IF(論理式,値が真の場合,[値が偽の場合])

引数については、下記の記事で詳しく解説していますのでご参照ください。

>>IF関数の使い方|論理式の条件内容で結果を変更する方法

AND関数を使ったIF関数で全ての条件を満たしているか判定する方法

例)全てのテスト結果が70点以上だったら「合格」と判定

完成形。E列にテストの合否判定を表示させることがゴールです。

①IF関数からスタート

「E2セル」に『=IF(』と入力します。

②AND関数の論理式1に1科目目の数学を入力

  1. まずIF関数の引数1に、AND関数をネスト。
  2. 数学の点数「B2セル」が70点以上か判定。
  3. 「=IF(」に続いて『AND(B2>=$G$2』と入力。
  4. G2セルには合格ラインの70点が入力されている。

またG2セルを選択する際に「$」で囲まれていますが、「$」を付けて参照することを「絶対参照」と言い、参照位置を変えずにコピペできます。

参照」については別記事で詳しく解説していますのでご参照ください。

>>参照形式を理解して10倍作業効率を上げる方法

しんたろ。

文中に「ネスト」と出てきましたが、関数に関数を入れ込むことを指します。「入れ子」とも言います。

③AND関数の論理式2に国語、論理式3に英語を入力

先ほどと同様に国語の点数「C2セル」、英語の点数「D2セル」を入れ子していきます。「=IF(AND(B2>=$G$2,」のあとに「C2>=$G$2,D2>=$G$2」と入力します。

④IF関数の「真の場合」を入力

数学の点数「B2セル」、国語の点数「C2セル」、英語の点数「D2セル」がすべて70点以上の場合「合格と表示させます。

「=IF(AND(B2>=$G$2,C2>=$G$2,D2>=$G$2),」に続いて『”合格”』と入力します。

しんたろ。

「合格」は文字列なので「”」(ダブルクォーテーション)で括ってあげましょう。

⑤IF関数の「偽の場合」を入力

数学の点数「B2セル」、国語の点数「C2セル」、英語の点数「D2セル」において、いずれかが70点未満の場合「E2セル」に不合格と表示させます。

「=IF(AND(B2>=$G$2,C2>=$G$2,D2>=$G$2),”合格”,」のあとに『”不合格”)』と入力をして【Enter】キーを押します。

【Ctrl + C】 → 【Ctrl + V】でコピペする

「=IF(AND(B2>=$G$2,C2>=$G$2,D2>=$G$2),”合格”,”不合格”)」を入力した「E2セル」を【Ctrl + C】でコピーして「E3セル:E5セル」に【Ctrl + V】でペーストします。

【$】で絶対参照しているため、合格ラインの70点「G2セル」の参照位置が変わることはありません。

オートフィルでコピーすることも可能

関数を入力した「E2セル」の右下にある「■」にマウスポインターを合わせると「十字アイコン」に変わります。

「十字アイコン」になったら反映させたいセルまで【ドラッグ】します。

⑥結果

数学、国語、英語のすべてにおいて70点以上「鈴木さん」「吉田さん」のみ『合格という結果を表示することができました。

条件内容が同じだった場合、「配列数式」がオススメ

一方で、上の例のように「すべての科目で70点以上」のように、『条件値がどれも同じ』であればもっと簡単に結果を出すことができます。

①論理式の書き方

AND関数+配列数式

=IF(AND(論理式),値が真の場合,[値が偽の場合])

配列とは、「複数のセルの集まり」になります。

配列数式とは、複数セルを対象に1つの数式を作成する式です。

  • 全て同じ行数/列数である必要がある。
  • 1つ1つのセルを対象に計算するしかないといった場合に大活躍。

配列数式は、論理式で「判定したい範囲」を指定することが大切です。

「{}」で数式が囲われていますが、これが配列数式になります。

文字の説明だけではわかりにくいので、実際に画像で解説していきます。

②数式の作り方

先ほどと同じ例で進めていきます。

先ほどは「AND関数」に各科目を1つずつ入力していきましたが、配列数式の場合は「範囲指定」でできます。

「=IF(AND(B2:D2>=$G$2),”合格”,”不合格”)」と入力します。

③【shift】 キー + 【Ctrl】キーを押しながら【Enter】キーを押す

「E2セル」に「=IF(AND(B2:D2>=$G$2),”合格”,”不合格”)」を入力した後に【shift】 キー + 【Ctrl】キーを押しながら【Enter】キーを押します。

すると、数式の両サイドに「{}」が付きます。これで完成です。

しんたろ。

間違っても「{}」は手入力しないでね!配列数式にならないので

事例①:「AかつB」の時はC、「DかつE」の時はFと出力

事例では、実際に実務で使う関数の組み方を紹介します。

事例①の数式

=IF(AND(A2=”A”,B2=”B”),”C”,IF(AND(A2=”D”,B2=”E”),”F”,””))

「A2セル」が『A』であり尚且つ「B2セル」が『B』である場合、「C2セル」に『C』と表示。一致しない場合、「A1セル」が『D』であり尚且つ「B1セル」が『E』である場合は『F』と表示。それ以外は『すべて空白表示とする』

しんたろ。

「”」ダブルクォーテーションで囲うと『空白』にできるので覚えておくと便利!

事例②:「A =1かつB=0」ならば、B列の中から「A =1かつB=0」の条件にあった『B=0』の個数を数える。

事例②の数式

=IF(AND(A2=1,B2=0),COUNTIFS($A$2:$A$6,1,$B$2:$B$6,0))

もし「A2セル」=1なおかつ「B2」=0の場合、「A列セル」=1なおかつ「B列セル」=0の条件と一致する数を数える。

参考:「条件付き書式」でAND関数・OR関数・NOT関数を使用する考え方

ここでは論理式「AND関数」をはじめ、OR関数・NOT関数を使用した数式オプションで条件付き書式条件の設定を解説します。

条件付き書式設定時は、IF関数を省略して「AND」「OR」「NOT」関数を単独で使用することができます。

  1. [ホーム]タブで[条件付き書式]をクリック。
  2. [新しいルール]をクリック。
  3. [数式を使用して、書式設定するセルを決定]オプションを選ぶ。
  4. 数式を入力し、書式を選択して適用する。
[書式ルールの編集]の数式バーに入る数式をD列に示しています。書く結果をA列に返しています。
数式解説
=A2=B2A2セルとB2セルが同じ値の時、セルを書式設定。それ以外は何もしない。
=AND(A3>B3,A3A3セルがB3セルより大きく、A3セルがC3セルより小さい場合はセルを書式設定。
それ以外は何もしない。
=OR(A4>B4,A4A4セルがB4セルよりも大きいか、A4セルがC4セルより小さい場合はセルを書式設定。
それ以外は何もしない。
=NOT(A5<>4)A5セルと数値の4が一致する場合、セルの書式設定。それ以外は何もしない。

補足:条件付き書式を活用するとスケジュール管理表が作成できる。

条件付き書式の使い方がわかるようになると、進捗表やカレンダーを作成した際に、日付を更新するだけで土曜日・日曜日の背景をハッチングできるようになります。

上図の条件付き書式に入力する関数

=OR(WEEKDAY(D$6)=1,WEEKDAY(D$6)=7)

OR関数(〜または)にネストで「WEEKDAY関数」を使います。

WEEKDAY関数は、「1〜7」の数字に応じて「日〜土」までを出力してくれます。

スケジュール管理表を詳しく解説している記事がありますので併せてご参照ください。

>>月間シフト表やカレンダーの日付を自動で更新する方法

こちらは「ガントチャート」作成記事です。

ガントチャートという単語は、あまり聞き慣ればいかもしれませんが「進捗を管理する」という点においては欠かせないツールです。

>>ガントチャートを作成してスケジュール進捗を可視化する方法

しんたろ。

条件付き書式を扱えるようになると、可視化できるので共有しやすくなります!

まとめ

本記事はこんな方にオススメ
  • IF関数で「2つ以上(複数)の条件の『どれも満たせば』OK判定」のやり方がわからない方
AND関数の書式

=AND(論理式1,論理式2,論理式3,・・・論理式255)

全会社員を残業地獄から救いたい
本ブログの有効活用方法
1
Concept
初心者に分かりやすい解説

しんたろ。ブログでは「少しでも残業を減らしたい」「時間効率を上げて新しいことにチャレンジしたい」「仕事で評価を上げて年収を上げたい」そんなあなたに向けて私が学んできたノウハウを最短ルートで教えるExcelブログとなっています。

覚えておくべき関数や操作方法を徹底解説!

2
Concept
Excelを最短で
習得する方法を解説

「独学で習得できる気がしない」そんな方に効率よく習得できる記事を書きました。

本や動画を紹介していますが、やはり一番効率の良い習得方法は、講師にわからないことを質問できる『オンラインスクール』です。

3
Concept
Excelが大活躍!
会社員でも不就労所得を作れる。

「会社の収入だけでは不安」そう思い出会った副業がブログでした。書いた記事たちが、あなたが寝ている間もずっと働いてくれます。『不就労』の完成です。

記事を書く際の様々な分析にExcelがとても役立ちます。私は2023年末までにブログで脱サラする予定です!

あなたもブログで脱サラしましょう。

お問い合わせ

Contact

問い合わせより直接相談していたくと
無料で相談にのりますよ♪

お気軽にご相談ください♪


ABOUT ME
しんたろ。
しんたろ。
脱サラ目指す会社員
デスクワークに追われ、仕事が極端に遅かった私がExcelを学んだら会社から評価され残業も大幅削減を実現!早期FIREするための副業もしています。 あなたの人生も好転させたい!ぜひ本ブログをご活用ください。
記事URLをコピーしました