アプリ版:「スタンプのみでお礼する」機能のリリースについて

得点制競技でつかうエクセルのシートです。

7人の審判が点数を出します。
そのうち上位2人と下位2人の点数を除外して,
真ん中3人の点数の平均を出します。

最大値と最小値を除外することはできますが,
ふたつずつというのができません。

教えていただけますか。

A 回答 (4件)

一部のデータを除外して平均値を計算する関数がありますよ。


TRIMMEAN関数
https://www.officepro.jp/excelfunc/ave/index5.html
https://dekiru.net/article/4521/

除外する割合が7人中上位と下位それぞれ2人である4人なので、
 =4/7
で求められます。

No.2さんの添付画像にあるA列とB列の表を使うとしたら、
 =TRIMMEAN(B2:B8,4/7)
で除外したものの平均を求めることができます。
点数に入力する前に対応するなら、IF関数とCOUNT関数を使い、7人
すべてが入力されるまでは表示しないようにすることもできます。
 =IF(COUNT(B2:B8)<7,"",TRIMMEAN(B2:B8,4/7))
http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …
「エクセルで7つのデータのうち真ん中3つの」の回答画像3
    • good
    • 0
この回答へのお礼

すごいですね。こんな関数があったのですか!
とてもシンプルでわかりやすいです。
ありがとうございました。

お礼日時:2019/08/28 09:40

No1です



>ついでにエラー処理ってどうするのでしょう・・・。
これに関しても、すでに回答が出ていますが・・・

式の条件がそろわずにエラー値が表示されるのを単純に回避するだけなら、
 =IFERROR( 計算式 ,"")
とか
 =IFERROR( 計算式 ,"計算できません")
などの代わりの表示をするなどです。

ご質問のような場合には、入力データの有無を確認するという考えでもよさそうなので、すでにNo3様が回答なさっているように、入力データが揃っているか(データ数をカウントすることで可能)を確かめるなどの方法も考えられます。
    • good
    • 0
この回答へのお礼

なるほど。入力ミスの確認にもなるということですね。
重ねてありがとうございました。

お礼日時:2019/08/28 09:47

こんにちは!



一気にできるかもしれませんが・・・
一案です。
↓の画像のように作業用の列を設けてみてはどうでしょうか?

作業列F2セルに
=SMALL(B$2:B$8,ROW(B1))
という数式を入れフィルハンドルで下へコピーしています。

結果のD2セルは
=AVERAGE(F4:F6)

としています。

※ 作業列が目障りであれば、遠く離れた列にするか
非表示にしてください。m(_ _)m
「エクセルで7つのデータのうち真ん中3つの」の回答画像2
    • good
    • 0
この回答へのお礼

こちらもわかりやすいですね。
私も2段階にすればできそうかなとは思ったのですが,
こういうやり方は知りませんでした。
ありがとうございました。

お礼日時:2019/08/27 17:55

こんにちは



>ふたつずつというのができません。
「7人の審判」と限定して考えてもよさそうですので、上位から(下位からでも可)3番目、4番目、5番目の平均を出せば宜しいかと。

点数が大きいのが上位なのか、下位なのかわかりませんが、仮にA1:A7に各審査員の点数が入力されているものとします。
そのうち(小さい方から)3番目の値は
 =SMALL(A$1:A$7,3)
で算出できますので、これをそのまま並べて、
 =AVERAGE(SMALL(A$1:A$7,3),SMALL(A$1:A$7,4),SMALL(A$1:A$7,5))
で3~5番目の値の平均が求められます。

同じ内容ですが、もう少しスマートに記述するなら
 =AVERAGE(INDEX(SMALL(A$1:A$7,ROW(A3:A5)),,))
とかでしょうか。

※ このままの関数だと、審査員の点数を入力する前(未入力時)にエラー表示されてしまうので、エラー処理を追加しておいた方が良いかも知れませんね。
    • good
    • 0
この回答へのお礼

なるほど,お見事ですね。
ついでにエラー処理ってどうするのでしょう・・・。

お礼日時:2019/08/27 17:55

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