- 締切済み
エクセルで指定期間内に在職する対象者を抽出したいのです。
お世話になっております。会社の在籍者名簿を作成したいのですが、次のような課題があります。 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.在籍指定条件の開始日付より前に開始日付がスタートしている方は対象となります。 私の質問表現に曖昧な点がありましたらお許し下さい。ご回答をいただければ嬉しく存じます。宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Masa2072
- ベストアンサー率51% (94/182)
ご指名外ですが・・ > 別シートへはコピー出来ませんとメッセージがでました。 先にSheet2を選びデータメニュー - フィルタ - フィルタオプションの設定を開きます。 ※抽出先がアクティブシートでなければならないだけで、参照元が別シートでもかまいません
- mu2011
- ベストアンサー率38% (1910/4994)
NO1です。 >関数利用またはVBA利用による方法はありますでしょうか? ⇒エクセルで行単位の抽出処理をすることは、関数・VBAでも簡単ではありませんので簡単な方法を提案した次第です。 一度、本サイトで「行抽出」をキーワードに検索してご確認下さい。
お礼
mu2011様 ご連絡ありがとうございます。 とても参考になりました。ありがとうございました。
補足
mu2011様 お世話になります。ひとつだけ質問させてください。 オートフィルタにて、sheet1の抽出元からsheet2の抽出先(この場合A4)へフィルターを実行した場合、別シートへはコピー出来ませんとメッセージがでました。対処法はありますでしょうか? 恐れ入りますが、ご教示頂きたくお願い致します。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 (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)をマクロ記録しておくと後々操作が楽になります。
お礼
mu2011様 ご丁寧に回答いただきありがとうございます。 オートフィルター以外の方法で、関数利用またはVBA利用による方法はありますでしょうか? ご回答可能な範囲内で構いません。宜しくお願い致します。
お礼
Masa2072様 ご回答ありがごうございます。ご指定の方法で無事操作が出来ました。 ご親切にありがとうございました。