重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

エクセルの表で、条件(日付別)にあてはまる行を 別シートに順番に抽出されるような関数を教えてください。

シート名「マスター」のA列にある日付データを参照して、予めシート名が日付別に準備された各シートに、その行から必要部分を抜き出して上から順に抽出されるようにしたいです。
ちなみにマスターシートは300行ぐらい、日付名の各シートは90シート(3か月分)、各シートには最大30行程度です。

類似の質問もあるなかで恐縮ですが、よろしくおねがいします。
(以下イメージです。)

【Sheet1】
A        B         C       D      E   ・・・・
11月1日 山田太郎  岡山県    倉敷市   090-XXXX-XXXX  
11月2日 川本次郎  香川県    高松市   090-XXXX-XXXX
11月2日 海田三郎  広島県    広島市   090-XXXX-XXXX
11月3日 海田三郎  広島県    広島市   090-XXXX-XXXX




シート
【11月1日】

山田太郎  岡山県    倉敷市   

シート
【11月2日】
川本次郎  香川県    高松市   
海田三郎  広島県    広島市   

シート
【11月3日】
海田三郎  広島県    広島市

A 回答 (11件中11~11件)

>日付名の各シートは90シート(3か月分)、各シートには最大30行程度です。


90ものシートを作成すること自体が間違いの始まりだと思います。
Sheet1と抽出のシートの2枚にします。
仮にA1セルに日付を入れると、以下に指定した日付の一覧が出るようにすれば
A1セルに日付を入れる事で何か月分も利用が出来ますよね。
一例です。
   A   B   C
1 11/1

3 氏名  県名  市名



B2セルに =MATCH(A1-1,Sheet1!A:A)
指定した日付のデータの下の行番号が表示されます。
C2セルに =COUNTIF(Sheet1!A:A,A1)
指定した日付のデータの数が表示されます。

そしてA4セル
=IF(ROW(A1)>$C$1,"",INDEX(Sheet1!B:B,$B$1+ROW(A1)))
と入れて、右へコピー、下へコピーしましす。

データが日付順に並んでおることが条件で
最初の日付でエラーが発生するので、デモデータとして2000/1/1 とでも入れたデータを入れておきます。
    • good
    • 0
この回答へのお礼

ありがとうございます。たしかにシートを作りまくるのはどうかと思います。。。目的に、いつでも一覧性が求められてまして、そのような質問をさせていただきました。また、Sheet1は、常に行追加されますが、日付別に追加されません。今後の参考にさせていただきます。ありがとうございました。

お礼日時:2015/11/03 09:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています