• ベストアンサー

検索したい日付からデータを抽出したい。

こんにちわ。 キャンペーンが何日~何日までどういった内容がある、という一覧を作成しています。 Aの列が開始日、Bの列が終了日、Cの列がキャンペーン内容、です。 検索したい日付をD1のセルに入力したら、その日付に該当するキャンペーンすべてを別のシートに抽出できないでしょうか・・・ オートフィルタで抽出は出来るのですが、日付を入力しただけで抽出 させたいのですが、無理でしょうか・・・ よろしくお願いします。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

フィルタオプションの設定を利用して抽出する方法ですが如何でしょうか。 ・参照シート(仮にsheet1で見出し行ありとします)で抽出シート(仮にsheet2とします)とします。 (1)sheet2のA1は未入力、A2に=(Sheet1!A2<=$B$2)*(Sheet1!B2>=$B$2)し、B2に日付を入力 (2)sheet2の任意セルを選択→データ→フィルタ→フィルタオプションの設定 (3)「指定した範囲」をチェック、「リスト範囲」欄にSheet1!A:C、「検索条件範囲」欄にsheet2A1:A2、「抽出範囲」欄にA4→OK 因みに(2)~(3)をマクロ登録しておくと以後の操作が楽になります。

tubasakko2
質問者

お礼

ありがとうございました。 参考にしてみると理想通りになりました☆

その他の回答 (1)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

データが入力されているシートをSheet1、抽出先のシートをSheet2とします。 なお、Sheet1のデータはA1から開始し、見出し行及び空白行が無い事を前提とします。 Sub Sample() Dim Data As Range Dim i As Long Dim j As Long Set Data = Sheets("Sheet1").Range("a1").CurrentRegion j = 1 For i = 1 To Data.Rows.Count If Data.Cells(i, 1) <= Sheets("Sheet1").Range("d1") And _ Data.Cells(i, 2) >= Sheets("Sheet1").Range("d1") Then Data.Rows(i).Copy Destination:=Sheets("Sheet2").Cells(j, 1) j = j + 1 End If Next i Set Data = Nothing End Sub

tubasakko2
質問者

お礼

ありがとうございます。 チャレンジしてみたいと思います。

