• 締切済み

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

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

  • エクセルで、指定期間及び指定部門に在職する対象者を抽出したいのです。

    お世話になっております。会社の在籍者名簿を作成したいのですが、次のような課題があります。 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月の在籍指定条件を設定します。 所属コード 1200及び1100 開始日付 2008/05/01 終了日付 2008/05/31 この期間内に該当する対象者が下記の通り抽出されます。   A    B     C    D     1 個人コード 所属コード 開始日付  終了日付 2  02   1200   2008/03/01 9999/12/31 3  04   1100   2008/03/01 9999/12/31 フィルタオプションの設定で抽出した際、複数の所属コードを指定して一気に抽出することは可能でしょうか?他に方法がありましたらお教え下さい。 私の質問表現に曖昧な点がありましたらお許し下さい。ご回答をいただければ嬉しく存じます。宜しくお願い致します。

  • Excel 該当データ数の抽出方法(日付)

    Excel 該当データ数の抽出方法(日付) <元データ>  A    B      C 1 氏名  開始日  終了日 2 3 青木 2010/3/1 2010/3/10 4 石田 2010/3/1 2010/3/20 5 鈴木 2010/3/3 2010/3/7 6 佐藤 2010/3/1 2010/3/3 7 田中 2010/3/5 2010/3/17  上記のような元データがあった場合に、各日に実施されているデータ数(開始日~終了日の間 に当たるデータ数)を以下のように抽出したいのですが、その方法を教えていただけないでしょうか。抽出先は同じシート内でも、別シートでもいいのですが。 <抽出>    A      B 1  日付    該当数 2 3 2010/3/1   3 4 2010/3/2   3 5 2010/3/3   4 6 2010/3/4   3 7 2010/3/5   4  よろしくお願いします。 

  • エクセルで、指定した期間だけ色を付けるには?

    条件付書式を使って考えてみたのですが、 なかなかうまくいきません。どなたか教えて下さい。 A列(A3~A200)にバラバラに日付が入っています。(作業開始予定日) 「今日の日付」(←エクセルを開いた日)に対して (1)A列の日付が1ヶ月前になったものがあれば該当するセルを黄色にする (2)その後、「今日の日付」から1ヶ月間はセルを緑色にする ※ (1)と(2)に該当しない日付はそのまま無色にする ・・です。よろしくお願いいたします。

  • エクセル マクロ 条件付csvデータ抽出

    マクロ初心者ですが難易度の高い仕事を任され困っています。 ディスクトップのAというファイル(C:¥Users¥Desktop¥A)にタイトルが「店名」+「-」+「日付(yyyymmddhhmm)」のcsvファイルが大量にあります。 sheet1のセルA1に「店名」を入力し、sheet1のセルA2に「抽出対象開始期間(yyyymmdd)」を入力、sheet1のセルA3に「抽出対象終了期間(yyyymmdd)」を入力し、該当するcsvファイルのデータをsheet2のA2から順に抽出したい(該当なしの際は該当なしを表示したい)のですがご教授お願いします。 ※csvファイル名が日付(yyyymmddhhmm)となっている為、抽出条件(yyyymmdd)では重複する可能性がありますが、重複する全てのデータを抽出したい。 長文で申し訳ありませんがよろしくお願いします。

  • VBA 期間を指定してデータを別シートに抽出

    sheet1に下記のような(例)データベースがありA~N列までデータが入力されています。 A  B  C  D  E  F  G  H I J K L M  N 1 りんご ○○ BA 2526  ○  あお *** *** *** *** *** *** 2015/7/1 2 みかん ××  BC  2526 ○  あお 2015/8/1 3 すいか ●●  BB  2429  ●  あか 2015/8/12 4 メロン □□  DC  2355 □  あか 2015/7/13 5 バナナ ○×  FE  2526  ○  あお 2015/6/1 6 いちご ●□  LA  2429  ●  あお 2015/8/21 7 ぶどう □○  HK  2526  □  あか 2015/8/7 「sheet1」N列の日付を元にして、別シート(sheet2)のA2列に「開始日付(yyyy/mm/dd」、B2列に「終了日付(yyyy/mm/dd」(例:2015/8/1~2015/8/31)を入力し、フォームボタン(例:抽出)で検索を開始し、抽出された結果のsheet1のA列~G列、N列のみ(H列~M列は不要)をSheet2のA7以下へ表示したいと考えています。 A  B   C  D  E  F  G   N 2 みかん ××  BC  2526 ○   あお 2015/8/1 3 すいか ●●  BB  2429  ●  あか 2015/8/12 6 いちご ●□  LA  2429  ●  あお 2015/8/21 7 ぶどう □○  HK  2526  □  あか 2015/8/7 期間を指定し検索した結果を別のシートへ表示するにはどのようなVBAのコードを使用すれば良いでしょうか。 宜しくお願いします。

  • EXCEL 期間を指定しての人数の集計

    EXCEL初心者です。下記よろしくお願いします。 EXCEL2007です。 シート1に A列 (入所日)  B列(退所日)   C列(人数) 2013/4/15    2013/5/14     5 2013/4/17    2013/5/16     8 2013/4/20    2013/5/19     12   シート2に A列(将来の日付)        B列 2013/4/15            5 2013/4/16            5   2013/4/17            13   2013/4/18            13 2013/4/19            13 2013/4/20            25 2013/5/14            20    2013/5/15            20     2013/5/16            12 2013/5/17            12 2013/5/18            12 2013/5/19            0      シート2のA列は連続の日付です。 シート2 B列にその日の在籍者の人数を表示させたいのですが どのような関数を使えばよいのかわかりません。 研修センターで、先々の人数の把握をしたいのですが集計に手間取り困っています。 よろしくお願い申し上げます。    

  • エクセルで指定月の最小値を抽出したいです

    日頃からお世話になっております。 今回教えていただきたいのは、 エクセルにて指定月の最小値の 抽出方法が分からず困っております。 まずは、簡易化したエクセルが下記です。 ---------- シート1 ----------   A       B 1 2014/5/12 15.1 2 2014/5/23 20.8 3 2014/5/30 10.1 4 2014/6/11 25.6 ---------- シート2 ----------   A(指定月) B(最大値)  C(最小値) 1 2014/5    20.8      ● 2 2014/6    25.6      ● ---------- 上記の構成で、B1に 下記のコードを入れると 正しく最大値は抽出されます。 =MAX(INDEX((YEAR(シート1!A$1:A$65640)=YEAR(A1))*(MONTH(シート1!A$1:A$65640)=MONTH(A1)*シート1!B$1:B$65640,)) しかしながら、シート2のC1に 上記のコードのMAXをMINに 書き換えるだけでは最小値は 抽出してくれません。。。 何かほかに手立てはありますでしょうか? ご教授よろしくお願いいたします。>< ※ちなみにエクセルは Excel2007を使用しております。

  • Excelでのデータ抽出

    Excelに複数シートがあり、各シートには以下の内容が記載されてます。  A列 伝票No.  B列 日付  C列 担当者  D列 型番    ・    ・    ・ B列で任意の日付を検索し該当する値があれば、その行(A~D…列)を別シートにコピーし抽出したいのです。 VBAを使ってやりたいのですがどうしたらよいでしょうか? よろしくお願いします。

  • 期間指定での日付の抽出

    Excel2013です。 【Sheet1】 ID|名前|誕生日| D | E | F | G | H | I | J |・・・・ 01|田中|yyyy/mm/dd|2004/10/15|2005/10/12|2006/10/17|2007/10/13|2008/10/15|2009/10/110|2010/10/15|・・・・ 02|佐藤|yyyy/mm/dd|2008/10/15|2009/10/14|2010/08/17|2011/09/13| | | |・・・・ 03|鈴木|yyyy/mm/dd|2010/10/15|2011/10/12|2012/10/17| | | | |・・・・ 【Sheet2】 ID|名前|2004|2005|2006|2007|2008|2009|2010|2011|・・・・ 01|田中|数式A|数式B|数式|数式|数式|数式|数式|数式|・・・・ 数式AのところでSheet1にある同じIDの人の2004年の日付、 数式BのところでSheet1にある同じIDの人の2005年の日付を抽出できるようにしたいです。 同じIDの行内で同じ年が重複することはありません。 該当がない場合はIFERRORで空欄にしようと思っています。 お力添えをお願いいたします。

  • 関数で複数データを取り出し、さらに開始終了日指定

    A列日付、B列商品、C列販売数が並んでいるシートが有ります。 同シートにG2に日付を設定、その日付に一致するデータだけを G5以下日付、H5以下商品、I5以下販売数を反映させます。 G5セルに=IF(COUNTIF($A$2:$A$11,$G$2)<ROW(A1),"",INDEX(A$2:A$11,SMALL(IF($A$2:$A11=$G$2,ROW($A$1:$A$10)),ROW(A1)))) の関数を記入します。 上記が参照サイト:http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/fukusu_data.html の関数で複数データを取り出す関数です。 今回、この条件に開始日と終了日を設定したいです。 H2に終了日を指定したいのですが、自分で考えた画像の数式ではエラーになりました・・・ 開始終了日指定を指定する関数を教えて下さい。

専門家に質問してみよう