エクセルのand関数の使い方を図と例で理解する
エクセルのand関数は、入力された論理式に応じて次のような値を返す関数です。
区分 | 返り値 |
---|---|
すべて「true(真)」の場合 | 「true(真)」 |
ひとつでも「false(偽)」の場合 | 「false(偽)」 |
and関数は、日本語で言うと「AかつB」の「かつ」を表現したい場面で使います。
and関数の書式
and関数の書式は次のとおりです。
項目 | 入力する内容 |
---|---|
論理式1 | 論理式を入力します |
論理式2 | 同上 |
and関数は、通常、次のようにif関数と一緒に使用します。
例えば、
条件 | 表示 |
---|---|
A1セルが80以上120以下の場合 | OK |
それ以外の場合 | NG |
このような条件を指定したい場合には、次のような計算式を入力します。
and関数のイメージ
and関数を理解するために、いろいろなパターンで図解をしてみます。
どれでもいいので、
あなたが一番わかりやすい、と思うものでイメージしてみてください。
and関数をベン図で表現すると?
条件Aと条件Bの両方を満たしている(=「and(A,B)」)状況をベン図で表現するとこのようになります。
濃い紫色の部分が「and(A,B)」にあたる部分です。
and関数を数直線で表現すると?
同じセルに対する複数の条件をand関数で表現する場合、数直線で表現することができます。
例えば、
「80≦A1セル≦120」は、計算式で次のように表せます。
これを、数直線で表すと、次のようになります。
- 1つめの条件(A1>=80)
- 2つめの条件(A1<=120)
が重なる、濃い紫色の部分が「and(A1>=80, A1<=120)」で表される部分です。
and関数を使って複数の条件を指定する具体例
and関数を使う具体例をいくつか見ていこうと思います。
売上高の増減率が一定範囲内かどうかの判定
前月と当月の売上高を比較して、次のように表示させるには、次のような計算式を入れます。
条件 | 表示 |
---|---|
A1セルが80%以上120%以下の場合 | (空欄) |
それ以外の場合 | * |
エクセルに計算式を入れてみると、次のようになります。
入力すべき年・月・日が全て空欄かどうかの判定
年・月・日をそれぞれ別のセルに入力します。
すべて入力された場合だけ、日付のシリアル値を計算します。
条件 | 表示 |
---|---|
A2セル、A3セル、A4セルがすべて空欄でない | date(A2,B2,C2) |
それ以外の場合 | (空欄) |
エクセルに計算式を入れてみると、次のようになります。
消費税の特定期間による納税義務判定
前期の最初6ヶ月間の売上高、給料を使って、消費税の納税義務を判定します。
条件 | 表示 |
---|---|
売上高>1000万円 かつ 給料>1000万円 | あり |
それ以外の場合 | なし |
エクセルに計算式を入れてみると、次のようになります。
条件付き書式でand関数を使った複数条件を入れる
and関数は、当然、条件付き書式でも使えます。
例えば、先ほど、例に挙げた「売上高の増減率が一定範囲内かどうかの判定」で、条件を満たしたときだけ、色を変えてみます。
- a)条件付き書式を設定したいセルを選択し「条件付き書式」を選択
-
A2セル~E5セルを選択します。
その後、「ホーム」→「条件付き書式」→「新しいルール」を選択します。
- b)条件式を入力する
-
「数式を試用して、書式設定するセルを決定」を選択し、
数式として、=and($D2>=80%,$D2<=120%)と入力します。
なお、今回のように、ある列の内容に応じて、行全体の書式を変える場合。
条件式の列の指定だけ絶対参照にするとうまくいくケースが多いです。次に、「書式ボタン」を押します。
- c)書式を設定する
-
条件を満たした場合の書式を設定します。
今回は、背景色をグレーに設定します。設定したら、OKを2回押します。
↓
これで、条件付き書式の設定が終わりました。
増減比が80%以上120%以下の行だけ、背景色がグレーになりました。
and関数とor関数の関係
ここまで見てきた4つの事例のうち、条件付き書式の例を除く3つの例は、
例題・処理結果は、
エクセルのor関数の使い方を図と例で理解する
と全く同じになっています。
条件付き書式についても、色をつけるセルが正反対になっているだけで、ほとんど一緒です。
実は、
- and関数とor関数を入れ替える
- 全ての条件を正反対のものに変える
- if関数の「2つめの引数」と「3つめの引数」を入れ替える
とすると、全く同じ意味の計算式になります。
例えば、
↓and関数とor関数を入れ替える
=if(or(D2>=80%, D2<=120%), "", "*")
↓全ての条件を正反対に変える
=if(or(D2<80%, D2>120%), "", "*")
↓「2つめの引数」と「3つめの引数」を入れ替える
=if(or(D2<80%, D2>120%), "*", "")
というイメージです。
and関数とor関数は入れ替え可能なのですが、どちらを使うかで、見た目のわかりやすさが大きく変わる場合があります。
表現がわかりにくいと思ったときは、or関数とand関数を入れ替えたら、見やすくならないか考えてみましょう。
and関数を使わずにand条件を表現する
and条件を表現するのに、and関数を使わない(あるいは使えない)場合があります。
vlookup関数で複数列に対するand条件を入れる
vlookup関数で複数列に対してand条件を指定したい場合、and関数は使えません。
このような場合には「&」やconcatenate関数を使って対応します。
詳細は
vlookup関数で複数条件を指定する方法
をご覧ください。
sumif関数でand条件を入れる
sumif関数でand条件を指定したい場合には、sumif関数ではなくsumifs関数を使います。
実際の使用例は、
たった3種類だけ!?経理実務のsumif関数、sumifs関数の使い方「縦横型」
をご覧ください。
countif関数でand条件を入れる
countif関数で複数列に対するand条件を指定したい場合は、countifs関数を使います。
まとめ
複雑な条件で「・・・かつ・・・」という指定をする場合には、and関数を使うケースがほとんどです。
でも、and関数を使わないで、別の手段で表現する場合もあるので、状況に応じて使い分けてください。