エクセルで絞込み検索をする方法

このQ&Aのポイント
  • エクセルで絞込み検索をしたい場合、特定の条件に基づいてデータを抽出することができます。
  • 具体的な方法は、絞込み検索を行いたいセル範囲を選択し、データタブの絞込みボタンをクリックします。その後、絞込み条件を設定し、抽出したいデータを絞り込むことができます。
  • また、マクロを使用することで、より複雑な条件や操作を行うことも可能です。マクロを使用する場合は、VBAエディタを開いてコードを記述する必要があります。
回答を見る
  • ベストアンサー

エクセルで絞込み検索をしたいのですが。

エクセルで絞込み検索ができないものかと頑張っているのですが知識が足りずできません。 具体的にどういった動作をさせたいかというと、画像を参照していただき、、 ”お客様登録シート”側にそれぞれ情報を登録して、そのデータを”入力シート”側の赤く塗りつぶしたセルそれぞれに検索結果を表示させたいのです。 黄色く塗りつぶしたセルに検索ワードを入力して検索。 登録年月日、又はフレームNo、もしくはその両方に該当する行の情報を出したい、ということです。 そのような、絞込み検索かつ指定した複数のセルにそれぞれの結果を表示させることは可能なのでしょうか? できれば関数でしたいのですが、マクロでないとできないということであればその方法を教えていただきたいです。 関数は少々かじっている程度。 マクロについてはほぼ初心者です。 文才もなく伝わりにくい説明かと思いますが、わかりやすいご回答をよろしくお願いします。

  • mutug
  • お礼率100% (9/9)

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

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

ごく簡単に作成するなら。 お客様シートのA列に 登録年月日-フレームNo というデータを yyyymmdd-AAA のフォーマットで並べておき,B列以右に該当のお客様の情報を羅列して作成してください。 するとたとえばご質問のお客様名称(仮にお客様シートのD列)は =IF(COUNTIF(お客シート!A:A,IF(D10="","*",D10)&"-"&IF(E10="","*",E10))>1,"複数該当",VLOOKUP(IF(D10="","*",D10)&"-"&IF(E10="","*",E10),お客シート!A:M,4,FALSE)) といった具合にさくっと引っ張ってくることができます。 #注意 「年月日」欄の記載ルールを,ここでは20110127のように8桁の数字(yyyymmddフォーマット)で記入することとしている #補足 簡単のため,年月日ならびにフレームは,未記入の場合はフリーワード,記入の場合は完全一致で検索する式です。 もう一つステップアップすれば,たとえば前方一致や部分一致で検索する関数にすることもできます。実際にどういう具合に使いたいのかよく考えて,応用に進んでください。

mutug
質問者

お礼

ご回答ありがとうございました。 その関数の応用を検討してみたいと思います。 ご丁寧な解説ありがとうございました。

その他の回答 (2)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

お客様登録シートの登録方法に気を付ければ、DGET関数で実現できそうです。 詳細はDGET関数のヘルプや解説書などをみて下さい。

mutug
質問者

お礼

DGET関数についてはまだ調べたことがないので、一度調べて試してみたいとおもいます。 わざわざ画像付きでのご回答ありがとうございました。

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

(1)お客様登録シートのシート上のデータはどうなっているのか (2)入力シートはシートのシート上のデータはどうなっているのか 質問文には分けて書くべきだろう。それも画像でなくテキストで書くこと。 画像では1つのシートタブだけしか出ないはず。 そして何処をどう見て捜したいのか文章で解説のこと。 ーー 「絞込み検索」と言っているが、単なる検索ではないのか? 最終は1つのデータが出てくれば良いのだろう。そういうのは検索と 言うのだろう。 ーー ただ本件の難しさは、登録年月日とフレームNoの2つを指定するところにある。 エクセルでは2列にそれぞれ分かれているデータの各々を指定して 該当行データを抜き出すのは関数などでは難しい。 データベースソフトなどでは、AとBの条件を満たすデータを選択する仕組みが備わっているが。, ーー そこで 便宜的に登録年月日+フレームNoの列を設けて、そこに=登録年月日&フレームNo のデータ列を作り、VLOOKUP関数で、登録年月日+フレームNoを第1引数に指定して 見つかった他の列のデータは取ってこれる。 こういう方法が取れそうかどうか考えてみて。 ーー VBAででは中間的にその登録年月日に該当するデータを変数にもち、そこからフレームNoを 探す方法も取れる。 ーー >マクロでないとできないということであればその方法を教えていただきたいです 質問者の側が勉強してないのに、教えてくれと言うのはおかしいでしょう。 牛肉がないなら豚肉といったことではなく、受け取る質問者側での レベルと関連する。回答者の問題ではない。 ーー エクセルを仕事に使うなら、VBAを使わないと旨く出来ない場合が直ぐ出現する と思う。勉強してから質問(VBAの回答を求める)すること。

