主にMS Office関係のチップスのページです。画面のショットはOffice2010ですが、なるべくVista,Office2007以前でも操作が可能なように作成してあります。
MOS Expertの勉強をしていた時に、「配列数式」というものを初めて知って、「こんなものが有ったんだ!」と感動?に似たものを感じました。
配列とは、(複数のセルに入力された)データの集まりです。因みにプログラムでは必ずと言ってよいほど使用されます。Excelの場合、セル範囲[A1:A10]は、A1の値、A2の値・・・A10の値という配列となります。
「配列数式」を入力するときには、Ctrl + Shift + Enter(Ctrl キーとShiftキーを押しながらEnterキーを押す)とキーを押下します。Enterだけだと正しい結果は得られません。
また、配列数式は{ }で囲まれて表示されます。
C列にA列とB列の掛けた値を一気に入れます。
C2~C11を範囲選択して、数式「=A2:A11*B2:B11」を入力します。
数式の意味としては、
セルC2には =A2*B2
C3には =A3*B3
と、以下のセルも同様に数式が入力されたのと同じとなります。
次にCtrl + Shift + Enterで配列数式として確定します。
C2~C11までデータが表示されました。数式には、{ }が表示されます。なお、C2~C11のどのセルをクリックしても、数式は同じ{=A2:A11*B2:B11}が表示されます。
○の数がいくつあるか求めます。
セルF3に以下の数式を入れます。
=SUM(IF(C2:C11="○",1,0))
式の意味は、C2~C11の各セルについて、○だったら1,○以外は0として、その数を合計します。
Ctrl + Shift + Enterで配列数式として確定します。数が表示されました。
次は、○又は△の数がいくつあるか求めます。
セルF6に以下の数式を入れて、Ctrl + Shift + Enterと押下します。
=SUM(IF((C2:C11="○")+(C2:C11="△"),1,0))
ここで、「+」はOR条件です。ANDの場合は「*」を使用します。配列数式ではOR関数、AND関数は使用できません。
SUMIF関数を使用して、○の列についての値1*値2の合計を求めます。
セルF9に以下の数式を入れます。配列数式に似ていますね。
=SUMIF(C2:C11,"○",D2:D11)
SUMIF関数は、検索範囲(C2:C11)の値が、検索条件("○")を満たす場合に、対応するセル範囲(D2:D11)の値の合計を求めるものです。
配列数式の参考になるページ。
Microsoft 配列数式のガイドラインと例
日経PC21 初めての「配列数式」