配列でIF関数のAND条件

配列でIF関数

関数技BEST 55d回

配列でAND条件

作業列を作らずに配列でAND条件式をIF関数の数式に取り込みます。
配列数式を確定するときは、Ctrl + Shift + Enterを押します。
また、Excel2007以降なら、IF関数のAND条件による合計をSUMIFS関数で行う事ができます。
Excelバージョン:Excel20192016201320102007

AND関数を使う代わりに(条件)*(条件)

AND関数を使わなくても、IF関数の論理式の中にAND条件を入れると次の様になります。式をD6セルに入れました。 結果は同じなのでなれたらこの方がすっきりして良いかと思います。
=IF((A6="ワインA")*(B6<=$B$2),C6,"")
配列でIF関数のAND条件関数の使い方1
数式をコピーして、それを集計すると前回と同じように、商品はワインAで11/12までの売上の合計が出ますね。
配列でIF関数のAND条件関数の使い方2

配列でIF関数の式を集計する

これを作業列を作らずに配列で行うには、合計はSUM関数を使いますので、C2セルに入れる式は以下のようにします。
=SUM(IF((A6:A14="ワインA")*(B6:B14<=$B$2),C6:C14,""))と入力して、
Ctrl + Shift + Enterで配列数式を入力します。
配列でIF関数のAND条件関数の使い方3
するとC2セルには、配列数式が入力されて、結果の5,000が表示されます。
{=SUM(IF((A6:A14="ワインA")*(B6:B14<=$B$2),C6:C14,""))}
配列でIF関数のAND条件関数の使い方4
ワインBの11/16までの売上の合計も同様にIF関数のAND条件式を使った配列にしてみましょう。
{=SUM(IF((A6:A14="ワインA")*(B6:B14<=$B$2),C6:C14,""))}
配列でIF関数のAND条件関数の使い方5

SUMIFS関数を使うとIF関数のAND条件と同じになる

Excel2007からは、SUMIFS関数が使えますので、わざわざ配列を使わなくても、SUMIFS関数でAND条件の合計を求めることができます。 難しく見えるのは、条件で日付の入力されたセルよりも小さいという指定の部分だけです。
配列でIF関数のAND条件関数の使い方6
結果はこのように、シンプルになります。
配列でIF関数のAND条件関数の使い方6