close

2230

Excel日曆加上日誌()重要節日及詳細事項

這是一位網友提出的問題,他需要製作一個帶有備忘錄功能的日曆。

由於想要完成的項目滿多,故為了方便各位讀者閱讀將分為三個單元來討論。

在這個單元,希望將「Excel日曆加上日誌()日曆製作」中日曆變的更靈活一些,有二項要求:

1、可以顯示該個月份重要節日。

2、點取任何一日會在詳細事項內顯示該天有那些事項。

重要節日設定

1、點取B4儲存格輸入公式:

=IFERROR(VLOOKUP(B3,表格1,3,FALSE),"")

將公式複製到B4:H4儲存格範圍、B6:H6儲存格範圍、B8:H8儲存格範圍、B10:H10儲存格範圍、B12:H12儲存格範圍、B14:H14儲存格範圍。

若是怕同一天有詳細事項而無重要節日在儲存格顯示0,則可以透過儲存格格式設定自定為「G/通用格式;G/通用格式;""

【公式說明】

VLOOKUP(B3,表格1,3,FALSE) 傳回B3儲存格內容在「表格1」表格中第一欄以絕對比對方式搜尋,若搜尋到相同資料,則傳回同列第3欄資料。

IFERROR(VLOOKUP(B3,表格1,3,FALSE),"") 如果出現錯誤則不填入資料。

詳細事項設定

1、將I3:L14框選起來,再點取「常用 > 跨欄置中」圖示

2、點取I3儲存格輸入公式:

=IFERROR(VLOOKUP(INDIRECT("R"&IF(MOD(CELL("ROW"),2)=0,CELL("ROW")-1,CELL("ROW"))&"C"&CELL("COL"),FALSE),表格1,2,FALSE),"無事項記錄")

3、點取要顯示詳細事項的日期,即可看到是否有詳細事項。

若沒有反應,有可能系統記憶體不足,請按F9鍵重新整理即會出來。

【公式說明】

Cell("Col") 傳回目前儲存格的欄號。

Cell("Row") 傳回目前儲存格的列號。

Mod(Cell("Row"),2) 傳回目前儲存格列號除2的餘數。

If(Mod(Cell("Row"),2)=0,Cell("Row")-1,Cell("Row")) 如果Mod(Cell("Row"),2)傳回的餘數為0,則填入列號減1的值,否則填入列號。

Indirect("R"&If(Mod(Cell("Row"),2)=0, Cell("Row")-1, Cell("Row"))&"C"& Cell("Col"),False) RIf(Mod(Cell("Row"),2)=0,Cell("Row")-1,Cell("Row"))傳回的列號結合加上CCell("Col")傳回欄號結合變成RnCn的儲存格內容,n為數值。

Vlookup(Indirect("R"&If(Mod(Cell("Row"),2)=0,Cell("Row")-1,Cell("Row"))&"C"&Cell ("Col" ),False),表格1,2,False) 傳回Indirect("R"&If(Mod(Cell("Row"),2)=0, Cell("Row")-1, Cell("Row"))&"C"& Cell("Col"),False)的內容在表格1第一欄搜尋,若找到相同資料傳回同列第二欄的資料。

Iferror(Vlookup(Indirect("R"&If(Mod(Cell("Row"),2)=0,Cell("Row")-1,Cell("Row"))&"C"& Cell("Col" ),False),表格1,2,False),"無事項記錄") 如果沒有該日期資料會出現錯誤訊息,故填入「無事項記錄」字串。

如果顯示內容連在一起是由於沒有在【儲存格格式】對話方塊「對齊」標籤內設定「自動換行」。


arrow
arrow

    錦子老師 發表在 痞客邦 留言(1) 人氣()