[[20140304121441]] 『日曜始まりのカレンダー』(Y) ページの最後に飛ぶ

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

 

『日曜始まりのカレンダー』(Y)

 いつも皆様のお世話になっております。
 今回、日曜始まりのカレンダーを作成することになりました。
 毎月使用する為、○○年△△月の部分を変えるだけで自動で
 日付がその月の該当曜日に入るようにしたいです。
 全部で6週分の行が必要で、例えば今月の1日が土曜ですので
 2/23(日)からの表になるように。31日は月曜ですので、4/1〜4/5(土)
 まで。しかも2月と4月は色を変わる等、月が異なることが一目でわかる
 ようにしたいです。

 現在作成してある表はこちらです。 ↓

    A    B    C    D    E    F    G    H    I    
1            御中           様
2                                                
3                                             
4  日   月   火         水        木   金   土
5  23   24   25         26        27   28   1
6                                            
7  2    3    4          5         6    7    8
8                                            
9  9    10   11         12        13   14   15
10                                            
11 16   17   18         19        20   21   22
12                                            
13 23   24   25         26        27   28   29 
14                                            
15 30   31   1          2         3    4    5 
16                                            

 マクロではなく関数などで対応お願いいたします。

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


 カレンダー作成は
http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/calendar.htm
 の下の方に載っている関数が使えそうです。

 A5セル =IF(MOD(ROW(A1),2)=0,"",$A$1-WEEKDAY($A$1)+COLUMN(A1)+7*(INT(ROW(A1)/2)))
 右と下にフィルコピー

 月が違うセルに色を付けたい場合はA5セルからG15セルを選択した状態で
 ホームタブにある条件付き書式 → 新しいルール → 「数式を使用して〜」選択
 =MONTH($A$1)<>MONTH(A5)
 書式をクリックして塗りつぶしタブ(だったかな?)から色を選択
(se_9) 2014/03/04(火) 14:05

A1=2014、B1=3とする。
日付の入るセルの書式設定は「d」とする。
A5=DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+COLUMN(A1)+7*((ROW(A5)-5)/2) これを範囲コピー。
6行目以降、不要行を削除し、1行おきにする。
A5:G5の条件付き書式を設定、「=DAY($G$5)<DAY(A5)」で着色。
A13:G15の条件付き書式を設定、「=DAY(A13)<DAY($A$13)」で着色。
(???) 2014/03/04(火) 14:41

 数式で別案。

 A1に西暦、B1に月度

 A5 =($A$1&-$B$1)-WEEKDAY($A$1&-$B$1,1)+COUNT($A$4:$G4)+COLUMN(A1)

 A5:G6選択して下へコピー。

 ※なんでD列、F列開けてるの?
 
  
(GobGob) 2014/03/04(火) 14:55

あっ、私の案も、D列F列が空いていることは無視しています。
ここだけ空けるとすると、COLUMNが使えなくなるので、式を3つ用意しないと…。
(???) 2014/03/04(火) 15:03

 D列、F列開けるなら

 A5 =($A$1&-$B$1)-WEEKDAY($A$1&-$B$1,1)+COUNT($A$4:$I4)+1
 B5 =IF(B$4="","",($A$1&-$B$1)-WEEKDAY($A$1&-$B$1,1)+COUNT($A$4:$I4,$A5:A5)+1)
 B5をI5までコピー。

 A5:I6を下へコピー。
 
(GobGob) 2014/03/04(火) 15:15

別案です。

A1=2014、B1=3とする。
日付の入るセルの書式設定は「d」とする。

何曜日から始まっても必ず、第1土曜日は存在するので、
1.まず、第1土曜日のシリアル値を求める
2.次に、同一週の金曜から日曜に向かって1ずつ減じる
3.2行目以降は、前の行に7を加える

例では、
I5:=DATE(A1,B1,MOD(7-(WEEKDAY(DATE(A1,B1,1))),7)+1)
H5:=I5-1,G5:H5-1・・・

I6:=I5+7,H6:=H5+7・・・

(JJJ) 2014/03/04(火) 16:06


コメント返信:

[ 一覧(最新更新順) ]


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