• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel関数:データの中から最高値をカウントしてその割合を求める方法)

Excel関数:最高値をカウントして割合を求める方法

このQ&Aのポイント
  • Excelの関数を使用して、データの中から最高値をカウントしてその割合を求める方法について紹介します。
  • 最高値が複数ある場合、優先度の高い列の最高値をカウントし、重複を除く方法を説明します。
  • 計算結果はパーセントで表示し、専用のセルに収めることができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.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) 配列数式で行の配列と列の配列を組み合わせると、二次元配列と見なされてしまうので、無理矢理、行の配列にしたため列毎に式が異なる結果となりました。もう少し美しくしたかったのですがとりあえずここまでとします。

miya_HN
質問者

お礼

なるほど。よく分かりました。 ありがとうございました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

これは補助列を使えば簡単ですが、配列数式だけで実現しようとなるとかなり難しくなります。ですから補助列を使う方法で回答します。 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にコピーしてください

miya_HN
質問者

お礼

今更ですが、お礼の記載が大変遅くなり、申し訳ありません。 ありがとうございました。

関連するQ&A

専門家に質問してみよう