[[20160107170549]] 『万年カレンダーの作成について』(サニ子) ページの最後に飛ぶ

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

 

『万年カレンダーの作成について』(サニ子)

[[20080816175038]]を元にカレンダーを作成しております。

記述の通り・・・

    A   B        C        D         E       F        G        H 
1 2008	3						
2	日	月	火	水	木	金	土
3							1
10	2	3	4	5	6	7	8
17	9	10	11	12	13	14	15
24	16	17	18	19	20	21	22
31	23	24	25	26	27	28	29
38	30	31
行番号が飛び飛びになっていますが データ グループとアウトライン設定で非表示にした結果です。
B3に
=IF(MOD(DATE($A1,$B1,1),7)=MOD(COLUMN(A1),7),1,"")
C3に
=IF(B3="",IF(MOD(DATE($A1,$B1,1),7)=MOD(COLUMN(B1),7),1,""),B3+1)
B10に     C10に
=H3+1     =B10+1
B17に     C17に
=H10+1    =B17+1
B24に     C24に
=B17+1     =B24+1
B31に
=IF(DAY(DATE($A$1,$B$1,B17+14))<15,"",F24+3)
C31に
=IF(DAY(DATE($A$1,$B$1,C17+14))<15,"",C17+14)
B38に
=IF(DAY(DATE($A$1,$B$1,B24+14))<15,"",F31+3)
C38に
=IF(DAY(DATE($A$1,$B$1,C24+14))<15,"",C24+14)
 C列右へフィールコピー
 グループとアウトライン設定で 週単位で見るが便利かなとはおもいますが!!
(ABC)

・・・

で、作成出来ました。

今度は、
日にちの間に1列ずつ追加して

    A     B    C     D    E    F    G    H   I    J    K    L    M   N    O
1 2008	   3						
2	   日(空欄)月(空欄)火(空欄)水(空欄)木(空欄)金(空欄)土(空欄)
3							                   1
10	      2         3	  4	    5	      6	        7	   8
17	      9	        10	  11	    12	      13	14	   15
24	      16	17	  18	    19	      20	21	   22
31	      23	24	  25	    26	      27	28	   29
36	      30	31

という様にしたいのです。
(追加した列に祝日を入力するためです)
ただ1列ずつ追加しただけでは、日にちがずれてしまって・・・

関数をどの様に直したらいいか教えてください。
宜しくお願い致します。m(_ _)m

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


 B10 =IF(MONTH(($A$1&-$B$1)-WEEKDAY($A$1&-$B$1)+(ROW(A1)-1)+INT((COLUMN(A1)-1)/2)+1)=$B$1,($A$1&-$B$1)-WEEKDAY($A$1&-$B$1)+(ROW(A1)-1)+INT((COLUMN(A1)-1)/2)+1,"")

 B10:C10を選択してN10までコピー。

 B10:N23を選択して下へコピー。

 ※表示形式 d
 
(GobGob) 2016/01/07(木) 19:02

GobGob 様

うまく作成する事が出来ました。
ご教授いただき ありがとうございました!!

(サニ子) 2016/01/08(金) 10:18


度々申し訳ありません。

[[20080816175038]]と同様にSheet2の予定をカレンダーに反映させたいのです。

Sheet2
D   E   F   G   H   I
日付 所属 名前 案件 金額 =day(D2)*10+countif(D$2:D2,D2) 

とりあえず名前検出と思い
カレンダーのB4へ
=index(sheet2!$F$2:$F$50,match(B$3*10+row(A1),sheet2!$I$2:$I$50,0))を入れて
土曜日までドラッグしてみたのですが
#VALUE!または#N/A! のエラーになってしまいまして(涙)

カレンダーに反映させたいものは
名前+案件+金額 です。

また、金額を反映させた時にカンマも付ける事は可能でしょうか?

どのようにしたら良いか教えてくださいm(_ _)m

(サニ子) 2016/01/15(金) 09:06


 どうしたいのかわからないけど、オイラの回答はシリアル値なんで
 検索値をシリアル値変換するか、数値変換すればいいんでない?
 
(GobGob) 2016/01/15(金) 11:22

 (GobGob)様

 検索値とは、カレンダーの日付を"D"表示しているセルのことでしょうか?

(サニ子) 2016/01/15(金) 14:09


 day(D2) → 数値

 B$3*10+row(A1) → なに値?

 ってことっす。
 
(GobGob) 2016/01/15(金) 14:31

 (GobGob)様

 sheet2 
     A     B  CDE    FGH     IJK     LMN     OPQ     RST     UVW            
 1 2008年 9月
 2          日  月    火    水                木            金    土    
 3                    1      2        3                  4               5       6
 4                                  サニ子○○○50,000    
 5                                  サニ男○○○70,000
 6                                  サニ美○○○3,000
 7
 8
 9            
 10            7      8      9       10                  11             12      13
 11                                                  サニ子○○○10,000
 12
 13
 14
 15

 sheet2 
     D        E        F        G        H          I
 1  日付    所属    営業名   案件    金額   (準備用・関数)
 2 9/3       9/3        サニ子   ○○○   50,000  =index(sheet2!$F$2:$F$50,match(B$3*10+row(A1),sheet2!$I$2:$I$50,0))
 3 9/3       9/3        サニ男   ○○○      70,000
 4 9/3        9/3        サニ美   ○○○      3,000
 5 9/12       9/12       サニ子   ○○○      10,000
 6  9/18     9/18       サニ太   ○○○    ・
 ・ ・      ・     ・ 
 ・ ・      ・     ・
 ・ ・      ・     ・

 の、様にしたいのです。
 Sheet2 のI列は、標準値になっています。

