ELLの足跡

人は最後は一人だという…でも、…今は妻が傍にいてくれる…

Excel関数・・・配列数式(Excel2003でも複数条件をクリアして合計を出す)

Excelには従来の数式や関数とは少し違う配列数式というのがあります。

表の中の複数のセルを含む範囲をひとつの集合体(これを配列)として式の中で取り扱うものです。

要するに、配列数式を使う事によってExcel2007から取り入れられたSUMIFS関数を使わないでも

Excel2003でも同じ計算が可能となる訳です。


実例を挙げて、説明して行きますね・・・
  • 例えば下の表の場合・・・
    • 大阪支店で180以上を売り上げてる人数を調べたい訳です
      • 普通の場合、セルD2に・・・セルA2が大阪でセルC2が180以上の場合 1 それ以外の場合空白とします
            =IF(AND(A2="大阪",C2>=180),1,"")
      • これをセルD8までドラグします
      • これをセルD9で合計します・・・=COUNT(D2:D8)



しかし、配列数式を使用すれば、より簡単に計算できます・・・
  • セル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,""),""))}
    ※ 下の図では空白の" "は省略してます。
  • これでデータは表示されました。



今日の小技は如何でしたか?



宜しければ、下の評価ボタンを押してみて下さい
素晴らしい すごい とても良い 良い