プロが教えるわが家の防犯対策術!

お世話になっております。会社の在籍者名簿を作成したいのですが、次のような課題があります。

sheet1に以下のマスターデータがあります。

  A    B     C    D    
1 個人コード 所属コード 開始日付  終了日付
2  01   6000   2008/04/01 9999/12/31
3  02   1200   2008/03/01 9999/12/31
4  03    7000   2008/05/01 2008/05/20
5  04   1100   2008/03/01 9999/12/31

sheet2に期間以下の5月の在籍指定条件を設定します。
開始日付 2008/05/01 終了日付 2008/05/31

この期間内に該当する対象者が下記の通り抽出されます。

  A    B     C    D    
1 個人コード 所属コード 開始日付  終了日付
2  01   6000   2008/04/01 9999/12/31
3  02   1200   2008/03/01 9999/12/31
4  04   1100   2008/03/01 9999/12/31

日付についてのルールは以下の通りです。

A.個人コード03は、終了日付が2008/05/31前の為該当しません。月末まで在籍する方が対象となります。
B.在籍指定条件の開始日付より前に開始日付がスタートしている方は対象となります。

私の質問表現に曖昧な点がありましたらお許し下さい。ご回答をいただければ嬉しく存じます。宜しくお願い致します。

A 回答 (3件)

ご指名外ですが・・


> 別シートへはコピー出来ませんとメッセージがでました。
先にSheet2を選びデータメニュー - フィルタ - フィルタオプションの設定を開きます。
※抽出先がアクティブシートでなければならないだけで、参照元が別シートでもかまいません
    • good
    • 0
この回答へのお礼

Masa2072様

ご回答ありがごうございます。ご指定の方法で無事操作が出来ました。

ご親切にありがとうございました。

お礼日時:2008/07/01 18:57

NO1です。


>関数利用またはVBA利用による方法はありますでしょうか?
⇒エクセルで行単位の抽出処理をすることは、関数・VBAでも簡単ではありませんので簡単な方法を提案した次第です。
 一度、本サイトで「行抽出」をキーワードに検索してご確認下さい。

この回答への補足

mu2011様

お世話になります。ひとつだけ質問させてください。

オートフィルタにて、sheet1の抽出元からsheet2の抽出先(この場合A4)へフィルターを実行した場合、別シートへはコピー出来ませんとメッセージがでました。対処法はありますでしょうか?
恐れ入りますが、ご教示頂きたくお願い致します。

補足日時:2008/07/01 15:52
    • good
    • 0
この回答へのお礼

mu2011様

ご連絡ありがとうございます。
とても参考になりました。ありがとうございました。

お礼日時:2008/07/01 14:25

次の方法は如何でしょうか。


(1)sheet2のA1に「開始日付」A2に「<2008/5/1」、B1に「終了日付」B2に「>2008/5/31」を入力
(2)sheet2の任意セルを選択(仮にA4)→データ→フィルタ→フィルタオプションの設定
(3)「指定した範囲」にチェック、リスト範囲欄にSheet1!A:D、検索条件範囲欄にA1:B2、抽出範囲欄にA4→OK
因みに(2)~(3)をマクロ記録しておくと後々操作が楽になります。
    • good
    • 0
この回答へのお礼

mu2011様

ご丁寧に回答いただきありがとうございます。

オートフィルター以外の方法で、関数利用またはVBA利用による方法はありますでしょうか?

ご回答可能な範囲内で構いません。宜しくお願い致します。

お礼日時:2008/07/01 13:05

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

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