max(subset(x,x$a=="条件")) # xがデータフレームの場合
mix(x[x=="条件"]) # xが配列の場合
エクセルではif関数とmaxなどの関数を組みあわせるとともにセルをたくさん使わなければならないと思っていた.ウェブで調べたら,配列数式を使えばエクセルでも同じようなことが一つのセルでできるというのがわかった.
{=max(if(セル範囲1=条件,セル範囲2,""))}
まず,if関数でセル範囲1のうち条件に合致する場合は,セル範囲2の数値を選ぶ(それ以外の場合は""で何も無し?).次に,これらを通常の関数のよを使用して最大値とか最小値とかを求めるという具合.やや曲者なのが上で表示した{}で,これを入力して,Enterを押しても配列数式としては認識してくれない.{}を入力せずに,ShiftとCtrlを押しながらEnterを押さねばならない.