• ベストアンサー

エクセルでフィルターかけたデータをVLOOKUP

エクセルのフィルター機能について質問です。 フィルターかけて絞り込んだデータをVLOOKUPの範囲に指定したいです。 しかし、やってみるとフィルターかけて絞り込む前の全てのデータが範囲になってしまいます。 問題を解決する方法はありませんか?

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

  • ベストアンサー
noname#212067
noname#212067
回答No.3

はじめまして、こんにちは 「フィルターかけて絞り込んだデータをVLOOKUPの範囲に指定したいです。」ということですね データが範囲は、返られませんが フィルタで選択している行とそうでない行の差異をVLOOKUP関数に教えることによって、結果的に 絞り込んだデータの範囲とすることができます。 以下の表で、フィルタ範囲は「A3~G3」だとします。 「A1」には、手入力で「A」が入力されています。 「B1」には、VLOOKUPで検索した「G4」の内容が表示されています。 フィルタをかけ、「コード1」で絞り込むと、「コード1」に対応する「金額」が「B1」に表示されます 式 「B1」の式は「=VLOOKUP("1" & A1,B4:G12,6,FALSE)」 フィルタで選択された行「D4」が「1」だけを検索させる 「B4」の式は「=D4&F4」は「FLAG」+「コード2」 「D4」の式は「=SUBTOTAL(2,C4)」はフィルタで選択された行は「1」が表示される。 他は、値が入っています。 基本形だけなので、細かいエラーチェックは、追加してください。 ■■■■A■■■B■■■■C■■■D■■■■E■■■■■■■F■■■■■■■■G 1■■■■A■■■1 2 3■■■■NO■■KEY■■■DUMMY■FLAG■■■コード1■■■コード2■■■■金額 4■■■■1■■■1A■■■1■■■1■■■■■AAAAA■■■■A■■■■■■■■1 5■■■■2■■■1A■■■1■■■1■■■■■BBBBB■■■■A■■■■■■■■2 6■■■■3■■■1A■■■1■■■1■■■■■CCCCC■■■■A■■■■■■■■3 7■■■■4■■■1A■■■1■■■1■■■■■DDDDD■■■■A■■■■■■■■4 8■■■■5■■■1A■■■1■■■1■■■■■EEEEE■■■■A■■■■■■■■5 9■■■■6■■■1A■■■1■■■1■■■■■FFFFF■■■■A■■■■■■■■6 10■■■■7■■■1A■■■1■■■1■■■■■GGGGG■■■■A■■■■■■■■7 11■■■■8■■■1A■■■1■■■1■■■■■HHHHH■■■■A■■■■■■■■8 12■■■■9■■■1A■■■1■■■1■■■■■IIIII■■■■A■■■■■■■■9 13■■■■END

ladybaby
質問者

お礼

回答者様の知識の深さが滲み出るお答えでした。非常に勉強になります。 具体的なアドバイスめちゃくちゃ助けになりました。感謝してもしきれない位ですo(^-^)o

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

たとえば =VLOOKUP(検索値,A1:B100,2,FALSE) のような計算をしていたとすると。 =IF(検索値="","",INDEX(B1:B100,MATCH(検索値,IF(SUBTOTAL(3,INDIRECT("A"&ROW(A1:A100))),A1:A100,""),0))) と記入して,必ずコントロールキーとシフトキーを押しながらEnterで入力すると,できます。 必ずまずまっさらのエクセルシートに練習用にサンプルデータを作ってキチンと計算できることを確認してから,本番で行ってみてください。

ladybaby
質問者

お礼

とっても参考になる回答をありがとうございます(^O^)感謝感激です 試しにやってみました。希望の光が見えました(^∀^)ノ

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

例えば次のようにいてはどうでしょう。 一度こちらの提案通りで操作をしてみてください。その後にご自分のケースに当てはめて応用してみてください。 例えばA1セルには氏名の性の文字があり、下方に性のデータが有るとします。B列にはB1セルに年齢の文字があり下方にデータが有るとします。C列にはC1セルに金額などの文字があり下方にデータが有るとします。 そこでフィルターをB列を重点にして行い、例えば50歳の人を選択したとします。その選択をされた状態でA列で木村の人の金額を表示させるとします。その場合には次のように作業列を作って対応します。 D2セルには次の式を入力して下方にドラッグコピーします。 =IF(SUBTOTAL(3,A2)>0,A2,"") そこでVLOOKUPの代わりにMATCH関数を使ってC列の数値を表示させるとしたら次のようにします。 =INDEX(C:C,MATCH("木村",D:D,0)) このことにより木村がもっと若い年齢の人がいる場合でも50歳でフィルターを掛けて最初にA列で木村の人の金額を表示させることができます。

ladybaby
質問者

お礼

回答感謝です!!めっちゃ参考ににりました。お知恵を活用します☆ 世の中にはおやさしい方がいるものですねo(^-^)o会社の先輩より百倍聞きやすいです!