(サニ子) 2016/01/15(金) 15:05


sheet2の I2=D2&"_"&COUNTIF(D$2:D2,D2) とかにすれば、検索しやすくなるかと。
(ルル三条) 2016/01/15(金) 16:00

 すみません!間違えました!!

 sheet2 
     A         BC    DE      FG      HI                  JK              LM       NO            
 1 2008年 9月
 2          日  月    火    水                木            金    土    
 3                    1      2        3                  4               5       6
 4                                  サニ子○○○50,000    
 5                                  サニ男○○○70,000
 6                                  サニ美○○○3,000
 7
 8
 9            
 10            7      8      9       10                  11             12      13
 11                                                  サニ子○○○10,000
 12
 13
 14
 15
 sheet2 
     D        E        F        G        H          I
 1  日付    所属    営業名   案件    金額   (準備用・関数)
 2 9/3       9/3        サニ子   ○○○   50,000  =day(D2)*10+countif(D$2:D2,D2)
 3 9/3       9/3        サニ男   ○○○      70,000
 4 9/3        9/3        サニ美   ○○○      3,000
 5 9/12       9/12       サニ子   ○○○      10,000
 6  9/18     9/18       サニ太   ○○○    ・
 ・ ・      ・     ・ 
 ・ ・      ・     ・
 ・ ・      ・     ・
 の、様にしたいのです。
 Sheet2 のI列は、標準値になっています。
(サニ子) 2016/01/15(金) 16:07

Sheet2に追加
J2=F2&G2&TEXT(H2,"#,##0")
(ルル三条) 2016/01/15(金) 16:26

 (ルル三条)様

 J2 に関数を入力し、所属・営業名・金額が合わさったものが表示されました。

(サニ子) 2016/01/15(金) 16:30


カレンダー(sheet1?)に

B4=IF(B$3="","",IFERROR(INDEX(Sheet2!$J$2:$J$14,MATCH(DAY(B$3)*10+ROW(A1),Sheet2!$I$2:$I$14,0),),"-"))

B4ですよね・
(ルル三条) 2016/01/15(金) 16:39


 (ルル三条)様

 B4 です。
 関数を入力してみましたが、
 #VALUE! と表示されていた箇所は空白に
 #N/A! と表示されていた箇所は - と表示されました。

 Sheet2のJ列の様な表示がされません。

(サニ子) 2016/01/15(金) 17:02


Sheet2には9/3のデータがありますか?

あるなら、とりあえず、B3に9/3と入力してみてください。

その時の、B4の値を確認してください。。
(ルル三条) 2016/01/15(金) 17:06


 (ルル三条)様

 データはあります。
 カレンダーの日付も入れ直してみましたが反映されずです(涙)
(サニ子) 2016/01/15(金) 17:16

Sheet2 の I2=day(D2)*10+countif(D$2:D2,D2) であってますか?

そして、現在のI2の値は?
(ルル三条) 2016/01/15(金) 17:22


 (ルル三条)様

 I2 の関数は、ご教授いただいた通り
 =day(D2)*10+countif(D$2:D2,D2) を入力してあります。

 表示されている値は、42370_1 です。

 すみません、ここに表示しているカレンダーは過去の記述のものをそのままコピペしてますので
 実際は、2016年1月のカレンダーを表示しており
 Sheet2のD2の日付は2016/1/1にしてあります。

(サニ子) 2016/01/15(金) 17:28


42370_1だと

day(D2)*10+countif(D$2:D2,D2) じゃなく、
D2&"_"&COUNTIF(D$2:D2,D2)   じゃないですか?

D2&"_"&COUNTIF(D$2:D2,D2) の提示後、
day(D2)*10+countif(D$2:D2,D2)  にしたいとあったので、
day(D2)*10+countif(D$2:D2,D2) に合わせた式にしてます。
(ルル三条) 2016/01/15(金) 17:35


席を外しますので・・・。

万年カレンダーとのこと。

Sheet2への入力データを月ごとに入れ替えるなら、day(D2)*10+countif(D$2:D2,D2) で可。
Sheet2への入力データを月ごとに入れ替えないなら、day(D2)*10+countif(D$2:D2,D2) では不可。

仕様に合わせて、I列の式を選択してください。

−−−−−−−−−−−−−−−

IF(B$3="","",
IFERROR(INDEX(Sheet2!$J$2:$J$14,MATCH(
DAY(B$3)*10+ROW(A1),   ←
Sheet2!$I$2:$I$14,0),),"-"))

I列の値に合わせて、3行目の式を変更してください。

−−−−−−−−−−−−−−−

ただ、この式は1週毎に組み替える仕様にしています。
2週目は
IF(B$10="","",IFERROR(INDEX(Sheet2!$J$2:$J$14,MATCH(DAY(B$310)*10+ROW(A1),Sheet2!$I$2:$I$14,0),),"-")) とかにしてみてください。

カレンダーの日付が空白なら、空白
I列にデータがなければ、- を表示することにしています。
(ルル三条) 2016/01/15(金) 17:57


コメント返信:

[ 一覧(最新更新順) ]


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