例えば、
A B C
1 50 25 50
2 40 80 20
3 0 0 0
4 30 45 45
5 90 25 35
このようなデータがあったとします。ここで1の列の最高値、2の列の最高値というように見ていきます。
ただし、最高値が複数ある場合、A(最も優先度が高い)←→C(最も優先度が低い)とし、同じ列の中でカウントされるのは1つだけにします。
また、0は除きます(総数からも省く)。
例の場合、1を見るとAとCが最高値ですが優先度はAの方が高いため、Aがカウントされます。
2は、B、3はカウントなし、4はBとCが最高値ですがBの方が優先度が高いためBがカウントされます。
このようにカウントしていって、「Aのカウント数/総数」のような計算をして、2/4となります。
同じようにBやCも計算し、パーセントで表します。
結果は、
A B C
6 % % %
というように、計算式や関数はできるだけ少ないセルに収めたいのですが(計算式は「A6」「B6」「C6」の部分)、このような方法はあるでしょうか?
回答よろしくお願いします。
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)
配列数式で行の配列と列の配列を組み合わせると、二次元配列と見なされてしまうので、無理矢理、行の配列にしたため列毎に式が異なる結果となりました。もう少し美しくしたかったのですがとりあえずここまでとします。
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にコピーしてください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) countif関数について質問 4 2022/06/14 12:11
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Excelでの複数条件のカウントについて 1 2022/09/25 07:40
- Excel(エクセル) [Excel2016] 相関表等の自動作成 2 2022/08/01 20:34
- Excel(エクセル) エクセルでINDEXとMACTHで出てきたデータの数を数えるには? 1 2023/04/25 10:21
- SQL Server 2つのSQL(Access)の結果[時刻,カウント数]を結合して集計する方法 1 2022/04/06 22:57
- その他(Microsoft Office) 【スプレッドシート】白色のセルをカウントしたい 2 2023/02/24 07:39
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの複数条件下での標...
-
エクセルで年月の合計の関数を...
-
SUMIFとCOUNTIFを合わせたよう...
-
ある一定時間を超えた場合の超...
-
EXCEL 経過年数の平均を求めた...
-
エクセルにて「週」から日付を...
-
エクセルで「ぶら下げ」書式を...
-
Excel:月またぎを含む日数の差...
-
【スプレッドシート】指定の日...
-
エクセルで角度の計算できますか?
-
【エクセル】日付入力
-
Excelの表以外が暗い?
-
エクセル くじ引きの口数が別々...
-
複数連続した列幅や行高を一発...
-
【Excel2003で条件付き書式3つ...
-
エクセルの質問です。
-
Excelで列幅を自動的に調整
-
Excel2007での条件付き書式につ...
-
隣のセルに入力したら自動的に...
-
スプレッドシート、Excelでの数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SUMIFとCOUNTIFを合わせたよう...
-
エクセルでの複数条件下での標...
-
ある一定時間を超えた場合の超...
-
エクセルで年月の合計の関数を...
-
【スプレッドシート】指定の日...
-
EXCEL 経過年数の平均を求めた...
-
エクセルで日付を数字+アルフ...
-
Excelにいついて質問です。
-
エクセルにて「週」から日付を...
-
Excelの表以外が暗い?
-
エクセルで「ぶら下げ」書式を...
-
エクセルで角度の計算できますか?
-
隣のセルに入力したら自動的に...
-
エクセルで、一つのセルに二つ...
-
EXCEL 年月表示をするVBAを教...
-
excelでの文字を隠す方法
-
エクセル2003 MONTH関数で
-
Excel:月またぎを含む日数の差...
-
SUMIF関数の結果が0になってし...
-
エクセル シフト表 6連続勤...
おすすめ情報