- ベストアンサー
EXCELで一番多く入力されている文字を探す関数
EXCELで例えば、300個のセルにA~Zまでの記号のうちどれかが入っているとします。 300個のセルに入っている記号の中で、もっとも数が多い記号を表示させる関数があれば教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>300個のセルにA~Zまでの記号のうちどれかが入っているとします 1セルに1文字(英字)が入っているとする。 Sheet1のB3:E7に a b c d a d f g d g h j x c v b a s d b があるとする、 B10に=CODE(B3)と入れて、E10まで式を複写。 B10:E10を範囲指定して、+ハンドルを出しB14まで引っ張る。 結果 97 98 99 100 97 100 102 103 100 103 104 106 120 99 118 98 97 115 100 98 これで数字化しました。 H3に97、H4に」98を入れて下のほうに複写 97 98 ・・ ・・ 118 とかになる。 I3:I25を範囲指定して、I3をアクチブにし SHIFT+CTRL+ENTERを同時に押す(配列数式) 結果 97 3 a 98 3 b 99 2 c 100 4 d 101 0 e 102 1 f 103 2 g 104 1 h 105 0 i 106 1 j 107 0 k 108 0 l 109 0 m 110 0 n 111 0 o 112 0 p 113 0 q 114 0 r 115 1 s 116 0 t 117 0 u 118 1 v となる。j列は=CHAR(H3)をいれ、下方向に複写したもの。 1文字なら、その文字はコード数字化できる。 漢字コードになった場合は、本件応用ができるか、現今自信なし。 頻度最大は件数列のMAXをとる。 他にVBAで頻度を取る方法もあり、こちらなら漢字、複数文字文字列 などに対処できる。 I3に=FREQUENCY(B10:E14,H3:H24)
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
過去にも似たような質問がありました。 ご参考に
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 一応、文字は、A列にあるものとします。 1番多いもの =INDEX($A$1:$A$300,MOD(LARGE(COUNTIF($A$1:$A$300,$A$1:$A$300)+ROW($A$1:$A$300)/1000,ROW(A1)),1)*1000,1) 配列数式ですから、一旦式を入力したら、F2を押して、『ShiftとCtrlを押しながらEnterキー』を押して、再確定してください。 2番目を出すときは、 B1:に1番の文字が出ているとして、 =INDEX($A$1:$A$300,MOD(LARGE(COUNTIF($A$1:$A$300,$A$1:$A$300)+ROW($A$1:$A$300)/1000,COUNTIF(A1:A300,B1)+1),1)*1000,1) やはり配列数式ですから、上記のように、Shift+Ctrl + Enter で数式の再確定をしてください。 '----------------------------------------------- もし、数式でないのでしたら、[データ]-[フィルタ]-[フィルタ・オプション]で、 「リスト範囲」 A1:A300 「重複するレコードは無視する」 にチェックを入れて、 「指定した範囲」 に、B1を指定して、ユニークな文字を出力し、 C1:~以下の式をドラッグコピーして =Countif($A$1:$A$300,B1) D1:~ =IF(LARGE($C$1:$C$27,1)=C1,B1,"") とでもすればよいです。($C$27は、出てきたデータの最終行)