[[20080423223315]] 『カレンダーうるう年』(^^) ページの最後に飛ぶ

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

 

『カレンダーうるう年』(^^)

             平成19年11月  19→C1 11→E1

              

 19 11 29【=IF(E1=2,0,29)】30【=IF(E1=2,0,29)】31【=IF(OR(E1=2,E1=4,E1=6,E1=9,E1=11)0,31)
 19 12 29	                  30          31
 20  1 29	                  30	    31
 20  2	
 20  3  29	                  30	    31
 20  4  29	                  30	
 20  5  29	                  30	    31

上記のようなカレンダーがありますが、うるう年が考慮されていません。
うるう年には2月の欄に29と表示されるための関数を教えてください。

(Excel2003 XP)


 =IF(DAY(DATE(2008,2,25+4))<5,"",DAY(DATE(2008,2,25+4)))

       A               B             C           D         E
1		                  19		    11
2  2007/11/30	2007/11/30     2007/11/30		
3  2007/12/31	2007/12/31     2007/12/31		
4  2008/1/31	2008/1/31      2008/1/31		
5  2008/2/29	2008/2/29	      2008/2/29		
6      20         	    3	          31		

 A2=DATE($C$1+1988,$E$1+1,0)				
 A3=YEAR(DATE(YEAR(A$2),MONTH(A$2)+ROW(A2),0))
 アドイン関数(EOMONTH)が使用可なら				
 A3=MONTH(EOMONTH(A$2,ROW(A1)))				
 フィルダウンしてB列、C列にコピーします。				

 A列のユーザー定義を e に、B列を m に、C列を d にします。				

 関数で求めるのでしたら、A,B,C列をそれぞれYEAR,MONTH,DAY関数でくくります。
 A6=YEAR(DATE(YEAR(A$2),MONTH(A$2)+ROW(A5),0))-1988
 B6=MONTH(DATE(YEAR(B$2),MONTH(B$2)+ROW(B5),0))
 C6=DAY(DATE(YEAR(C$2),MONTH(C$2)+ROW(C5),0))
 書式を標準に 

 日付や時刻に関してのシリアル値をお調べください。                  (gon-2)		


 =IF((MOD(C1,4)=0)+(E1<>2),29,"")
   (superman)
 =IF(OR(E1=2,E1=4,E1=6,E1=9,E1=11)0,31)  は下記でも
 =IF(OR(E1={2,4,6,9,11}),"",31)

date関数で2月29日をセットすると閏年以外は3月1日となるから
=IF(DAY(DATE(A26,B26,29))=29,29,0)等はどうでしょう?
(天につば)

みなさんありがとうございます。

supermanさんもう少し教えてください。

=IF((MOD(C1,4)=0)+(E1<>2),29,"")を上記の例で11月29のセルに入れたとすると

12月の29、1月の29・・・のセルにはどのような式を入力すればいいのでしょうか?

ちなみに12月の30は=IF(E3=1,0,30) 1月の30は=IF(E3=12,0,30) 2月30はIF(E3=11,0,30)・・・となっています。

要はC1E1に任意の年月を入れると、その年月以降のカレンダーが表示されるように
したいのです。


 >>ちなみに12月の30は=IF(E3=1,0,30) 1月の30は=IF(E3=12,0,30) 2月30はIF(E3=11,0,30)・・・となっています。

  なんでそうなるの?????
  がわからなきゃ答えようがありません
    superman
   C  D   E     F        G
1   19    11   29      30
 2  19    12   29	           30          31
3   20     1   29	           30	    31
 4  20     2	
5   20     3    29	            30	    31
6   20     4    29	            30	
 7  20     5    29	             30	    31


 こんばんは〜♪

 良くわかりませんが〜♪
 カレンダーって、月の29日から月末までのカレンダー
 なのでしょうか。。。?

 ┌─┬────────┬───────┬───────┬────┬────┐
 │  │       A        │      B       │      C       │   D    │   E    │
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 1│    平成19年11月│              │            19│        │      11│
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 2│      2007/11/29│    2007/11/30│              │        │        │
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 3│      2007/12/29│    2007/12/30│    2007/12/31│        │        │
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 4│       2008/1/29│     2008/1/30│     2008/1/31│        │        │
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 5│       2008/2/29│              │              │        │        │
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 6│       2008/3/29│     2008/3/30│     2008/3/31│        │        │
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 7│       2008/4/29│     2008/4/30│              │        │        │
 ├─┼────────┼───────┼───────┼────┼────┤
 │ 8│       2008/5/29│     2008/5/30│     2008/5/31│        │        │
 └─┴────────┴───────┴───────┴────┴────┘

 ★平成しか対応しませんけれど。。。
 皆さんの式を一部お借りして。。。

 A1セルへ
 =DATE($C$1+1988,$E$1,1)
 セルの書式 → [$-411]ggge"年"m"月"

 A2セルへ
 =IF(DAY(DATE(YEAR($A$1),MONTH($A$1)+ROW(A1)-1,COLUMN(AC1)))<4,"",
DATE(YEAR($A$1),MONTH($A$1)+ROW(A1)-1,COLUMN(AC1)))

 ズリズリ〜ッ!!と、右と下へコピー。。。。
 こちらの書式は、お好みで。。。

 ご参考にそうぞ。。。

 。。。Ms.Rin〜♪♪


 要するに29日の列で「閏月でなければ0、閏月なら29」を出せばいいのですか?
 (そして、2月以外はすべて29を出せばいいのですね)

 【=IF(E1=2,0,29】の代わりにこれ → =IF(DAY(("H"&C1&"."&E1&"."&28)+1)=1,0,29)

 (半平太)

コメント返信:

[ 一覧(最新更新順) ]


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