[[20141208132722]] 『15日締めのカレンダーのデーターから末締めを作り』(困ったみなちゃん) ページの最後に飛ぶ

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

 

『15日締めのカレンダーのデーターから末締めを作りたい』(困ったみなちゃん)

15日締めのデーターが有るんですけど、提出が15日締めと、末締めなんです。
1日からら表を別シートに作りたいんですが30日だったり31日だったり、月の終わりがバラバラなので1日から取り出すにはどうしたらいいでしょうか?

< 使用 Excel:Excel2007、使用 OS:WindowsXP >


http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11103878636
(、) 2014/12/08(月) 13:40

解りやすく教えてほしいです。

 >解りやすく教えてほしいです。

 では解りやすく質問してほしいです。
 ご自分の質問文を読んで他人が理解できる内容だと思いますか?
 せめて具体的なレイアウトくらいは書いてほしいものです。

(コナミ) 2014/12/08(月) 14:30


説明不足ですみません。
9月16日 (火) 8:50 〜 17:20 7.75
9月17日 (水) 8:50 〜 17:20 7.75
9月18日 (木) 8:50 〜 17:20 7.75
9月19日 (金) 8:50 〜 17:20 7.75
9月20日 (土) 〜
9月21日 (日) 〜
9月22日 (月) 8:50 〜 17:20 7.75
9月23日 (火) 8:50 〜 17:50 8.25
9月24日 (水) 8:50 〜 17:20 7.75
9月25日 (木) 8:50 〜 17:20 7.75
9月26日 (金) 8:50 〜 17:20 7.75
9月27日 (土) 〜
9月28日 (日) 〜
9月29日 (月) 8:50 〜 17:20 7.75
9月30日 (火) 8:50 〜 17:20 7.75
10月1日 (水) 8:50 〜 17:20 7.75
この場合は30日までなのですが…

10月16日 (木) 8:50 〜 17:20 7.75
10月17日 (金) 8:50 〜 17:20 7.75
10月18日 (土) 〜
10月19日 (日) 〜
10月20日 (月) 8:50 〜 17:20 7.75
10月21日 (火) 8:50 〜 17:20 7.75
10月22日 (水) 8:50 〜 17:20 7.75
10月23日 (木) 8:50 〜 17:20 7.75
10月24日 (金) 8:50 〜 17:20 7.75
10月25日 (土) 8:20 〜 17:20
10月26日 (日) 〜
10月27日 (月) 8:50 〜 17:20 7.75
10月28日 (火) 8:50 〜 17:20 7.75
10月29日 (水) 8:50 〜 17:20 7.75
10月30日 (木) 8:50 〜 17:20 7.75
10月31日 (金) 8:50 〜 17:20 7.75
11月1日 (土) 〜
来月になると31日まであるので…

1日 (水) 8:50 〜 17:20 7.75
2日 (木) 8:50 〜 17:20 7.75
3日 (金) 8:50 〜 17:20 7.75
4日 (土) 〜
5日 (日) 〜
6日 (月) 8:50 〜 17:20 7.75
7日 (火) 8:50 〜 17:20 7.75
8日 (水) 8:50 〜 17:20 7.75
9日 (木) 8:50 〜 17:20 7.75
10日 (金) 8:50 〜 17:20 7.75
11日 (土) 〜
12日 (日) 8:20 〜 17:20
13日 (月) 〜
14日 (火) 8:50 〜 17:20 7.75
15日 (水) 8:50 〜 17:20 7.75
16日 (木) 8:50 〜 17:20 7.75
17日 (金) 8:50 〜 17:20 7.75
18日 (土) 〜
19日 (日) 〜
20日 (月) 8:50 〜 17:20 7.75
21日 (火) 8:50 〜 17:20 7.75
22日 (水) 8:50 〜 17:20 7.75
23日 (木) 8:50 〜 17:20 7.75
24日 (金) 8:50 〜 17:20 7.75
25日 (土) 8:20 〜 17:20
26日 (日) 〜
27日 (月) 8:50 〜 17:20 7.75
28日 (火) 8:50 〜 17:20 7.75
29日 (水) 8:50 〜 17:20 7.75
30日 (木) 8:50 〜 17:20 7.75
31日 (金) 8:50 〜 17:20 7.75

31日からと30日までが有ると思います。

1日から拾うにはどうしたらいいのでしょうか?
(困ったみなちゃん) 2014/12/08(月) 14:50


そのデータが何行目から始まっているのか、等が重要。 列は? 全部1セルに収まっているのですか?
1日が何行目か判れば、あとは作成できますか?

例えば、A列に年月日が格納されており、A2セルに当月16日が入力されている場合のVBA例。

