条件を付けて最大値やら最小値やら平均値やらを求めるには??
たとえば、A列に品物、B列に値段の記載のある表があったとして、
・ A列が"りんご"の一番高い値段(最大、max)を求める、とか
・ A列が"りんご"の一番安い値段(最小、min)を求める、とか
・ A列が"りんご"の平均の値段(平均、average)を求める、とか
・ A列が"りんご"の合計の値段(合計、sum)を求める、とか
・ A列が"りんご"の個数(カウント、count)を求める、とか
そんな感じで条件をつけて計算をするには?
今回も配列を使います。 Ctrl + Shift + Enter のやつです。
一応、最後のほうにデータベース関数を使った式も書いておきます、あまり好きじゃないけど。
この表から
a の 最大値を求めるには、
{=max((A1:A8=D2)*B1:B8)}
もうひとつの方法としては
{=max(if(A1:A8=D2,B1:B8))}
最小値を求めるには
{=min(if(A1:A8=D2,B1:B8))}
平均値を求めるには
{=average(if(A1:A8=D2,B1:B8))}
合計値を求めるには
{=sum(if(A1:A8=D2,B1:B8))}
これは sumif と同じ。
個数を数えるには
{=count(if(A1:A8=D2,B1:B8))}
これは countif と同じ。
※ ここで紹介した数式は入力確定時に Ctrl+Shift+Enter をします。
そうすると数式の前後に{}がつきます。
このような感じで。
------
これとは別に、データベース関数なるものを使う方法があります。
ここで使ってる関数は
Dmax
Dmin
Daverage
Dsum
Dcount
こいつはちょっとした準備が必要です。
先ず、もとのリストにフィールド名を付けます。
図でいうと、A1の"item"とB1の"qty"です。
次に、検索用のセルを作ります。
図でいうと、D1とE1です。
で、検索条件をD2に入れます。
図の例では a ですが、b にかえれば b の結果が返ってきます。
数式は図の通り。最大値を求めるDmaxを例にとると、
=DMAX(A1:B9,B1,D1:E2)
DMAX(フィールド名を含むもとのリスト,計算する値のフィールド名,検索条件を記載したセル範囲)
という感じです。