【「aかつb」制覇!】ExcelのAND関数・IF関数テクニック
IF関数で「2つ以上(複数)の条件の『どれも満たせば』OK判定」のやり方がわからない方
例えば、「国語90点以上」、「数学50点以上」の2つ条件を両方満たせば【合格】などと複数の条件のどちらにも一致しているか判定する方法を解説した記事になります。
「AND関数」を使いこなすと、IF関数を組む際に圧倒的に楽に複数条件を組むことができるのでオススメです。
実際に私も「AND関数」を知るまでは
IF関数にIF関数をネストして、とても長い数式を作ってしまっていた。
IFをしてIFをしてIFをして・・・数式バーには長く管理もしにくい状態が・・・。
非常に効率もメンテナンスもしにくい環境を作っていました。
もっと早くAND関数を知っておけばよかった・・・と思います。
記事の前半では「AND関数」の使い方を解説、後半では「AND関数」を実際につかった作業方法や事例。
また参考として「条件付き書式」での使用方法や、「AND関数」を使わない方法など解説するので是非じっくり読み込んでくださいね!
LINEでExcelを気軽に学べる
□2016年
海外拠点において、Excelでの業務改善による納期遵守率50%→100%達成。
□2018年
自動化を促進させ、自身の残業時間を年間240時間削減成功。
□2023年
├ブログとTwitter開始
├Excel無料相談会→即日満席
└ChatGPT×Googleスプレットシート配布で1週間で35万インプ達成
仕事ができなくて毎日上司に叱責されていた私がExcelを学んだら評価され残業を大幅に削減!現在は職場改善チームに所属し、PythonやRPAなどのツールで会社全体の改善をしています。仕事の依頼はTwitterのDMまで!
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(論理式,値が真の場合,[値が偽の場合])
引数については、下記の記事で詳しく解説していますのでご参照ください。
AND関数を使ったIF関数で全ての条件を満たしているか判定する方法
例)全てのテスト結果が70点以上だったら「合格」と判定
①IF関数からスタート
②AND関数の論理式1に1科目目の数学を入力
- まずIF関数の引数1に、AND関数をネスト。
- 数学の点数「B2セル」が70点以上か判定。
- 「=IF(」に続いて『AND(B2>=$G$2』と入力。
- G2セルには合格ラインの70点が入力されている。
またG2セルを選択する際に「$」で囲まれていますが、「$」を付けて参照することを「絶対参照」と言い、参照位置を変えずにコピペできます。
「参照」については別記事で詳しく解説していますのでご参照ください。
「ネスト」と出てきましたが、関数に関数を入れ込むことを指します。「入れ子」とも言います。
③AND関数の論理式2に国語、論理式3に英語を入力
④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点以上」のように、『条件値がどれも同じ』であればもっと簡単に結果を出すことができます。
①論理式の書き方
{=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」関数を単独で使用することができます。
- [ホーム]タブで[条件付き書式]をクリック。
- [新しいルール]をクリック。
- [数式を使用して、書式設定するセルを決定]オプションを選ぶ。
- 数式を入力し、書式を選択して適用する。
数式 | 解説 |
---|---|
=A2=B2 | A2セルとB2セルが同じ値の時、セルを書式設定。それ以外は何もしない。 |
=AND(A3>B3,A3 | A3セルがB3セルより大きく、A3セルがC3セルより小さい場合はセルを書式設定。 それ以外は何もしない。 |
=OR(A4>B4,A4 | A4セルが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(論理式1,論理式2,論理式3,・・・論理式255)
しんたろ。ブログでは「少しでも残業を減らしたい」「時間効率を上げて新しいことにチャレンジしたい」「仕事で評価を上げて年収を上げたい」そんなあなたに向けて私が学んできたノウハウを最短ルートで教えるExcelブログとなっています。
覚えておくべき関数や操作方法を徹底解説!
習得する方法を解説
「独学で習得できる気がしない」そんな方に効率よく習得できる記事を書きました。
本や動画を紹介していますが、やはり一番効率の良い習得方法は、講師にわからないことを質問できる『オンラインスクール』です。
会社員でも不就労所得を作れる。
「会社の収入だけでは不安」そう思い出会った副業がブログでした。書いた記事たちが、あなたが寝ている間もずっと働いてくれます。『不就労』の完成です。
記事を書く際の様々な分析にExcelがとても役立ちます。私は2023年末までにブログで脱サラする予定です!
あなたもブログで脱サラしましょう!
問い合わせより直接相談していたくと
無料で相談にのりますよ♪
お気軽にご相談ください♪