- ベストアンサー
複数列の範囲で順位をつけたい
配信日毎のメルマガの集計をしています。 複数あるリンクの中からクリック数の上位(10位まで)のものをランク付けしたいのですが、列が複数のため「Large関数」が使えません。 関数を組み合わせないと表示できないでしょうか? どなたかよろしくお願いします。 Excel2000です。 A B C 1 リンク1 リンク2 リンク3 2 配信日 クリック数 クリック数 クリック数 3 20080101 10 20 7 4 20080115 15 20 45 5 420080201 20 10 20 6 20080215 10 15 80 7 20080301 12 28 20 8 20080315 15 50 45 9 20080401 100 45 20 10 20080415 20 12 48 11 20080501 30 17 80 12 20080515 40 2 30
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
◆こんなことでしょうか ◆Sheet1 A B C D 1 リンク1 リンク2 リンク3 2 配信日 クリック数 クリック数 クリック数 3 20080101 10 20 7 4 20080115 15 45 45 5 20080201 20 10 20 6 20080215 10 15 80 7 20080301 12 28 20 8 20080315 15 50 45 9 20080401 100 45 40 10 20080415 20 12 48 11 20080501 30 17 80 12 20080515 40 2 30 ◆Sheet2 A B C 1 1 100 20080401 2 2 80 20080215 3 3 80 20080501 4 4 50 20080315 5 5 48 20080415 6 6 45 20080115 7 7 45 20080115 8 8 45 20080315 9 9 45 20080401 10 10 40 20080515 ◆Sheet2の式 A列に、1,2,3,・・・と順位を入力します B1=LARGE(Sheet1!$B$3:$D$12,A1) ★下にコピー C1=IF(B1="","",INDEX(Sheet1!$A$1:$A$12,LARGE(INDEX((Sheet1!$B$3:$D$12=B1)*ROW($B$3:$B$12),),COUNTIF($B$1:B$10,B1)-COUNTIF($B$1:B1,B1)+1))) ★下にコピー ◆いかがでしょうか?
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
>列が複数のため「Large関数」が使えません。 これは間違いでは。とりあえずこの点だけ指摘しておきます。 私なら関数では面倒なので、VBAを使って処理刷るでしょうが、質問者には無縁かも知れないが。 実例 1例データ B1:C5 元データ 12 3 3 6 23 18 5 29 9 15 ーー C8:D17 D8の式は =LARGE($B$1:$C$5,C8) 式を下方向に式複写。 1 29 2 23 3 18 4 15 5 12 6 9 7 6 8 5 9 3 10 3 日付を取りにくいかもしてないが。 同じ数値が歩かないかいつも意識し、質問に書くこと。 多分、前の質問にもそれが書いてなくて、補って回答例を挙げたが。
お礼
いつも回答ありがとうございます。 今回も参考にさせていただきます。
具体的な順位の付け方を補足してください。 あと、同位の場合はどうするのかもお願いします。
お礼
回答ありがとうございます。 参考にさせていただきます。
補足
ご回答ありがとうございます。 確かに複数列でも連続していれば「large関数」は使えますね。 質問に書き忘れてしまったのですが、列が連続していない場合でも それは可能でしょうか?つまり、範囲を複数指定することは可能でしょうか? 質問内容が不十分で申し訳ありません。