- ベストアンサー
Excel関数:最高値をカウントして割合を求める方法
- Excelの関数を使用して、データの中から最高値をカウントしてその割合を求める方法について紹介します。
- 最高値が複数ある場合、優先度の高い列の最高値をカウントし、重複を除く方法を説明します。
- 計算結果はパーセントで表示し、専用のセルに収めることができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#01です。補助列を使わないよう、もう一度考えてみました。 A6の式 =SUMPRODUCT(($A1:$A5>0)*($A1:$A5>=$B1:$B5)*($A1:$A5>=$C1:$C5)*1)/SUMPRODUCT((($A1:$A5>0)+($B1:$B5>0)+($C1:$C5>0)>0)*1) B6の式 =SUMPRODUCT(($B1:$B5>$A1:$A5)*($B1:$B5>=$C1:$C5)*1)/SUMPRODUCT((($A1:$A5>0)+($B1:$B5>0)+($C1:$C5>0)>0)*1) C6の式 =SUMPRODUCT(($C1:$C5>$B1:$B5)*($C1:$C5>$A1:$A5)*1)/SUMPRODUCT((($A1:$A5>0)+($B1:$B5>0)+($C1:$C5>0)>0)*1) 配列数式で行の配列と列の配列を組み合わせると、二次元配列と見なされてしまうので、無理矢理、行の配列にしたため列毎に式が異なる結果となりました。もう少し美しくしたかったのですがとりあえずここまでとします。
その他の回答 (1)
- zap35
- ベストアンサー率44% (1383/3079)
これは補助列を使えば簡単ですが、配列数式だけで実現しようとなるとかなり難しくなります。ですから補助列を使う方法で回答します。 D列を補助列に使います。D1セルに以下の式を入力して下方向にコピーします。 =IF(SUM($A1:$C1)>0,MATCH(MAX($A1:$C1),$A1:$C1,0),0) A6セルの式(A列が最高値である比率)は以下になります =COUNTIF($D1:$D5,"="&COLUMN(A1))/COUNTIF($D1:$D5,">0") A6セルをB6,C6にコピーしてください
お礼
今更ですが、お礼の記載が大変遅くなり、申し訳ありません。 ありがとうございました。
お礼
なるほど。よく分かりました。 ありがとうございました。