新生活!引っ越してから困らないように注意すべきことは?>>

ある範囲(A1:A10)において、最大値と最小値を除いて平均値を求める数式を教えてください。(最大値、最小値とも一個とは限らない)

① (SUM(A1:A10)-MAX(A1:A10)-MIN(A1:A10))/(COUNTA(A1:A10)-α)
このαのところに、最大値の個数と最小値の個数を引く式を入れればよいと思うのですが…。教えてください。

② TRIMMEAN関数を使用した場合はどうなるのでしょうか?

③ AVERAGE関数で求めるのは無理でしょうか?

よろしくお願いいたします。

gooドクター

A 回答 (2件)

先ずは、最大値と最小値の個数を求めます。


=COUNTIF(範囲、MAX(範囲))
=COUNTIF(範囲、MIN(範囲))
その合計値は、各々、
=COUNTIF(範囲、MAX(範囲))*MAX(範囲)
=COUNTIF(範囲、MIN(範囲))*MIN(範囲)

次に、全部の合計を求めます。
=SUM(範囲)
その個数は、
=COUNT(範囲)

最大値と最小値を除く平均値はこの組み合わせになります。

= (SUM(範囲)
  -COUNTIF(範囲、MAX(範囲))*MAX(範囲)
  -COUNTIF(範囲、MIN(範囲))*MIN(範囲)
 )/
 (COUNT(範囲)
  -COUNTIF(範囲、MAX(範囲))
  -COUNTIF(範囲、MIN(範囲))
 )
    • good
    • 0

こんにちは



①ご提示の式の場合は、分子がMAX、MINをそれぞれ一回ずつしか引いていないので、α=2としないとおかしなことになります。
>最大値、最小値とも一個とは限らない
全てのMAX、MINを除いて計算したければ、例えば
 =COUNTIF(A1:A10,MAX(A1:A10))
で、MAX値の個数を求められますので、MINも同様にして、その個数分だけ分子、分母から除くことが必要になると考えられます。

②TRIMMEAN関数は存じませんが、「統計的に一定割合の端部データを除く」ということのようですから、確実に最大、最小値が除かれるかどうかの保証がないのではないでしょうか。
(ほとんど関数を知らないので、推測です)

③配列計算をさせれば可能と思います。
一例として、
 =AVERAGE(IF(((A1:A10=MAX(A1:A10))+(A1:A10=MIN(A1:A10))),"",A1:A10))
上式は配列数式ですので、Ctrl + Shift + Enter で確定させる必要があります。
       (↑ 必須です‼)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング