
エクセルについて、あるデータから指定期間内のデータを別シートへ抽出する方法を教えてください。
例)
No. 日付 名前 数字 配達先
1 5/1 AAA 5 BBB
2 5/6 CCC 10 DDD
3 5/14 EEE 4 FFF
4 6/6 GGG 20 HHH
データは毎日更新されます。
ここであるセルに「2012/5/1」~「2012/5/31」と入力し、その期間内のデータを別シートへ引っ張りたいです。指定期間は人によってその都度様々です。
色々調べたのですが、オートフィルターでは行えそうになく、VBAを使用した方がよいと思ったのですが、初心者のため分かりません。どなたか教えていただけますと大変助かります
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
》 オートフィルターでは行えそうになく、VBAを使用した方がよいと思った…
“初心者”は先走って思い込まないことをお奨めします。
[オートフィルタ]で抽出したデータをコピーして、別シートに貼り付ける手もあります。
詳細な手順は省くけど、添付図は[フィルタオプションの設定]を利用した経過&結果を示しています。
[抽出先] “指定した範囲”
[リスト範囲] Sheet1!$A:$E
[検索条件範囲] $D$2:$D$3
[抽出範囲] $A$5:$E$5

お礼が遅くなり、申し訳ございません。
ご教示ありがとうございました。
確かに、一般的な機能を使いこなせていないのに、
マクロと先走らず勉強してみようと思います。
オートフィルターをうまく使いこなしてみます。
No.4
- 回答日時:
シート1にはお示しの表が有り、A1セルからE1セルには項目名が有り、2行目以降にそれぞれのデータが入力されているとします。
シート2はお求めの表でA1セルには2012/5/1のように検索の初めの日付が、B1セルには から の文字が、C1セルには2012/5/30のように検索の終わりの日付が入力されているとします。
そこでシート1に戻ってシート1のF2セルには次の式を入力して下方にドラッグコピーします。
=IF(B2="","",IF(AND(B2>=Sheet2!A$1,B2<=Sheet2!C$1),MAX(F$1:F1)+1,""))
シート1のF列のデータをもとにシート2の表を作ります。
シート2のA2セルからE2セルまでのはシート1の1行目の項目名をコピーして貼り付けます。
シート2のA3セルには次の式を入力してE3セルまで横のドラッグコピーしたのちに下方にもドラッグコピーします。
=IF(ROW(A1)>MAX(Sheet1!$F:$F),"",INDEX(Sheet1!$A:$E,MATCH(ROW(A1),Sheet1!$F:$F,0),COLUMN(A1)))
最後にシート2のB列を選択して右クリックしセルの書式設定からセルの表示形式で日付を選択します。
お礼が遅くなり、申し訳ございません。
ご教示ありがとうございます。
関数を使うことが頭になかったので、
関数でもできることに驚きました。
ありがとうございました。
No.3
- 回答日時:
作業列を使用しない方法です。
今仮に、元データの表中で「No.」と入力されているセルがSheet1のA1セルであり、Sheet2のB1セルに指定期間の最初の日付を入力し、Sheet2のD1セルに指定期間の最終日の日付を入力すると、Sheet2のA列~E列の4行目以下に、抽出されたデータが表示されるものとします。
又、Sheet1の日付は、必ず、古い日付が上になり、新しい日付が下に来るように並べられているものとします。
又、Sheet2のC1セルには「~」と入力されていて、例えば、Sheet1のB1セルに「2012/5/1」という日付が入力されていて、Sheet2のD1セルが空欄となっている場合には、指定期間は「2012/5/1~」という事で、2012/5/1以降の全てのデータが抽出されるものとし、
又、例えば、Sheet2のB1セルが空欄で、Sheet2のD1セルに「2012/5/31」と入力されている場合には、指定期間は「~2012/5/31」という事で、2012/5/31以前の全てのデータが抽出されるものとします。
(指定期間を1日分のみとする場合には、同一の日付を両方のセルに入力して下さい)
まず、Sheet2のA4セルに次の関数を入力して下さい。
=IF(ROWS($4:4)>IF(AND(ISNUMBER(1/DAY($D$1)),COUNTIF(Sheet1!$B:$B,"<"&$D$1+1)),MATCH($D$1+"23:59:59",Sheet1!$B:$B),IF(COUNT(Sheet1!$B:$B),MATCH(9E+99,Sheet1!$B:$B),0))-IF(AND(ISNUMBER(1/DAY($B$1)),COUNTIF(Sheet1!$B:$B,"<"&$B$1)),MATCH($B$1-"0:0:1",Sheet1!$B:$B),ROW(Sheet1!$B$1)),"",INDEX(Sheet1!$A:$A,IF(AND(ISNUMBER(1/DAY($B$1)),COUNTIF(Sheet1!$B:$B,"<"&$B$1)),MATCH($B$1-"0:0:1",Sheet1!$B:$B),ROW(Sheet1!$B$1))+ROWS($4:4)))
次に、Sheet2のB4セルに次の関数を入力して下さい。
=IF(ISNUMBER(1/(VLOOKUP($A4,Sheet1!$A:$E,MATCH(B$3,Sheet1!$A$1:$E$1,0),FALSE)<>"")),VLOOKUP($A4,Sheet1!$A:$E,MATCH(B$3,Sheet1!$A$1:$E$1,0),FALSE),"")
次に、Sheet2のB4セルをコピーして、Sheet2のC4~E4の範囲に貼り付けて下さい。
次に、Sheet2のB4~E4の範囲をコピーして、同じ列の5行目以下に貼り付けて下さい。
以上です。