関連するQ&A

  • エクセルのVLOOKUPについて

    エクセルのVLOOKUPの関数についていまいち使い方がわからなく、質問します。 今、9999という検索数値があった場合、結果はすべて空白にしたいのですが、 9999という列には0が入っており、9999の場合は空白としたいです。 vlookup関数の前にIF文で指定すれば良いのかもしれませんが、 やり方がよくわからず困っています。 どなたか教えてください。

  • EXCELのVLOOKUPについて

    はじめまして VLOOKUP機能を使っていたら行き詰ってしまったので質問します。 =VLOOKUP(検索値、範囲、列番号、検索の型) と言う形で作っているのですが 列番号のところを行番号で指定したい場合は どのようなコマンドを入れればよろしいのでしょうか? 宜しくお願いします。

  • エクセルデータの扱い方について

    エクセル初心者です。 変な質問かもしれませんが宜しくお願いします。 2つの似通ったデータベースがあり、一方は日々更新されるとして、更新されたデータだけをエクセルで抜き出す方法はありますか。 同じデータを抜き出す時は、「データ」→「フィルタオプションの設定」→「検索条件の範囲」を指定する方法でやっています。

  • excelのオートフィルタが遅いがどうしたらよいか

    Excel97をWinXPで使っています。 数万行のデータを絞り込むために、オートフィルタを使おうとしています。 絞り込みは問題なく行えるのですが、そこからまたすべて表示させる際に、再計算と表示されて数分待たされてしまいます。 これを解決する方法はないでしょうか。 エクセルビューア2003ではそのような問題が起こらないようですが、新しいバージョンのエクセルでは問題ないのでしょうか? エクセルビューアを使うという方法もあるわけですが、他の方にもこのデータを使っていただく都合上、できるだけダウンロードをしないで済む方法を模索しています。エクセルビューアは再配布できませんし。

  • 《エクセル2000》VLOOKUP、クエリについての質問

    こんにちは。エクセルのバージョンは2000(アップデート済み)です。 タイトルのとおり、2つほど質問があります。 詳しい方、なにとぞよろしくお願いします。 【1.VLOOKUP】 A列に市町村名、B列に人口が入っています。 市町村名をキーに、VLOOKUPを使ってC列に別シートにある庁舎の住所を入れたいです。 …といった場合なのですが、当然自治体名には重複があります。 そこで質問なのですが、キーとなる列のデータに重複がある場合、VLOOKUPを使うとどうなるのでしょうか? 【2.クエリを使った外部データの抽出】 クエリを使ってデータを抽出する場合、数値の範囲など色々な条件を加味させることができますが、「抽出する行の範囲を指定する」のに、一番手っ取り早い方法は何でしょうか。 例えば、A列に番号を入れるようにして、その数字の範囲内で拾うという方法があると思うのですが、もっとスマートな方法はあるでしょうか。

  • ExcelのVLOOKUP関数について

    エクセルの初心者です。 VLOOKUP関数での範囲指定の範囲が同じシートではなく、全く別のファイルにある場合、どのように範囲指定すればよいのでしょうか。 お知恵をお貸しください。

  • エクセルのオートフィルターを解除できますか?

    エクセルのオートフィルターで、 全ての範囲を対象としたく ◎指定した範囲 リスト範囲 検索条件範囲 抽出範囲 は$1:$65536にしたら、 A1のセル以外すべて空白になってしまいました(T_T) オートフィルターなしの状態に 戻す方法はあるのでしょうか?

  • 三四郎2009に、エクセルの「データ→フィルタ→オートフィルタ」と同様

    三四郎2009に、エクセルの「データ→フィルタ→オートフィルタ」と同様の機能はありますか?

  • エクセルのVLOOKUPについて

    エクセルのVLOOKUPについて ものすごく読みづらい、理解しづらいかもしれませんが付き合ってください・・・ エクセルでvlookupを使って検索するときに検索する対象の表(シートではない)が複数あって、表ごとに空白の列で区切ってあって、検索するキーワードの文字列が同じものが複数ある場合、ダブっているものが複数あるので正常に検索することができないですよね? 検索する対象の文字列は全てダブっていないものでないといけないですよね? 検索する列範囲で一列目に検索する文字列の隣にたとえばグラフの範囲を書き込んだら検索する文字列のところにグラフの範囲が表示されますがその範囲に基づいて指定の種類のグラフを作成するような関数はありますか? 聞きたいことの要約 文字列で検索する 検索する範囲の2列目にグラフの範囲を書き込む VLOOKUPを検索する文字を書くところに入れる 文字で検索する グラフの範囲が返され自動的に縦棒グラフが自動的に表示される この様なことができますか?

  • エクセルVLOOKUPについて

    私の質問をご覧ぐださっている方、こんにちは。 エクセルのVLOOKUPにお詳しければ、ぜひ貴方様の知識を私にお与えください。 請求書を作っています。以前この質問コーナーでVLOOKUPの使い方を教えていただき、何とか請求書を作ることが出来ました。 このようなものです↓ 検索範囲です。 品番  部品名 あ   101。。。。A 102。。。。B 103。。。。C か  201。。。。Z 縦にあ~わの段に並べています。 ですが品数が多すぎて縦に一列に表を作ると、とても見辛いのです。 なので今度は、 SHEET   あ     か     さ ・・・・・・・      101 A   201 B   301 C と横に表を作って見たのですがうまく検索できません。 =VLOOKUP(検索地,範囲,列番号,[検索方法])=VLOOKUP(検索地,範囲,列番号,[検索方法]) と検索範囲をVLOOKUPでつないで…というのはやはり出来ないことなのでしょうか? もし何か良い方法があれば教えてくださいませんか? お時間をとらせた上このような幼稚な説明で申し訳ありません。 どんなことでもいいのでご意見くだされば本当に助かります。 よろしくお願いいたします。

専門家に質問してみよう