[Excel]Macで複数の条件に合う数値の中の最小値を求める方法

   2018/07/20

普通に最小値を求めるなら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キーで確定するのでは正しく数式が動作しないので要注意だ。

タイトルとURLをコピーしました

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

16 − 6 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください