• ベストアンサー

Excel top10関数について

現在,Excelでフィルタによるトップ10での抽出が出来なくて困っています. 添付しているデータのようなモノなのですが, このデータからA列の1でのトップ3と,A列の2でのトップ3,A列の3でのトップ3を 一度に抽出,出来る方法はないでしょうか? このままトップ10で上位3つを抽出してしまうと,1から3すべてのデータから上位3つを 抽出してしまい思った通りに出来ないのです. ひとつひとつ,やれば出来るのですがデータ列が大量にあり また,同じ処理をしなくてはならないファイルが山のようにあり どうにか出来ないか困っておりますl. どうか,よろしくお願いいたします.

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 一例です。 データはA・B列の4行目からあるとしています。 同順位があっても3データのみの表示としてみました。 ↓の画像でD4セルに(配列数式です) =LARGE(IF($A$4:$A$1000=D$3,$B$4:$B$1000),ROW(A1)) として Shift+Ctrlキーを押しながらEnterキーで確定! これを列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 ※ この画面からコピー&ペーストする場合はD2セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定です。 参考になれば良いのですが・・・m(_ _)m

Blackyan
質問者

お礼

解答ありがとうございます! 画像付きでとても分かりやすかったです. これで,ひとつひとつ編集せずに済みそうです. とても参考になりました, 本当にありがとうございました.

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

先の回答と殆ど同じですが… 添付図参照 E4: {=LARGE(($A$4:$A$31=$D4)*($B$4:$B$31),E$3)}   (配列数式)

Blackyan
質問者

お礼

回答ありがとうございます. 配列数式という言葉,初めて知りました. もっと勉強しないとだめですね(汗) 本当にありがとうございました.

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

D1,E1,F1にそれぞれグループ名(A列)としての1,2,3を記入してあるとすると D2に =LARGE(INDEX(($A$2:$A$100=D$1)*$B$2:$B$100,),ROW(D1)) と記入(ふつーに入力でイイです)してD4までコピー,更に右にコピーします。

Blackyan
質問者

お礼

回答ありがとうございます. やり方もさまざまな方法があるのに驚きました. 参考になります. ありがとうございました.

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル関数で困ってます。

    "オートフィルタ"使用中に "SUMIF"と"COUNTIF"も使用したいのですが… ある条件を"オートフィルタ"で 抽出した以下のような数値を、元に計算したいです。     「A」 「1」 +80 「2」 -10 「6」 +70 「9」 -20 「10」 +60 「11」 -30 「15」 +50 「18」 -40 「19」 +40 「20」 -30 ※「」は行、列の意味です。 ※「行」の数字が飛んでいるのは、オートフィルタで条件抽出の為 抽出された「行」のみ表示されているというイメージです。 ※列は、1列のみです。 上の数値の プラス(0以上の数値)の値 マイナス(0以下の数値)の値 プラス(0以上の数値)の平均値 マイナス(0以下の数値)の平均値 全てのデータの個数の合計 を出したいのですが オートフィルタを使用中が条件なんです。 現在は、抽出したデータをコピーし 計算シートに貼り付けしている状態です。 出来れば、一度に出したいです。 よろしくお願いします<m(__)m>

  • Excel VBAでデータを自動処理したい

    Excelで大量のデータ処理をしなくてはならないのですが、以下の処理をExcel VBAで自動処理できないでしょうか? どなたかお知恵をお貸しください。 (1)A、B、C列からなるリストがあります。A,B列にはそれぞれオートフィルタが設定してあり、C列は空白です。A列、B列にそれぞれ条件を設定し、抽出したデータのC列(空白)に特定のデータを入力します。A列、B列2つの条件の組み合わせが100通りくらいあり、現在手動でオートフィルタを設定し、C列にデータを入力しております。例えばA,B列の条件の組み合わせと、それに対応するC列に入力するデータを表にしたテーブルを別に作り、A,B列の条件を自動に設定して、抽出し、C列にデータを自動に入力することを、テーブルの一番上の行から最後の行まで繰り返す、というようなことをVBAでExcelにしてもらいたいのです。自分でちゃんと勉強し、調べて、それでも分からなかったらお聞きするというのが筋だと思うのですが、今この仕事に追われて、時間がありません。(ほとんど毎日午前様です。)この仕事が片付いたら、じっくりVBAを勉強したいと思っております。どうぞよろしくお願いいたします。

  • エクセル データーの抽出

    エクセル2000を使用しております。 4000件ほどのデーターが縦に並んでおり 1個のデーターには12個の項目(L列)が入っております。 文字数は不規則なA列のデーターの 末尾 Hがある データー(A-L列全部)のみ抽出して別のシートに コピー処理を行いたいです。 VBAを使用してもいいのですが何か良い方法は ありますでしょうか?

  • エクセル関数について教えてください。下記のように(分かりにくかったらす

    エクセル関数について教えてください。下記のように(分かりにくかったらすいません)A列(アルファベット)とB列(数字)にデータがあります。B列にソートをかけ同じ値のものを揃えた状態で、B2~B5が同じもので、なおかつA2~A5も同じデータのものをC列に抽出したいのですが、エクセルが分かりません。C列に抽出するのは「あり」でも「○」でも分かればいいです。 エクセル関数は初心者なので、分かりやすく簡単にご回答していただけますようお願いしjます。。。 1 A列 B列 C列 2 abc 123 あり 3 def 123 4 edf 123 5 abc 123 あり 6 ghi 789 あり 7 ghi 789 あり 8 ghe 789

  • EXCELの表で上位3(TOP3)を表示

    説明がわかりにくいかもしれませんが、 EXCEL2000で例えば10社分のデータのを毎日入力し、その合計の値の TOP3を関数で表示(抽出?)させることはできるのでしょうか? (毎日入力しているので、A~Jの合計値は変動します。 毎日のデータは別シートで入力) 合 計 A社:25 B社:19 C社:55  : I社:37 J社:80 ★TOP3★  A列 B列 (1)J社:80 (2)E社:78 (3)C社:55 セルのA列に社名、B列に数値を返すようにでしたいのですが…。 関数のRANKだと合計の横に順位が出るだけ?のようなので、 指定したセルの範囲に上位3社の社名と数値が表示されるように できる方法をご存知の方、よろしくお願いします。

  • Excelのフィルタ機能とCOUNT関数について

    お世話になります。 データがあり、Excelのフィルタ機能を使用しています。 抽出された件数を表示するためにCOUNTA関数を使用したいのですが、抽出行以外の隠れた行までカウントされてしまいます。 これを解決する方法を教えてください。 またCOUNTIFでの条件を2つ指定できる方法はありますか? (複数列の条件指定 例:A列="あ",B列="ア") 宜しくお願いいたします。

  • Excelですべての組合せを書き出すには?

    Excelはあまり使ったことがありませんが、 Excelにて以下の処理をしなければならなくなりました。 A列に30個の素データがあり、そこから6個を抽出して、 すべての組合せを書き出したいのです。 Excelでこのようなことができるでしょうか? よろしくお願いします。

  • エクセルのフィルターのオプションに関する質問

    例えば、エクセルのデータ件数(エクセルの行数)が100件あり、A列にA,B,C,D,E,F,Gというデータが100件のデータの中に任意に存在するとします。 A列が、CもしくはFのデータのみ抽出したい場合、フィルターのオートフィルターオプションで”Cと等しい” ”Fと等しい” という2つの条件をORで設定することによってできます。(ORで設定できるのは2つの条件まで) A列が、AもしくはCもしくはFの3つのデータのみ抽出したい場合、何かいい方法はあるでしょうか? よろしくお願いします。

  • エクセルのオートフィルタでのデータ抽出&カウント

    エクセルのローデータでのオートフィルタでのデータ抽出&カウントで困っています。 A列にNo.、B列にデータB、C列にデータC、D列にデータDがあるとします。 それぞれの列に1~9までの数字があり、 それぞれの列、 データの一番下(正確には1行開けて)にはSUMやCOUNTIFなどの関数(計算式)が入っています。 で、これをフィルターにかけ抽出した際、この抽出したデータのみで計算の値を表示したいのですが、 やってみると 全データの計算の値で表示されてしまいます。 どうすればよいのでしょうか? 大変困っています。 よろしくお願いいたします。

  • エクセルでもVBAでもいいのですが

    どうしても出来ないので教えていただきたいのですが エクセルでA列に延々と数値データが入っています グラフにするとノイズのような小さな山が続いて次に大きな山が二つでき またノイズのような小さな山が続く ってこんな感じの数値データなのですが このデータから一つ目の大きな山の最大値を抽出したいんです 一つ目の山の方が大きいとは限らないので MAX関数は使えません 山はデータ中のどこにできるかわからないので 何行から何行までって限定することもできません わかり辛い表現で申し訳ないのですが よろしくお願いします

このQ&Aのポイント
  • PINの設定を求められたが、ひらがな入力になっていて英数字が入力出来ない。
  • 急にPINのセットアップを求められたが、ひらがな入力になっていて英数字が入力出来ない。
  • 「富士通FMV」についての質問です。PINの設定でひらがな入力が必要になったが、英数字が入力出来なく困っています。
回答を見る

専門家に質問してみよう