[Excel]Macで複数の条件に合う数値の中の最小値を求める方法
普通に最小値を求めるならMIN関数、一つだけの条件ならDMIN関数が使えるんだけど、複数条件を指定した上での最小値を求める関数が欲しくなった。
Windowsの場合はMINIFS関数とかいうものがあるらしい。
これなら複数の条件を指定できる。
これをMacのExcelでも使えれば良かったんだけど、残念ながらmacのExcelには入ってない。
その代わり、配列数式というもので目的を達成できることが分かった。
例えば、下の表では1組男子の最低点をF4に表示している。
このときF4には以下のような数式が入力されている。
=MIN(IF((B3:B11=F2)*(C3:C11=F3), D3:D11, ""))
IFの条件部で「1組」と「男」を指定していて(「*」はいわゆるANDと同じ意味)、TRUEの処理部で得点の列を返している。FALSEでは空白文字を返している。
配列数式でこのように表記すると、Excelは指定した範囲の中でそれぞれの行でIFの計算をしてくれるらしい(だから、指定する範囲の行数は全て合わせないといけない)。
つまり、もし条件部がTRUEなら、対応した行の得点を返してくれ、FALSEなら空白文字を返してくれる。
空白文字はMIN関数では集計対象に入らないので、最終的に条件に合致した人の得点だけがMIN関数の集計対象になる、という具合らしい。
結局MIN関数がやっているのは以下の画像と同じようなこと。
なんとも不思議な感じだけど、便利だ。
ちなみにこの配列数式を用いる時は、数式を入力してCtrl+Shift+Enterキーで確定しないと正しく動作しない。
いつも通りEnterキーで確定するのでは正しく数式が動作しないので要注意だ。
この記事へのコメントはこちら