[[20080905105648]] 『カレンダーについて』(てんてん) ページの最後に飛ぶ

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

 

『カレンダーについて』(てんてん)
 2008年								
		2月					平成20年	
 A B              C        D        E        F         G        H        I
3		日	月	火	水	木	金	土
4							1	2
5								
6		3	4	5	6	7	8	9
7								
8		10	11	12	13	14	15	16
9								
10		17	18	19	20	21	22	23
11								
12		24	25	26	27	28	29
C4 =IF(WEEKDAY(DATE($A$1,$C$2,1))=1,1,"")
D4 =IF(ISNUMBER(C7),C7+1,IF(WEEKDAY(DATE($A$1,$C$2,1))=2,1,""))
E4 =IF(ISNUMBER(D7),D7+1,IF(WEEKDAY(DATE($A$1,$C$2,1))=3,1,""))
F4 =IF(ISNUMBER(E7),E7+1,IF(WEEKDAY(DATE($A$1,$C$2,1))=4,1,""))		
G4 =IF(ISNUMBER(F7),F7+1,IF(WEEKDAY(DATE($A$1,$C$2,1))=5,1,""))
H4 =IF(ISNUMBER(G7),G7+1,IF(WEEKDAY(DATE($A$1,$C$2,1))=6,1,""))
I4 =IF(ISNUMBER(H7),H7+1,IF(WEEKDAY(DATE($A$1,$C$2,1))=7,1,""))
C6 =I4+1
D6 =C6+1
とI10まで繰り返しの足し算
C12 =IF(I10+1<=DAY(DATE($A$1,$C$2+1,1)-1),I10+1,"")
D12 =IF(ISNUMBER(C12),IF(C12+1<=DAY(DATE($A$1,$C$2+1,1)-1),C12+1,""),"")
E12 =IF(ISNUMBER(D12),IF(D12+1<=DAY(DATE($A$1,$C$2+1,1)-1),D12+1,""),"")
F12 =IF(ISNUMBER(E12),IF(E12+1<=DAY(DATE($A$1,$C$2+1,1)-1),E12+1,""),"")
G12 =IF(ISNUMBER(F12),IF(F12+1<=DAY(DATE($A$1,$C$2+1,1)-1),F12+1,""),"")
H12 =IF(ISNUMBER(G12),IF(G12+1<=DAY(DATE($A$1,$C$2+1,1)-1),G12+1,""),"")
I12 =IF(ISNUMBER(H12),IF(H12+1<=DAY(DATE($A$1,$C$2+1,1)-1),H12+1,""),"")
C14 =IF(I12="","",IF(I12+1<=DAY(DATE($A$1,$C$2+1,1)-1),I12+1,""))
D14 =IF(ISNUMBER(C14),IF(C14+1<=DAY(DATE($A$1,$C$2+1,1)-1),C14+1,""),"")
E14 =IF(ISNUMBER(D14),IF(D14+1<=DAY(DATE($A$1,$C$2+1,1)-1),D14+1,""),"")
F14 =IF(ISNUMBER(E14),IF(E14+1<=DAY(DATE($A$1,$C$2+1,1)-1),E14+1,""),"")
G14 =IF(ISNUMBER(F14),IF(F14+1<=DAY(DATE($A$1,$C$2+1,1)-1),F14+1,""),"")
H14 =IF(ISNUMBER(G14),IF(G14+1<=DAY(DATE($A$1,$C$2+1,1)-1),G14+1,""),"")
I14 =IF(ISNUMBER(H14),IF(H14+1<=DAY(DATE($A$1,$C$2+1,1)-1),H14+1,""),"")
のように作っております。そこで問題なのですが「H4」以降日付が表示されるのですがその日付は「セルの書式」で
「標準」にしてあり「標準」を「日付」にしたら1900/1/1などの1900年の表示なので2008年と打ち込んでいるのに何故1900年なのでしょう、
同じ2008年にできないのでしょうか。
(てんてん)

 何故1900/1/1になるかといえば。
 例で言えばH4の計算値が1だから、です。2008年2月1日の値は39479です。
 エクセルでは日付の計算にシリアル値と言われる値を使っているので、
 計算したい日付のシリアル値に合わせて計算しないとならないです。

 お使いの式ならば、例えば。
 C4を =IF(WEEKDAY(DATE($A$1,$C$2,1))=1,DATE($A$1,$C$2,1),"") として、
                     ~~~~~~~~~~~~~~~~~
 1という数値を返す部分をDATE関数でシリアル値を返すようにしてあげるといいでしょう。 
 あと、C12を =IF(I10+1<=DATE($A$1,$C$2+1,1)-1,I10+1,"")
 D12を =IF(ISNUMBER(C12),IF(C12+1<=DATE($A$1,$C$2+1,1)-1,C12+1,""),"")
 でしょうか〜
(かなれっと)

早速のご指導ありがとうございます、指導に従いやってみます。
(てんてん)

 ----
 http://www3.tokai.or.jp/excel/kansu/hiduke.htm

 C4に、=DATE($A$1,$C$2,1)-WEEKDAY(DATE($A$1,$C$2,1),1)+1 とすれば、この例だと
 「1月27日」が 入ります。
 D4は=C4+1、E4は=D4+1…とI14まで入力(I14は3月8日になります)しておき、C4:I14で、
 条件付き書式を『=MONTH(C4)<>$C$2 のときに文字色を白』とすれば、2月の数字だけが
 表示されるカレンダーができます。
 (ちゅうねん)

 ちゅうねんさんのやり方でやってみましたありがとうございます、ここで又質問なのですが
=VLOOKUP(C4,祝祭日!$A$1:$D$34,4,FALSE)を使い祝祭日を表示しようとしたのですが、
表示月の前後の例えば4月、5月で言うと4月を表示すると5月の3,4,5が表示される、ここは列が違うので消せば良いのですが、
5月を表示すると29日の「昭和の日」が表示されるのですが、良い方法はあるのでしょうか、教えてください。
(てんてん)

 a案)その式が入っているところ(C5?)を条件付き書式で『=MONTH(C4)<>$C$2 のときに文字色を白』とする。
 b案)=IF(MONTH(C4)<>$C$2,"",VLOOKUP(C4,祝祭日!$A$1:$D$34,4,FALSE)) とする。
 の、どちらかで対応できます。ちなみに私ならa案)で対応します。
 (ちゅうねん)

 ちゅうねんさんありがとうございました。
思い通りです本当にありがとうございました。
(てんてん)

コメント返信:

[ 一覧(最新更新順) ]


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