[[20101011001202]] 『日付を条件にしたデータ抽出』(laughingman) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付を条件にしたデータ抽出』(laughingman)

はじめまして。
勤務表の自動集計表を作成したのですが、勤務表は8週単位で作られています。
集計は21日から翌月20日までの一ヶ月単位で行なっています。

勤務表のシートが8週間であるため、毎月21日から20日は表のうえでは異なる範囲であることから、現状では、8週の勤務表の21日から20日の一ヶ月分のデータをコピーし、別シートに貼り付けて集計させています。

これを何とか自動で抽出できないでしょうか?

バージョンはExcel2002を使用しています。

よろしくお願いします。


 シート配列を提示してみて。。
 (kei)

追記します。
シート配列は以下の通りです。

Sheet1

__________A_________B_______C_______D_______E_______F_______G_______H_____…__BD______BE

1_________________9/27___9/28___9/29___9/30___10/1__10/2__10/3_____11/20_11/21

2___________________月______火______水______木______金______土______日_________土______日

3 ○田○男____日______日______休______準______休______日______深_________日______日

4 △谷△郎____深______休______準______休______休______日______日_________深______日

5 □川△子____準______休______日______日______日______休______日_________深______準




Sheet2

__________A_________B_______C_______D_______E_______F_______G_______H_____…__AE______AF

1________________10/21__10/22_10/23_10/24_10/25_10/26_10/27_____11/19_11/20

2___________________木______金______土______日______月______火______水_________金______土

3 ○田○男____日______日______休______準______休______日______深_________日______日

4 △谷△郎____深______休______準______休______休______日______日_________深______日

5 □川△子____準______休______日______日______日______休______日_________深______準




Sheet2の右側には、それぞれの行にCountif等の関数の入ったセルが配置されています。
そこで勤務の集計を行なっています。

Sheet1は8週間単位なので、次のシフトでは前回と同じ列に同じ日付がくるとは限りません。
一方、Sheet2は一ヶ月単位ですので、毎回同じ列に同じ日付がくることになります。

現状では、Sheet1の(Y1:BE5)の範囲をコピーし、Sheet2の(B1:AF5)にペーストするという方法をとっています。

これをどうにかして、Sheet1から日付を条件としてSheet2にデータを自動で抽出したいのですが、何かよい方法はありませんでしょうか?

(laughingman)


 おはよーございます。

 Sheet2の
 A1のセルの書式設定を「yyyy"年"m"月"」として、2010/10 と入力します。→表示は「2010年10月」

 B1=IF(DATE(YEAR($A$1),MONTH($A$1),20+COLUMN(A1))<DATE(YEAR($A$1),MONTH($A$1)+1,21),DATE(YEAR($A$1),MONTH($A$1),20+COLUMN(A1)),"")
 この数式をB1:BE1までコピペです。

 B2=IF(B$1="","",HLOOKUP(B$1,Sheet1!$B$1:$BE$10,ROW(A2)))
 この数式を右と下方向に必要だけコピペします。

 A2=IF(Sheet1!A3="","",Sheet1!A3)
 この数式は下方に人数分だけコピペです。
 (kei)

 ご教授ありがとうございます。

 数式の意味は今ひとつわかりませんが、考えていた通りにできそうです。
 ただ、
 B1=IF(DATE(YEAR($A$1),MONTH($A$1),20+COLUMN(A1))<DATE(YEAR($A$1),MONTH($A$1)+1,21),DATE(YEAR($A$1),MONTH($A$1),20+COLUMN(A1)),"")
 だと、10/21〜11/20となるのですが、10月分は9/21〜10/20としたいのです。

 それくらいは何とか自力で…と思いましたが、どうもうまくいきません。どこをどう触ればよいか教えていただけるとありがたいのですが…
 重ね重ねすみませんが、よろしくお願いします。

 こんばんわ。。
 >10月分は9/21〜10/20としたいのです。
 了解でーす。

 B1=IF(DATE(YEAR($A$1),MONTH($A$1)-1,20+COLUMN(A1))<DATE(YEAR($A$1),MONTH($A$1),21),DATE(YEAR($A$1),MONTH($A$1)-1,20+COLUMN(A1)),"")
 おそらく、これで大丈夫!!
 (kei)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.