質問: Excelで、取得したログから処理時間の最小値、最大値、平均値、処理数を求めようとしています。 Excelで、任意の列について、条件を満たすセルだけを計算対象にするにはどのような計算式を書けば良いでしょうか? ここで言う計算式とは、MIN、MAX、AVERAGE、COUNTIFです。 ![計算式](https://teratail.storage.googleapis.com/uploads/contributed_images/d9db225fddb9d23c80d7c879aef525ad.png) L列のうち、同行のJ列の値が「測定結果」、同行のM列の値が「ms」となっているものについてのみ最小値を求める場合、 C2のセルに =MIN(IF(AND($J:$J=$A2,$M:$M="ms"),$L:$L)) 上記と同じ列、条件で、最大値を求める場合、 D2のセルに =MAX(IF(AND($J:$J=$A2,$M:$M="ms"),$L:$L)) 上記と同じ列、条件で、平均値を求める場合、 E2のセルに =AVERAGE(IF(AND($J:$J=$A2,$M:$M="ms"),$L:$L)) 上記と同じ列、条件で、該当行数を求める場合、 F2のセルに =COUNTIF($L:$L,AND($J:$J=$A2,$M:$M="ms")) というようにして計算式を作成しましたが、計算結果が全て0となっており、 意図した計算ができていないようです。 また、上記よりも多くの条件式が必要となる測定結果についても同様に計算式を作成し、 L列のうち、同行のJ列の値が「測定1」、同行のK列が「初期処理」、同行のM列の値が「ms」となっているものについてのみ最小値を求める場合、 C3のセルに =MIN(IF(AND($J:$J=$A3,$K:$K=$B3,$M:$M="ms"),$L:$L)) 上記と同じ列、条件で、最大値を求める場合、 D3のセルに =MAX(IF(AND($J:$J=$A3,$K:$K=$B3,$M:$M="ms"),$L:$L)) 上記と同じ列、条件で、平均値を求める場合、 E3のセルに =AVERAGE(IF(AND($J:$J=$A3,$K:$K=$B3,$M:$M="ms"),$L:$L)) 上記と同じ列、条件で、該当行数を求める場合、 F3のセルに =COUNTIF($L:$L,AND($J:$J=$A3,$K:$K=$B3,$M:$M="ms")) とした場合、同様に計算結果が全て0となってしまいます。 正しい計算式が分かる方おられましたら、お願い致します。
回答: それぞれ、以下のExcel関数で実現できるかと思いますが、いかがでしょうか? 最小値:MINIFS 最大値:MAXIFS 平均値:AVERAGEIFS 処理数:COUNTIFS