mutug
質問者

お礼

お厳しいお言葉ありがとうございます。 確かに言われた通りだとおもいます、画像などではなくちゃんとした形での説明をするべきでした。 ご指摘など参考にさせていただきます。 もっと勉強して再び質問をするさいには きちんとした説明ができるようにしたいとおもいます。

関連するQ&A

  • エクセルのVBAマクロで検索と結果表示(抽出)

    エクセルのVBAマクロで検索と結果表示(抽出)を行いたいです。 業務で使用している膨大なリストデータから、特定のキーワードで情報の絞り込みを行いたいのですが、上手くマクロが組めません。 機能としては、シート1で特定のキーワード(テキストボックスに)を入力し検索ボタンを押下すると、 シート2のリストデータから検索に引っかかったセルの"行"を、シート1にリストアップ(貼り付け)していくようなマクロを作りたいのです。 シート2にはB列~AH列xn行のリストデータがあり、シート2のK列のセル内から「シート1のテキストボックスで入力したキーワードを含む」検索を行い、 HITした行をシート1のA9の行から結果として表示を行いたいんです。 簡単に言えばオートフィルタ機能の部分一致版を作りたいのですが・・・。 (オートフィルタでは完全一致でしか抽出が出来ないので) そして、検索ボタンを押下すると前回結果はクリアしたいです。 ネット上のサンプル等も参考にしながらやってみたのですが上手く行きません。。。 どなたか上記のマクロ文をご教授願えないでしょうか。 必要な情報(シート2の特定の列)のみ表示させたいとも思いましたが、むずかしくて断念・・・。 もし可能でしたらこちらもお願い致します。 よろしくお願いいたします。

  • SQLでの絞り込み検索

    はじめて参加します。 SQL初心者の古屋と申します。 絞り込み検索をしたいのですが、先に進まず困っています。 どうぞアドバイスをよろしくお願いします。 あるテーブルから1回目の検索条件でヒットしたものを表示させる。 次に、その中から2回目の検索条件を入力して、結果を表示させる。 (ポイントは、一度検索した結果を出してから、次の検索条件を入力させたい) この絞り込みを何回でもやりたいのです。 一時テーブルも試したのですが、検索する回数分一時テーブルが必要になるのではだめだと思い、 断念しました。 テーブル値関数を使ったら良さそうだと思ったのですが、能力不足のため先に進まず困っています。 どうかアドバイスをよろしくお願いします。 環境は、Windows 2000 Serverで、SQL Server 2000を使用しています。

  • エクセル(2007~)のマクロ検索での画面表示についてお教え下さい。

    エクセル(2007~)のマクロ検索での画面表示についてお教え下さい。 エクセル初心者です。現在お仕事で入力作業をしていますが、 マクロで作成されているデータにつきまして、 登録番号 氏名 フリガナ ローマ字氏名 生年月日 受付日 などの個人情報が多量に入力されております。 例えば、 生年月日のみ、まだ入力がされていないため マクロの検索で登録番号から一人一人呼び出して生年月日を追加入力して行くのですが、 検索が終わった後、1件分のみの表示になるのですが もとの表示に戻したいのです(再度、多量の個人情報を表示)。 どこのどのボタンを押せば良いか、教えて頂きたいです。 それともう1点なのですが、 半角カタカナは、ャョ などの小文字が使えない(データベース?などですでに設定されているので、良子:リヨウコとなる)ようなのですが、手入力してみるとリョウコと入力が出来るのですが どのような事が考えられますでしょうか。。? 分かりづらい表現で申し訳ありませんが宜しくお願い致します。

  • エクセルで曖昧検索および絞込みをしたい

    エクセルでなんですが、あいまい検索・かつ絞込みを行いたく。。 ここでは品番検索の簡易システムとして使いたく、 例えば   A   B    C   D (1) メーカー  車種   品番  単価 (2) トヨタ マジェスタ   ABC  10,000 (3) トヨタ ソアラ   BBO  5,000 (4) トヨタ セルシオ  MFR  1,000 (5) 日産  セフィーロ   MMFR  1,500 (6) トヨタ センチュリー   JUGY  9,000 上記のようなデータがSheet1にあり、 Sheet2の特定項目に、例えば「トヨタ」の「ト」をいれたら 同じSheet2の特定項目の下にトの分が一覧で表示される。 (ここで言えば見出しの(1)と、(2)(3)(4)(6)の行) また、車種の項目に車種を、これも同じように「セ」と入れると、 先ほどの一覧中、セで始まる分だけがさらに絞り込まれ、 同じく一覧で表示される。(ここで言えば(1)と、(4)(6)の行) オートフィルタを使えば?と言われそうですが、 リストから該当するものを選ぶのでなく(選択する種類が 多すぎるため)、入力をさせたいのです。 色々調べてみたのですが見当がつかず。。 分かりそうでしたら教えていただけると助かります。 どうかよろしくお願いします。

  • 検索結果に対する絞込み

    お世話になってます。 検索条件で絞り込んだ結果に対して、さらに絞込みをかける方法を教えてください。 検索条件を持ち歩いてもいいのですが、30個近くあるのでセッションを使うことにしたのですが、うまくいきません。 具体的には ID 名前 住所 地区 1 山田 東京 関東  2 佐々木 東京 関東 3 鈴木 埼玉 関東 4 岡田 大阪  関西 最初に「関東」を検索条件に検索すると表示画面に3件表示されます。 セッションテスト1($_SESSION["test1"])には検索後の3件のIDを登録しました。 次に表示画面には検索条件のテキストフィールドがあり、「東京」と入力すると2件表示されます。 具体的にはセッションテスト1に値がセットされていれば $kensaku=$_SESSION["test1"]; $sql="SELECT *from test1 where ID=$kensaku and 住所=東京"; としています。 ここまでは絞込みがうまくいき表示できたのですが 戻るボタンで戻ったとき、「埼玉」といれて検索をかけると、1件表示させたいのですが $_SESSION["test1"]に値がセットされていて、 先ほど「東京」で絞り込んだ結果に検索をかけているので、表示されません。 不動産などのサイトを見るとパラメーターで渡しているのですが、セッションを使う方法ではできませんでしょうか。 わかりにくい文章で申し訳ないのですが、 検索結果に対して、さらに検索を何度もかけるという方法を教えていただければ助かります。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 検索結果をセルに表示させるマクロ

    こんにちは。 エクセルのマクロ初心者です。 シート1に作ったあるリストから、シート2のあるセルにキーワードを入力すると、隣のセルに検索結果を表示させるマクロと作りたいのですが…。 エクセルの検索機能を使って、キーワードを入力し、次を検索をクリックすると、シート1のリストの中の部分的に合致するセルをカーソルは選択しますよね? その選択したセル内容をシート2のセルに表示させる方法がわかりません…。 アドバイスいただけないでしょうか。

  • エクセルの検索

    エクセルの質問です。 使用しているのは、オフィス2000で、OSはWIN2000です。 A列にランダムに日付があると仮定します。 エクセル関数で、日付範囲(2005/3/3~2005/3/20)で検索をした結果のセルの個数を調べるにはどうしたらよいでしょう? 別シートで検索したい範囲の入力をして該当個数を表示するような物を作りたいんですがいい方法ありますか? 宜しくお願いします。

  • エクセルでのデータのあいまい検索のVBAについて

    VBAかマクロで作成したいと思いますが、あいまい検索ができずに困っております。 どなたかご教授お願いできますでしょうか? 一応画像を添付しておりますが大変見にくく申し訳ないです。  一つのファイルで2枚のワークシートを使用してデータのあいまい検索をしたいと思っております。 画像1の方のワークシートがSheet2になっていてこちらの”I”の列に入力しているデータが画像2になりますが登録商品リストの”G”の列に含まれているかを検索したいと思います。 その結果は”Sheet2”の緑色の部分”I”のセルにデータがあれば”*”をJのセルに表示したいと思います。 登録商品リストには長いもので桁数が30桁近いものもありますがこの桁数を8ケタくらいまでの一致でSheet2のIの列のデータと照合して結果をJに表示できればと思っております。何卒ご教授くださいますようお願いいたします。 照合するデータにつきましては、その日によって件数が違いますので、Sheet2のI列にあるデータが200件くらいの時もあれば2000件くらいの時もございます。 登録商品リストは登録するたびに量が増えていくので照合件数も増えていくことになりますので、どちらも1行指定でできればべすとだとおもっております。

  • エクセルの検索マクロ

    以下のようなマクロを作成しようとしているのですが、なかなかうまくいきません。 どなたかご教授お願いいたします。 ・セル(A,2)に入力されている文字を検索ボタンを押すことで検索する  ※検索ボタンはコマンドボタン ・検索対象は、Book内の全シート ・検索後は、見つかったセルに移動 ・見つからなかった場合は、”ありません”を表示

  • EXCELで、『検索』をやりやすく!

    行が400あるファイルなのですが、簡単な検索の仕方を 探してます。 いつも 『ctrl+F』でウィンドを起動して入力するのですが、 例えば、何処かのセルに検索できる関数とかは無いのでしょうか? また、マクロの設定などで何処かのセルに入力するとその行まで ジャンプできるなどの便利な機能は無いのでしょうか? 宜しくお願い致します。

専門家に質問してみよう