MsgBox Day(DateSerial(Year(Range("A2")), Month(Range("A2")) + 1, 0)) - 13 & "行目が1日"

(翌月1日の1日前が当月末。ここから日だけ取り出し、15日分減算すれば、それが1日のある行になる)
(???) 2014/12/08(月) 15:10


 よくわからないのですが、
 15日締めの日付が11/16〜12/15だとすると、
 別シートに表示したいのは12/1〜12/31の日付ということですか?

 15日締めの日付がSheet1のA2セルからだとして

 別シート
 A2: =EOMONTH(Sheet1!A2,0)+1 表示形式「日付」

 A3: =IF(A2="","",IF(MONTH(A2+1)=MONTH($A$2),A2+1,""))

 A3の表示形式も「日付」にして、A32までオートフィル
 
(JKT) 2014/12/08(月) 15:43

お早うございます。
詳しく説明できなくてすみません。
もっと詳しく書きます。

9月後半のシート
 T    U            V          W
6 日付 曜日        出勤時間       労働時間
7 9月16日 (火) 8:50 〜 17:20 7.75
8 9月17日 (水) 8:50 〜 17:20 7.75
9 9月18日 (木) 8:50 〜 17:20 7.75
10 9月19日 (金) 8:50 〜 17:20 7.75
11 9月20日 (土) 〜
12 9月21日 (日) 〜
13 9月22日 (月) 8:50 〜 17:20 7.75
14 9月23日 (火) 8:50 〜 17:50 8.25
15 9月24日 (水) 8:50 〜 17:20 7.75
16 9月25日 (木) 8:50 〜 17:20 7.75
17 9月26日 (金) 8:50 〜 17:20 7.75
18 9月27日 (土) 〜
19 9月28日 (日) 〜
20 9月29日 (月) 8:50 〜 17:20 7.75
21 9月30日 (火) 8:50 〜 17:20 7.75
22 10月1日 (水) 8:50 〜 17:20 7.75
23 10月2日 (木) 8:50 〜 17:20 7.75
24 10月3日 (金) 8:50 〜 17:20 7.75
25 10月4日 (土) 〜
26 10月5日 (日) 〜
27 10月6日 (月) 8:50 〜 17:20 7.75
28 10月7日 (火) 8:50 〜 17:20 7.75
29 10月8日 (水) 8:50 〜 17:20 7.75
30 10月9日 (木) 8:50 〜 17:20 7.75
31 10月10日 (金) 8:50 〜 17:20 7.75
32 10月11日 (土) 〜
33 10月12日 (日) 8:20 〜 17:20
34 10月13日 (月) 〜
35 10月14日 (火) 8:50 〜 17:20 7.75
36 10月15日 (水) 8:50 〜 17:20 7.75

10月後半のシート
6  T    U        V         W
7 日付 曜日        出勤時間       労働時間
8 10月16日 (木) 8:50 〜 17:20 7.75
9 10月17日 (金) 8:50 〜 17:20 7.75
10 10月18日 (土) 〜
11 10月19日 (日) 〜
12 10月20日 (月) 8:50 〜 17:20 7.75
13 10月21日 (火) 8:50 〜 17:20 7.75
14 10月22日 (水) 8:50 〜 17:20 7.75
15 10月23日 (木) 8:50 〜 17:20 7.75
16 10月24日 (金) 8:50 〜 17:20 7.75
17 10月25日 (土) 8:20 〜 17:20
18 10月26日 (日) 〜
19 10月27日 (月) 8:50 〜 17:20 7.75
20 10月28日 (火) 8:50 〜 17:20 7.75
21 10月29日 (水) 8:50 〜 17:20 7.75
22 10月30日 (木) 8:50 〜 17:20 7.75
23 10月31日 (金) 8:50 〜 17:20 7.75
24 11月1日 (土) 〜
25 11月2日 (日) 〜
26 11月3日 (月) 8:50 〜 17:20 7.75
27 11月4日 (火) 8:50 〜 17:20 7.75
28 11月5日 (水) 8:50 〜 17:20 7.75
29 11月6日 (木) 8:50 〜 17:20 7.75
30 11月7日 (金) 8:50 〜 17:20 7.75
31 11月8日 (土) 7:50 〜 17:20
32 11月9日 (日) 〜
33 11月10日 (月) 8:50 〜 17:20 7.75
34 11月11日 (火) 8:50 〜 17:20 7.75
35 11月12日 (水) 8:50 〜 17:20 7.75
36 11月13日 (木) 8:50 〜 17:20 7.75
37 11月14日 (金) 〜
38 11月15日 (土) 〜
39  〜

末締めのシートに
  A     B      C       D
