- 締切済み
一番多く表示のある値(文字列)を、Excel関数で抽出したい
Excelで、ある列で一番多く入っている値(文字列)を検索して抽出し、 別のセルに表示させたいと思っています。 赤 青 黄 ← こういう文字列があったとしたら、 黄 「黄」を別セルに表示させたい、という意味です 緑 黒 これを、Excel2000の関数だけで表示したいのですが、 式の組み方が分かりません。 どなたかご教授ください。 MAXやRANKなども組み合わせてみたのですが…。 現在は、列を一つ作りそちらでCOUNTIFで数字を出して、 その数字をMAXで拾って表示していますが、 列をひとつ作ることをなくしたい、というのが目的です。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- maron--5
- ベストアンサー率36% (321/877)
A B 1 赤 黄 2 青 3 黄 4 黄 5 緑 6 黒 B1=INDEX(A1:A6,MODE(MATCH(A1:A6,A1:A6,0)))
- imogasi
- ベストアンサー率27% (4737/17069)
配列数式やSUMPRODUCT関数を多く経験して無いと、結構関数では難しい問題だと思う。 新しい仕掛けを使わないとね。 配列数式を使って見た。 例データ A1:A10 x s d f a x s a w a どこかのセルに =INDEX(A1:A10,MIN(IF(COUNTIF($A$1:$A$10,A1:A10)=$D$2,ROW(A1:A10),99)),1) と入れて、Shuft,Ctrl,Enterの3つのキーを同時押しする。 (配列数式) また別法で、配列数式でなく、SUMPRODUCT関数に置き換えられると思う。 結果 a aを1つXと置き換えると結果がXに置き換わるよね。 ---- 式の意味は、A1:A10の出現回数と等しい行で行番号が最小(一番上行)の行の値を A1:A10の表の中からINDEX関数で取り出した。
お礼
配列数式になじみがなかったので、 こちらを思いつきませんでした。 こちらも、何かの折に有効に使えそうです。 ご回答ありがとうございました<(_ _)>
- jo-zen
- ベストアンサー率42% (848/1995)
数字の場合はmode関数を使えば最頻値を取り出せるので、文字列を数値化する工夫をすればOKかと思います。
お礼
有効に使えそうです。 文字列を数値化ですと、別表を作成してlookupくらいしか思いつかないのですが、 他に何か方法がありましたら、ご参考までに教えてください。 ご回答ありがとうございました<(_ _)>
お礼
試してみたらいちばんスマートな方法でした。 しばらくはこちらを使わせていただきます。 …とはいえ、やはり参照値が多いと、 時間がかかってしまいますね。これは参照値を多くするほうが悪いのですが(^^; ご回答ありがとうございました<(_ _)>