重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

列Aに2行目からN(65536)行に100から100単位で5000まで数字が入力されています。
一番高い数値は"MAX"で求められますが、2番目以降の数値が"MAX"、もしくは"LARGE"ではうまく表示されません(それぞれ複数個存在するため)。
何か良い方法はないでしょうか?

A 回答 (4件)

こんにちは。

maruru01です。

例えば、C1~に順に表示するとします。
まず、C1に、

=MAX($A$2:$A$65536)

と入力します。
次に、C2に、

=IF(OR(C1="",C1=MIN($A$2:$A$65536)),"",LARGE($A$2:$A$65536,COUNTIF($A$2:$A$65536,">="&C1)+1))

と入力して、下の行へコピーします。

表示場所が違う場合は、2つ目の数式の「C1」を、1つ目の数式を入れるセル番地に替えてください。
    • good
    • 0
この回答へのお礼

できました!(●⌒∇⌒●) わーい
ありがとうございます。
でもcountifがなんで出てきて、どういう意味なのかいまいち不明ですが。。。
助かりました。

他の方々も非常に参考になりました。ありがとうございました。

お礼日時:2005/04/14 13:49

列Bの2行目からN行目までに次の数式を入力してください。

x行目とした場合
=RANK(AX,A$2:A$N,0)←大きい順
=RANK(AX,A$2:A$N,1)←小さい順
列Cの2行目からN行目までに次の数式を入力してください。x行目とした場合
=COUNTIF(B$2:B$N,B$X)
適当なシートのA1からA20に、それぞれ1から20までの数値を入力し、列Bに次の数式を入力(列B2:CNのレンジ名をDATAとします)
=IF(ISERROR(VLOOKUP(AX,DATA,2,FALSE))=TRUE,"該当なし",VLOOKUP(AX,DATA,2,FALSE)

でやってみてください

この回答への補足

ありがとうございます。
早速式を入れてみました。が、私の入れ方が悪いのか、
列Cには、そのランクにいくつデータがあるかの個数が入力されてしまい、結果、VLOOKUPでも、その個数しか表示されません。
質問の仕方が悪かったのかもしれません。
求めたいのは。。。

1 5000
2 4900
3 4800
4 4500
5 3000




この5000、4900・・・を出したいのですが。私の入力方法が悪く上記の式で問題なければ、ご指摘ください。

補足日時:2005/04/14 13:02
    • good
    • 0

簡単な方法は、データ-フィルター-フィルターオプションの設定で、


設定された範囲(リスト範囲)と
抽出範囲を
設定し、
「重複するレコードは無視する」
で取り出すことは可能です。

そうでなければ、
例えば、
B2 に、「一番高い数値」のMAXで求めたものを入れ、
その次に、B3:~

=IF(ROW(A1)<9,LARGE($A$2:$A$65536,RANK(B2,$A$2:$A$65536)+COUNTIF($A$2:$A$65536,B2)),"")

として、フィルハンドル・ドラッグ・コピーをしてあげれば、出来るかと思います。

この回答への補足

早速のご回答ありがとうございます。
セルに自動的に反映させて、違う場所にそのデータを
リンクさせたいので、オートフィルタはちょっと。
上の式を参考にさせていただきます。
が、その中で、”=IF(ROW(A1)<9”というのはどういう
関数ですか?

補足日時:2005/04/14 11:25
    • good
    • 0

オートフィルタ機能ではだめでしょうか。


・データ範囲選択→データ→オートフィルタ
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
自動的にデータを取得して違うところにリンクさせたいので、オートフィルタはちょっと。
何か関数で取得できればと考えているのですが。

お礼日時:2005/04/14 11:38

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