1 日    曜      時間    勤務時間
2 1日 (水) 8:50 〜 17:20 7.75
3 2日 (木) 8:50 〜 17:20 7.75
4 3日 (金) 8:50 〜 17:20 7.75
5 4日 (土) 〜
6 5日 (日) 〜
7 6日 (月) 8:50 〜 17:20 7.75
8 7日 (火) 8:50 〜 17:20 7.75
9 8日 (水) 8:50 〜 17:20 7.75
10 9日 (木) 8:50 〜 17:20 7.75
11 10日 (金) 8:50 〜 17:20 7.75
12 11日 (土) 〜
13 12日 (日) 8:20 〜 17:20
14 13日 (月) 〜
15 14日 (火) 8:50 〜 17:20 7.75
16 15日 (水) 8:50 〜 17:20 7.75
17 16日 (木) 8:50 〜 17:20 7.75
18 17日 (金) 8:50 〜 17:20 7.75
19 18日 (土) 〜
20 19日 (日) 〜
21 20日 (月) 8:50 〜 17:20 7.75
22 21日 (火) 8:50 〜 17:20 7.75
23 22日 (水) 8:50 〜 17:20 7.75
24 23日 (木) 8:50 〜 17:20 7.75
25 24日 (金) 8:50 〜 17:20 7.75
26 25日 (土) 8:20 〜 17:20
27 26日 (日) 〜
28 27日 (月) 8:50 〜 17:20 7.75
29 28日 (火) 8:50 〜 17:20 7.75
30 29日 (水) 8:50 〜 17:20 7.75
31 30日 (木) 8:50 〜 17:20 7.75
32 31日 (金) 8:50 〜 17:20 7.75

この様に抽出したいです。
宜しくお願いします。
(困ったみなちゃん) 2014/12/09(火) 07:49


こんにちは

9月後半のシートのデータと、10月後半のシートのデータを末締めのシートに上下に
連結してコピーして、10月分以外のデータを抽出して行削除してはどうですか?

シート名に法則性があればマクロでも処理出来ると思いますよ。

(ウッシ) 2014/12/09(火) 08:40


こんにちは。
関数では出来ませんかね?
(困ったみなちゃん) 2014/12/09(火) 09:12

こんにちは

関数でということは手作業ですよね?
末締めのシートのセルA2に「2014/10/1」と入力して、下方へ月が替わるまで
フィルコピーして、B〜D列にはVLOOKUPで15日までは9月後半のシートのデータ範囲を
16日以降は10月後半のシートを検索するようにしてはどうですか?

シート名は適宜変更してもらうとして

セルB2に
=VLOOKUP($A2,'9月後半'!$T$6:$W$36,COLUMN(B1),0)
として、セルD16までコピー

セルB17に
=VLOOKUP($A17,'10月後半'!$T$6:$W$36,COLUMN(B16),0)
として、セルD32までコピー

ではどうですか?

(ウッシ) 2014/12/09(火) 09:34


 横から失礼します。
 B2セル =IF($A7="","",VLOOKUP($A7,INDIRECT("'"&IF(DAY($A7)<16,MONTH($A7)-1,MONTH($A7))&"月後半'!T:W"),COLUMN(B1),FALSE))
 右と下にフィルコピー

 という方法も。
(se_9) 2014/12/09(火) 09:48

ウッシさん・se_9さん有難うございました。
(困ったみなちゃん) 2014/12/09(火) 10:03

 解決済みですが、先ほどの式$A7のところ$A2でした・・・。
(se_9) 2014/12/09(火) 10:27

 どの方法で解決したのかわかりませんが、
(説明がうまくできないので、あきらめたという可能性もありますが・・・)

 > =IF($A7="","",VLOOKUP($A7,INDIRECT("'"&IF(DAY($A7)<16,MONTH($A7)-1,MONTH($A7))&"月後半'!T:W"),COLUMN(B1),FALSE))

 se_9 さんのこの式、MONTH($A7)-1 にすると、
 A列の日付が 1/1〜1/15 の場合エラーになりませんか?(「0月」になりますよね)
 
 
 追記)
 一応書いておきますが、
 MONTH($A7)-1 のところ(式中の$A7は、すべて$A2 にして)
 MONTH(EDATE($A2,-1))

 とはいえ、この質問の要点は何なのかというのが未だによくわかっていません。
 例えば15日締めのシートで時間が空白になっているところは、
 末締めのシートでも空白表示にできたのかとか。
 そもそも末締めのシートというのは月ごとに12枚あるということなんでしょうかね。
 
(JKT) 2014/12/09(火) 11:59 追記13:05

 あーそうでしたね・・・。いくつかのパターンを検証してから提示するべきでした。すいません。
(se_9) 2014/12/09(火) 13:17

コメント返信:

[ 一覧(最新更新順) ]


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