Excel中級者

【「aかつb」制覇!】ExcelのAND関数・IF関数テクニック

しんたろ。
本記事はこんな方にオススメ

IF関数で「2つ以上(複数)の条件の『どれも満たせば』OK判定」のやり方がわからない方

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

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

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

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

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

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

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

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

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

期間限定でChatGPT✖️Googleスプレットシートのコンテンツ配布中!

LINEでExcelを気軽に学べる

しんたろ。
しんたろ。
Excel歴10年以上のプロ
Profile
【実績】
□2016年
海外拠点において、Excelでの業務改善による納期遵守率50%→100%達成。
□2018年
自動化を促進させ、自身の残業時間を年間240時間削減成功。
□2023年
├ブログとTwitter開始
├Excel無料相談会→即日満席
└ChatGPT×Googleスプレットシート配布で1週間で35万インプ達成

仕事ができなくて毎日上司に叱責されていた私がExcelを学んだら評価され残業を大幅に削減!現在は職場改善チームに所属し、PythonやRPAなどのツールで会社全体の改善をしています。仕事の依頼はTwitterのDMまで!
プロフィールを読む

AND関数の解説

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

AND関数の書式

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

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

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

AND関数の解説

上記の例では、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点以上だったら「合格」と判定

AND関数を使ったIF関数ですべての関数を満たしているか判定する方法
完成形。E列にテストの合否判定を表示させることがゴールです。

①IF関数からスタート

例)全てのテスト結果が70点以上だったら「合格」と判定_IF関数
「E2セル」に『=IF(』と入力します。

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

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

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

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

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

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

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

例)全てのテスト結果が70点以上だったら「合格」と判定_入れ子
先ほどと同様に国語の点数「C2セル」、英語の点数「D2セル」を入れ子していきます。「=IF(AND(B2>=$G$2,」のあとに「C2>=$G$2,D2>=$G$2」と入力します。

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

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

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

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

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

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

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

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

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

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

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

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

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

オートフィルでコピーすることも可能
例)全てのテスト結果が70点以上だったら「合格」と判定_十字アイコン

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

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

⑥結果

例)全てのテスト結果が70点以上だったら「合格」と判定_完了
数学、国語、英語のすべてにおいて70点以上「鈴木さん」「吉田さん」のみ『合格という結果を表示することができました。

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

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

①論理式の書き方

AND関数+配列数式

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

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

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

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

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

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

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

②数式の作り方

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

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

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

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

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

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

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

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

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

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

AかつB

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

事例①の数式

=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』の個数を数える。

AND関数の事例
事例②の数式

=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歴10年以上のプロ
【実績】
□2016年
海外拠点において、Excelでの業務改善による納期遵守率50%→100%達成。
□2018年
自動化を促進させ、自身の残業時間を年間240時間削減成功。
□2023年
├ブログとTwitter開始
├Excel無料相談会→即日満席
└ChatGPT×Googleスプレットシート配布で1週間で35万インプ達成

仕事ができなくて毎日上司に叱責されていた私がExcelを学んだら評価され残業を大幅に削減!現在は職場改善チームに所属し、PythonやRPAなどのツールで会社全体の改善をしています。仕事の依頼はTwitterのDMまで!
記事URLをコピーしました