配列定数

配列数式(CSEの数式)で絶対わかる配列数式と銘打ってご説明しましたがいかがでしたでしょうか。この中で配列定数という言葉が出てきましたので少しご説明します。

=SUM({60,180,100}*{1,2,3})
という数式の中括弧部分が配列定数です。 この数式は60*1と180*2と100*3の結果をSUM(合計)してくださいという意味になりますので60+360+300となりますから720という答えになります。中括弧は自分で手入力します。

これの何がうれしいのかといいますと、私的には何もうれしくありません。まず使わないでしょうね。

もう少しだけご説明しますと、先ほどの =SUM({60,180,100}*{1,2,3}) は下図で言うとD列とE列を掛けたものを合計してね。と言い換えることが可能かもしれません。

たまたま、列方向ですが行方向に考えて表自体を作り直しても同じことです。

定数というだけあって値を直に入力しており、セル参照ではありません。値を変更する場合は、直接式を編集しないとだめなのでちょっと面倒です。

この配列定数は中括弧で括るということと、値をカンマでつなげることというルールがあります。値が文字列の場合はダブルクォーテーションで括ります。

{値,”文字列”,値,値}

更に配列定数は上図の様に1列だけではなく複数列、または複数行を配列として持つことができます。(表ごと配列定数にする)

下図はよくある VLOOKUP の例です。セルA1に商品番号を入力するとセルB2に単価が表示されるという物です。

=VLOOKUP(A2,E2:G4,3,FALSE)

VLOOKUP関数の第2引数のセルE2:G4の範囲を配列定数で置き換えてみます。

=VLOOKUP(A2,{“a01″,”パン”,100;”a02″,”牛乳”,150;”a03″,”おにぎり”,120},3,FALSE)

{“a01″,”パン”,100;”a02″,”牛乳”,150;”a03″,”おにぎり”,120
この部分が配列定数です。

“a01″,”パン”,100 が1件のデータとなり、次の “a02″,”牛乳”,150 との間にセミコロン;をいれます。セミコロンで複数行のデータを記述していきます。

こうすることでセルE1からセルG4までの表がなくてもVLOOKUP関数で商品番号を入力すれば単価が返ってくるようにできます。

このようなことが配列定数で可能ですが、ちょっとも便利に感じませんね。

どうしてもエクセルの表にない値を表示したい場合(エクセルに新たに表を作成できない)などに使えるかもしれません。

コメントを残す

メールアドレスが公開されることはありません。