Excel 配列数式

MOS Expertの勉強をしていた時に、「配列数式」というものを初めて知って、「こんなものが有ったんだ!」と感動?に似たものを感じました。
配列とは、(複数のセルに入力された)データの集まりです。因みにプログラムでは必ずと言ってよいほど使用されます。Excelの場合、セル範囲[A1:A10]は、A1の値、A2の値・・・A10の値という配列となります。
「配列数式」を入力するときには、Ctrl + Shift + Enter(Ctrl キーとShiftキーを押しながらEnterキーを押す)とキーを押下します。Enterだけだと正しい結果は得られません。
また、配列数式は{ }で囲まれて表示されます。


使用例1

C列にA列とB列の掛けた値を一気に入れます。
C2~C11を範囲選択して、数式「=A2:A11*B2:B11」を入力します。
数式の意味としては、
セルC2には =A2*B2
  C3には =A3*B3
と、以下のセルも同様に数式が入力されたのと同じとなります。
C列にA*Bの数式を入れた場合の図
次にCtrl + Shift + Enterで配列数式として確定します。
C2~C11までデータが表示されました。数式には、{ }が表示されます。なお、C2~C11のどのセルをクリックしても、数式は同じ{=A2:A11*B2:B11}が表示されます。
配列関数使用例の図


使用例2

○の数がいくつあるか求めます。
セルF3に以下の数式を入れます。
 =SUM(IF(C2:C11="○",1,0))
式の意味は、C2~C11の各セルについて、○だったら1,○以外は0として、その数を合計します。 F3に数式を入れた場合の図
Ctrl + Shift + Enterで配列数式として確定します。数が表示されました。
F3にデータが表示された図


使用例3

次は、○又は△の数がいくつあるか求めます。
セルF6に以下の数式を入れて、Ctrl + Shift + Enterと押下します。
 =SUM(IF((C2:C11="○")+(C2:C11="△"),1,0))
ここで、「+」はOR条件です。ANDの場合は「*」を使用します。配列数式ではOR関数、AND関数は使用できません。
F6にデータが表示された図


参考例

SUMIF関数を使用して、○の列についての値1*値2の合計を求めます。
セルF9に以下の数式を入れます。配列数式に似ていますね。
 =SUMIF(C2:C11,"○",D2:D11)
合計を求めた図
SUMIF関数は、検索範囲(C2:C11)の値が、検索条件("○")を満たす場合に、対応するセル範囲(D2:D11)の値の合計を求めるものです。

配列数式の参考になるページ。
 Microsoft 配列数式のガイドラインと例
 日経PC21 初めての「配列数式」


Office関連チップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system