3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(Excel)配列数式を使ってみた

A列(A2:A10)に下記のような数値が並んでるとします。

14450

578

145

145

14450

10838

0

7225

ここの中で、最小値かつ0以上の値を求めたいとした場合(145の値)、MIN関数だけではできません。(0となってしまう)

このような時に配列数式というものを使うと値を求めることができるようです。

(配列数式とは、配列と呼ばれる複数の値またはセル参照に1つの数式を当てはめて、1つまたは複数の結果を求める計算式のことだそうです。)

上記のような条件付き(0より大)の最小値を求めるときはまず結果を表示するセルに下記の数式を入力します。

=MIN(IF(A2:A10>0,A2:A10,""))

そして、重要なのが Ctrl + Shift + Enter として数式を確定することです。

配列数式とすると、下記のように数式が { } で囲まれます。

{=MIN(IF(A2:A10>0,A2:A10,""))}

上記の式だと、A2:A10の間で、0より大きい値は基のセルの値を配列に持ち、0以下のセルは空白として配列に持ち、その配列に対して MIN 関数を使って最小値を求めるという意味になるようです。

恥ずかしながら三流PGは今までExcelの配列数式を使ったことがありませんでしたが、これはかなり使えますね。

(OpenOffice Calcでも配列数式はサポートされているので同じように使えます。)

参考:

配列数式

日経PC21 / 初めての「配列数式」① 1行おきの実績値を一気に合計

Excel(エクセル)関数の技:条件付きで最大値、最小値を求める