No.2
- 回答日時:
VBA を使わないとできないという処理は確かにありますが、Excel の一般機能でできることを VBA で行っても、そのほうが有利と言える条件が揃っている場合を除いて、あまりお勧めしません。
趣味としてはいいですが、実務的には簡単な処理がかえって手間がかかってしまうし、一般機能が使えていない人が VBA のコードをスラスラ書けるとも思えません。まずは Excel の基本的な機能を使いこなせるよう学びましょう。ご要望のことは、オートフィルタでも問題なくできると思いますよ。添付図は、質問文の表を「2012/5/2~2012/5/15」という期間で絞り込んだ状態のものです。
別シートに保存したければ、絞り込んだ状態で表をコピーし、別シートに貼り付けるだけのことです。
例えば、「5/1」というセルにカーソルを置いた状態で、数式バーを見てみましょう。「2012/5/1」などと表示されているかと思います。セルでは「5/1」と表示されていても実際は年月日のデータであり、書式で「5/1」と表示させているだけだからです。そのセルに設定されている書式の確認は、右クリックの「セルの書式設定」の「表示形式」タブでできます。
「2012/5/1」といった年月日のうち年などが正しくないようなら、正しい年に書き換えておきましょう。数式バーをクリックまたはセルをダブルクリックで、部分的にも編集できます。
こうして年月日が正しくなっていれば、オートフィルタで狙いどおりに絞り込めます。その具体的な方法は、参考 URL を参照してください。Excel2003 と 2007 の両方で紹介されています。
Excel2007 では、参考 URL のページの図にある「日付フィルタ」という箇所をクリックすると、「指定の範囲内」というのが選べると思います。月単位での絞込みの場合は、チェックボックスでもできますね。
参考URL:http://officetanaka.net/excel/function/tips/tips …

お礼が遅くなり、申し訳ありません。
ご丁寧にご教示頂きありがとうございます。
確かにマクロにこだわる理由はありませんね、、。
もっと一般機能について勉強してからにします!
No.1
- 回答日時:
こんばんは。
添付図:
シート1のA,B,C,D,E列に元データ。
手順:
シート2のC1とC2に「2012/5/1」~「2012/5/31」と入力することにして。
A2セルに
=IF(MEDIAN(Sheet1!B2,$C$1:$C$2)=Sheet1!B2,ROW(Sheet1!B2),"")
と記入、下向けに沢山コピー
E2セルに
=IF(ROW(E1)>COUNT($A:$A),"",INDEX(Sheet1!A:A,SMALL($A:$A,ROW(E1))))
と記入、右に下にコピー。
まずは練習として回答の通りにまっさらエクセルに作成し、その通りにできるようになってから、改めてあなたの本番を作成してください。
#毎日5回は寄せられるご相談なので、誰が作成してもどこかで見たような回答になりますね。

お礼が遅くなり、申し訳ありません。
教えてくださり、ありがとうございました!
色んな方法があるんですね。とても勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 更新前と更新後の差分をVBAを使って抜き出したい 5 2023/06/01 14:35
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) 【エクセル」 特定のセルで条件抽出した列を、別シートに上から詰めて表示したい。 8 2022/04/08 16:00
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
1年分のデータから特定の月分のデータを抽出→表示
Excel(エクセル)
-
期間内に該当する値(日付)を抽出したい
Excel(エクセル)
-
エクセルの表で条件(日付別)にあてはまる行を 別シートに順番に抽出されるような関数を教えてください
Excel(エクセル)
-
-
4
エクセル2016でfilter関数がないので、、抜き出す関数をおしえてください。
Excel(エクセル)
-
5
excel 指定期間内での条件抽出
Excel(エクセル)
-
6
Excelマクロ 期間を指定してデータを別シートにするには?
Excel(エクセル)
-
7
エクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください
Excel(エクセル)
-
8
ファイルのオープン時に今日の日付にジャンプ
Excel(エクセル)
-
9
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
10
エクセルのVBAで日付を検索し転機したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 偶数月の15日(土日祝...
-
Excelの数式について教えてくだ...
-
Excelのメニューについて
-
VLOOKUP FALSEのこと
-
エクセル内に読み込んが画像の...
-
【マクロ】1回目の実行後、2...
-
勤務外時間を出す表が作りたい
-
Excelで作成した出欠表から日付...
-
エクセルの数式について教えて...
-
【マクロ】参照渡しとモジュー...
-
Excelの条件付書式について教え...
-
【マクロ】シート追加時に同じ...
-
マクロを実行すると、セル範囲...
-
【マクロ】参照渡しについて。...
-
Excel 日付の表示が直せません...
-
エクセルで、数字の下4桁の0を...
-
【マクロ】Call関数で呼び出し...
-
別のシートの指定列の最終行を...
-
Excelのデーターバーについて
-
Excelでの文字入力について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】重複する同じ行を、...
-
Excelの条件付き書式のコピーと...
-
vba 印刷設定でのカラー印刷と...
-
VBA の単語の意味を教えて下さい。
-
Excel 日付の表示が直せません...
-
エクセル 同じ行の隣り合う数字...
-
エクセル条件付き書式について。
-
エクセルの数式につきまして
-
ファイル名の変更
-
エクセル 数字のみ抽出につて
-
Excelの開始ブックを固定したい...
-
エクセルの数式について教えて...
-
エクセルのセルをクリックする...
-
=INDIRECT(RIGHT(CELL("filenam...
-
エクスプローラーで見ることは...
-
Excelの関数で質問です
-
至急お願いいたします 屋上の備...
-
エクセルでセルに入力する前は...
-
関数を教えて下さい
-
Excel 関数での質問です
おすすめ情報