「みんな教えて! 選手権!!」開催のお知らせ

Excelで、ある列で一番多く入っている値(文字列)を検索して抽出し、
別のセルに表示させたいと思っています。



黄   ← こういう文字列があったとしたら、
黄     「黄」を別セルに表示させたい、という意味です



これを、Excel2000の関数だけで表示したいのですが、
式の組み方が分かりません。
どなたかご教授ください。

MAXやRANKなども組み合わせてみたのですが…。

現在は、列を一つ作りそちらでCOUNTIFで数字を出して、
その数字をMAXで拾って表示していますが、
列をひとつ作ることをなくしたい、というのが目的です。

よろしくお願いいたします。

A 回答 (3件)

    A    B


1   赤   黄
2   青
3   黄
4   黄
5   緑
6   黒

B1=INDEX(A1:A6,MODE(MATCH(A1:A6,A1:A6,0)))
    • good
    • 49
この回答へのお礼

試してみたらいちばんスマートな方法でした。
しばらくはこちらを使わせていただきます。

…とはいえ、やはり参照値が多いと、
時間がかかってしまいますね。これは参照値を多くするほうが悪いのですが(^^;

ご回答ありがとうございました<(_ _)>

お礼日時:2008/03/16 00:12

配列数式や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関数で取り出した。
    • good
    • 2
この回答へのお礼

配列数式になじみがなかったので、
こちらを思いつきませんでした。
こちらも、何かの折に有効に使えそうです。

ご回答ありがとうございました<(_ _)>

お礼日時:2008/03/16 00:10

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

    • good
    • 3
この回答へのお礼

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

ご回答ありがとうございました<(_ _)>

お礼日時:2008/03/16 00:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A