• 締切済み

一番多く表示のある値(文字列)を、Excel関数で抽出したい

Excelで、ある列で一番多く入っている値(文字列)を検索して抽出し、 別のセルに表示させたいと思っています。 赤 青 黄   ← こういう文字列があったとしたら、 黄     「黄」を別セルに表示させたい、という意味です 緑 黒 これを、Excel2000の関数だけで表示したいのですが、 式の組み方が分かりません。 どなたかご教授ください。 MAXやRANKなども組み合わせてみたのですが…。 現在は、列を一つ作りそちらでCOUNTIFで数字を出して、 その数字をMAXで拾って表示していますが、 列をひとつ作ることをなくしたい、というのが目的です。 よろしくお願いいたします。

みんなの回答

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

    A    B 1   赤   黄 2   青 3   黄 4   黄 5   緑 6   黒 B1=INDEX(A1:A6,MODE(MATCH(A1:A6,A1:A6,0)))

satomi0920
質問者

お礼

試してみたらいちばんスマートな方法でした。 しばらくはこちらを使わせていただきます。 …とはいえ、やはり参照値が多いと、 時間がかかってしまいますね。これは参照値を多くするほうが悪いのですが(^^; ご回答ありがとうございました<(_ _)>

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

配列数式や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関数で取り出した。

satomi0920
質問者

お礼

配列数式になじみがなかったので、 こちらを思いつきませんでした。 こちらも、何かの折に有効に使えそうです。 ご回答ありがとうございました<(_ _)>

  • jo-zen
  • ベストアンサー率42% (848/1995)
回答No.1

数字の場合はmode関数を使えば最頻値を取り出せるので、文字列を数値化する工夫をすればOKかと思います。

satomi0920
質問者

お礼

有効に使えそうです。 文字列を数値化ですと、別表を作成してlookupくらいしか思いつかないのですが、 他に何か方法がありましたら、ご参考までに教えてください。 ご回答ありがとうございました<(_ _)>

関連するQ&A