表の中の複数のセルを含む範囲をひとつの集合体(これを配列)として式の中で取り扱うものです。
要するに、配列数式を使う事によってExcel2007から取り入れられたSUMIFS関数を使わないでも
Excel2003でも同じ計算が可能となる訳です。
実例を挙げて、説明して行きますね・・・
- 例えば下の表の場合・・・
- 大阪支店で180以上を売り上げてる人数を調べたい訳です
- 普通の場合、セルD2に・・・セルA2が大阪でセルC2が180以上の場合 1 それ以外の場合空白とします
=IF(AND(A2="大阪",C2>=180),1,"") - これをセルD8までドラグします
- これをセルD9で合計します・・・=COUNT(D2:D8)

- 普通の場合、セルD2に・・・セルA2が大阪でセルC2が180以上の場合 1 それ以外の場合空白とします
- 大阪支店で180以上を売り上げてる人数を調べたい訳です
しかし、配列数式を使用すれば、より簡単に計算できます・・・
- セルA2からセルA8の範囲の中でセルA11と一緒で・・・=IF(A2:A8=A11,値1,値2)
- さらに、セルC2からセルC8の範囲の中でセルB11以上の場合は表示を 1 とする・・・
=IF(A2:A8=A11,IF(B2:B8>=B11,1,""),値2) - それ以外の場合は空白とする・・・=IF(A2:A8=A11,IF(B2:B8>=B11,1,""),"")
- それをSUM関数で囲んで合計する・・・=SUM(IF(A2:A8=A11,IF(B2:B8>=B11,1,""),""))
- 数式としてはこれで終わりなのですがこれで確定すればエラーが表示されてしまいます
- (4)の数式を入力してカーソルを置いたままにして・・・
「Shift」キー+「Ctrl」キー+「Enter」キーを同時に押します - すると、数式が{ }で囲まれます・・・{=SUM(IF(A2:A8=A11,IF(B2:B8>=B11,1,""),""))}
※ 下の図では空白の" "は省略してます。 - これでデータは表示されました。

今日の小技は如何でしたか?
宜しければ、下の評価ボタンを押してみて下さい
