- ベストアンサー
エクセル関数で一番多いの次に多いの…と数えたいです。
日に何回もお世話になります。 今A1の列にアルファベットが入っています。それを一番多いのは何で何個。次に多いのは何で何個と数えたいです。 COUNTを使っても数しか数えてくれません。ご教授ください。 A1 b b b c c a 1番 b 個数 3 2番 c 個数 2 3番 a 個数 1
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
B C D 1 アルファベット 個数 順位 2 a 1 3 3 b 3 1 4 c 2 2 C2=COUTIF(A:A,B2) C3=COUTIF(A:A,B3) C4=COUTIF(A:A,B4) D2=RANK(C2,$C$2:$C$4) D3=RANK(C3,$C$2:$C$4) D4=RANK(C4,$C$2:$C$4) こういう形ならできますが...
その他の回答 (1)
この通りのことを関数だけでやろうとすると、無茶苦茶複雑な式になってしまいます。本当にいいのでしょうか? #1の回答のような関数で個数を出し、コピー、値貼り付けしてから並び替える方が、簡単です。 一応、関数で作ってみましたが・・・・ D列に個数、C列にアルファベットを出します。1行目は見出しとします。(ちょっと1列にアルファベットと個数を出すのは作業しにくいので、変更させてもらいました。) D列から入力します。 D2: =LARGE(COUNTIF($A$1:$A$100,{"a","b","c","d","e","f","g","h","I","j","k","l", "m","n","o","p","q","r","s","t","u","v","w","x","y","z"}),ROW(D1)) Enterで入力するのではなく、Ctrl+Shift+Enterで配列数式にします。下にコピーします。 C2: =MID("abcdefghijklmnopqrstuvwxyz",LARGE((COUNTIF($A$1:$A$100,{"a","b","c","d", "e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w", "x","y","z"})=D2)*{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22, 23,24,25,26},COUNTIF(D$2:D2,D2)),1) こちらもEnterで入力するのではなく、Ctrl+Shift+Enterで配列数式にします。下にコピーします。
お礼
ありがとうございました。やはりかなり複雑になってしまうのですね。今後とも宜しくお願いします。
お礼
んー。なかなか複雑になってしまうのですね。ありがとうございました。