• 締切済み

エクセルで指定期間内に在職する対象者を抽出したいのです。

お世話になっております。会社の在籍者名簿を作成したいのですが、次のような課題があります。 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.在籍指定条件の開始日付より前に開始日付がスタートしている方は対象となります。 私の質問表現に曖昧な点がありましたらお許し下さい。ご回答をいただければ嬉しく存じます。宜しくお願い致します。

みんなの回答

  • Masa2072
  • ベストアンサー率51% (94/182)
回答No.3

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

vzm28751
質問者

お礼

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

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

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

vzm28751
質問者

お礼

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

vzm28751
質問者

補足

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

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

次の方法は如何でしょうか。 (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)をマクロ記録しておくと後々操作が楽になります。

vzm28751
質問者

お礼

mu2011様 ご丁寧に回答いただきありがとうございます。 オートフィルター以外の方法で、関数利用またはVBA利用による方法はありますでしょうか? ご回答可能な範囲内で構いません。宜しくお願い致します。

関連するQ&A