関連するQ&A

  • 今日の日付のデータをすばやく抽出するには・・

    売上日報をエクセルで作っています。 A列に1から順にNOを入れています(LOOKUP関数を使うためです) B列に日付を入れています。 C列に社名を入れています。 その他の列にもいろんなデータが入っています。 本日の日付だけをすばやく抽出したいと思うのですが、どうすれいいか分かりません。 オートフィルタで今日の日付を選ぶ方法はやれます。 でも、もっと早く抽出できる方法はないでしょうか? 数ヶ月分のデータが入っているため、オートフィルタの三角をおしたあと、今日の日付を探すのに結構手間取ります。 もっとすばやく抽出したいのです。どんな方法でもいいです。どなたか教えて下さい。

  • VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えて

    VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えてください。 A列、C列に日付が入っていて、A列は空白以外のセルを表示し、かつC列は、開始日、終了日で抽出したいのですが、うまくいきません。 With Worksheets("sheet").Activate 開始日 = ">=" & TextBox1.Text 終了日 = "<=" & TextBox2.Text .Range("A1:N200").AutoFilter Field:=1, Criteria1:="<>" .Range("A1:N200").AutoFilter Field:=3, _ Criteria1:=開始日, Operator:=xlAnd, _ Criteria2:=終了日

  • 日付データで自動でオートシィプの線を引く

    A列に内容 B列に開始日 C列に終了日を日付で入力し タイトル行に1日おきの日付を入力しサンプルのように 開始日から終了日までオートシェイプで線を自動で引くには どうしたら良いでしょうか

  • エクセルで、異なる日付の入っている行を抽出する。

    1 あ  20060102  20060102  さる 2 い  20060203  20060203  いぬ 3 う  20060303  20060301   きじ 4 え  20060404  20060404  ねこ 5 お  20060501           わに 2つの列に年月日が入力されてますが、上のように数値として入力されています。 5の行のように右の列の日付が空白になっているものもあります。 この中から2つの列の日付を比較して、両方に日付が入力されていてかつ異なる行を下記のように、抽出したいのです。 3 う 20060303 20060301 きじ オートフィルタのフィルタオプションでやろうと思ったのですが、うまくいきませんでした。 よろしくお願いします。

  • 初心者用、日付検索でデータを抽出

    初心者用、日付検索でデータを抽出 いろいろWEBを検索してやり方を探しましたがあまりに初心者過ぎて試しても うまく動きません、 やりたいことは、 アクセス 2007を使用して下記のようなクエリから Qデータ (クエリ) 入力日 日付型 あああ テキスト型 いいい テキスト型 ううう テキスト型 開始日 日付型 終了日 日付型 終了日を入力して、(例2010年3月10日から2010年3月20日)までの あああ、いいい、うううの結果を抽出したいです、フォームを使って 一番簡単にできそうなやり方教えてください。 ・ACCESS簡単な使用法、accessクラブ、アクセス初心者入門などなど  見つくしましたが、理解できずで困っています。 どうぞ、よろしくお願いいたします。

  • Excel 該当データ数の抽出方法(日付)

    Excel 該当データ数の抽出方法(日付) <元データ>  A    B      C 1 氏名  開始日  終了日 2 3 青木 2010/3/1 2010/3/10 4 石田 2010/3/1 2010/3/20 5 鈴木 2010/3/3 2010/3/7 6 佐藤 2010/3/1 2010/3/3 7 田中 2010/3/5 2010/3/17  上記のような元データがあった場合に、各日に実施されているデータ数(開始日~終了日の間 に当たるデータ数)を以下のように抽出したいのですが、その方法を教えていただけないでしょうか。抽出先は同じシート内でも、別シートでもいいのですが。 <抽出>    A      B 1  日付    該当数 2 3 2010/3/1   3 4 2010/3/2   3 5 2010/3/3   4 6 2010/3/4   3 7 2010/3/5   4  よろしくお願いします。 

  • Excelで西暦の日付から「和暦のみ」を抽出する方法を教えてください。

    エクセル初心者です。 エクセルのオートフィルタを使って、「平成19年」「平成20年」「平成21年」ごとに表示させたいのですが…。 セルには以下のように日付が入力されているとします。   A      B      C 2007/3/14 2007/3/16 2008/3/18 2008/3/14 2009/3/16 2009/3/18 これを書式設定で「平成19年3月14日…」と和暦で表示してみても、オートフィルタでは日ごとになるだけで、「年ごと」にはなりません。 そこで、B列にA列のデータから和暦のみを抽出したらいいのではないかと考えたのですが…初心者ゆえにその方法を思いつくことができません。 西暦の日付から「和暦のみ」を抽出する事はできるのでしょうか?

  • データベースとデータの抽出について

    データベースとデータの抽出について エクセル2003で以下のような、表を作っています。 データは現在、A列に10000万件程度入っています。 4列目の購入日付データの年、月、日がそれぞれのセル(D2、E2、F2) に分割入力されています。 このデータベースから、氏名と購入日付を基準キー にして、顧客NOと購入日付(1つのセルに結合)、 購入商品を抽出し、シート2に転記していきたいです。 抽出方法は、シート2に以下のような形で検索  表示したいです。 (シート2) 氏名(B1に表示)→C1に入力 抽出開始年月日(D1に表示)→年はE1、月はG1、日はI1に入力  抽出終了年月日(D2に表示)→年はE2、月はG2、日はI2に入力 検索後、表示される顧客NOと購入日付、購入商品は 同じシート2の以下のセルに表示したいです。 顧客NO(L1に表示)→L2から下に表示 購入日付(M1に表示)→M2から下に表示 購入商品(N1に表示)→N2から下に表示 したいです。 日付が分割入力されているため、抽出がうまくできません。 氏名、または名字だけでうまく検索できるコードはあるでしょうか。 どうぞよろしくお願いします。

  • EXCELで別ファイルからデータを抽出するには?

    EXCELについて条件に一致する列の内容を抽出する方法を教えてください。 シート1の行に日付があり、列に品名と日ごとの数を入力してあるシートがあります。 このシートの内容を別のシートに日付を入力すると、その日の内容が表示されるようにしたいのですが、うまくいきません。 [シート1]     1    2    3   4 (←日付) A品  10  20  30   40… B品  30   10  40  20… C品  15  16   17  18… D品  20  21   22  23… [シート2]     *(←日付を入力) A品 (   ) B品 (   ) C品 (   ) D品 (  ) シート1とシート2はそれぞれ別ファイルで同時に開いている状況です。 シート2の*部分に日付を入れると該当する日付の各品名の数量が( )の部分に表示されるようにするにはどうしたらよいですか?

  • VBAの日付範囲の抽出について

    作業SheetのC列から日付で範囲指定して検索された行を検索workへ行をコピーしたいのですが、 日付の抽出がうまくできません。どなたかご教授願います。 また、できることなら、オートフィルタを利用せずに抽出したいのですが、書き方がわかりません。 素人の質問で申し訳ございませんが、よろしくお願いします。   開始年月日 = ">=" & S受付日Box.Text 終了年月日 = "<=" & E受付日Box.Text Worksheets("作業Sheet").Range("C1").AutoFilter _ Field:=3, _ Criteria1:=開始年月日, _ Operator:=xlAnd, Criteria2:=終了年月日 Worksheets("作業Sheet").Range("A2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _ Worksheets("検索work").Range("A2") Worksheets("検索work").Range("2:2").Delete 'タイトル行の削除 MsgBox "抽出が完了しました。「検索結果の表示」ボタンから確認してください"

専門家に質問してみよう