エクセルのand関数の使い方を図と例で理解する

エクセルのand関数は、入力された論理式に応じて次のような値を返す関数です。

区分 返り値
すべて「true(真)」の場合 「true(真)」
ひとつでも「false(偽)」の場合 「false(偽)」

and関数は、日本語で言うと「AかつB」の「かつ」を表現したい場面で使います。

and関数の書式

and関数の書式は次のとおりです。

=and(論理式1,論理式2,・・・)
項目 入力する内容
論理式1 論理式を入力します
論理式2 同上

and関数は、通常、次のようにif関数と一緒に使用します。

=if(and( … , … ), … , … )

例えば、

条件 表示
A1セルが80以上120以下の場合 OK
それ以外の場合 NG

このような条件を指定したい場合には、次のような計算式を入力します。

=if(and(A1>=80, A1<=120 ), “OK”, “NG”)

and関数のイメージ

and関数を理解するために、いろいろなパターンで図解をしてみます。

どれでもいいので、
あなたが一番わかりやすい、と思うものでイメージしてみてください。

and関数をベン図で表現すると?

func_and_1

条件Aと条件Bの両方を満たしている(=「and(A,B)」)状況をベン図で表現するとこのようになります。

濃い紫色の部分が「and(A,B)」にあたる部分です。

and関数を数直線で表現すると?

同じセルに対する複数の条件をand関数で表現する場合、数直線で表現することができます。

例えば、
「80≦A1セル≦120」は、計算式で次のように表せます。

and(A1>=80, A1<=120)

これを、数直線で表すと、次のようになります。

func_and_2
  • 1つめの条件(A1>=80)
  • 2つめの条件(A1<=120)

が重なる、濃い紫色の部分が「and(A1>=80, A1<=120)」で表される部分です。

and関数を使って複数の条件を指定する具体例

and関数を使う具体例をいくつか見ていこうと思います。

売上高の増減率が一定範囲内かどうかの判定

前月と当月の売上高を比較して、次のように表示させるには、次のような計算式を入れます。

条件 表示
A1セルが80%以上120%以下の場合 (空欄)
それ以外の場合
=if(and(D2>=80%, D2<=120%), “”, “*”)

エクセルに計算式を入れてみると、次のようになります。

func_and_3_1

入力すべき年・月・日が全て空欄かどうかの判定

年・月・日をそれぞれ別のセルに入力します。
すべて入力された場合だけ、日付のシリアル値を計算します。

条件 表示
A2セル、A3セル、A4セルがすべて空欄でない date(A2,B2,C2)
それ以外の場合 (空欄)
=if(and(A2<>"", B2<>"", C2<>""), date(A2,B2,C2), “”)

エクセルに計算式を入れてみると、次のようになります。

func_and_3_2

消費税の特定期間による納税義務判定

前期の最初6ヶ月間の売上高、給料を使って、消費税の納税義務を判定します。

条件 表示
売上高>1000万円 かつ 給料>1000万円 あり
それ以外の場合 なし
=if(and(A2>10000000,B2>10000000), “あり”, “なし”)

エクセルに計算式を入れてみると、次のようになります。

func_and_3_3

条件付き書式でand関数を使った複数条件を入れる

and関数は、当然、条件付き書式でも使えます。

例えば、先ほど、例に挙げた「売上高の増減率が一定範囲内かどうかの判定」で、条件を満たしたときだけ、色を変えてみます。

a)条件付き書式を設定したいセルを選択し「条件付き書式」を選択

A2セル~E5セルを選択します。

func_and_3_4

その後、「ホーム」→「条件付き書式」→「新しいルール」を選択します。

func_and_3_5
b)条件式を入力する

「数式を試用して、書式設定するセルを決定」を選択し、
数式として、

=and($D2>=80%,$D2<=120%)

と入力します。

なお、今回のように、ある列の内容に応じて、行全体の書式を変える場合。
条件式の列の指定だけ絶対参照にするとうまくいくケースが多いです。

次に、「書式ボタン」を押します。

func_and_3_6
c)書式を設定する

条件を満たした場合の書式を設定します。
今回は、背景色をグレーに設定します。

設定したら、OKを2回押します。

func_and_3_7

func_and_3_8

これで、条件付き書式の設定が終わりました。
増減比が80%以上120%以下の行だけ、背景色がグレーになりました。

func_and_3_9

and関数とor関数の関係

ここまで見てきた4つの事例のうち、条件付き書式の例を除く3つの例は、

例題・処理結果は、
エクセルのor関数の使い方を図と例で理解する
と全く同じになっています。

条件付き書式についても、色をつけるセルが正反対になっているだけで、ほとんど一緒です。

実は、

  • and関数とor関数を入れ替える
  • 全ての条件を正反対のものに変える
  • if関数の「2つめの引数」と「3つめの引数」を入れ替える

とすると、全く同じ意味の計算式になります。

例えば、

=if(and(D2>=80%, D2<=120%), "", "*")
 ↓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関数を使わないで、別の手段で表現する場合もあるので、状況に応じて使い分けてください。

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。