✔ 最佳答案
在Sheet1的C1輸入的公式應該參照Sheet2的C1而非C2,故應更正如下:
=TEXT(Sheet2!C1,"d/m/yyyy")&" ("&CHOOSE(WEEKDAY(Sheet2!C1,1),"日","一","二","三","四","五","六")&")"
再複製此公式至Sheet 1 的D1:P1應該會得到預期結果。
至於出現剔號的公式,留意Excel版本是中文版抑或英文版,頁名是「工作表2」抑或“Sheet2“,在公式裡要統一選用。D2:P14儲存格沒有出現答案是空白,應該是因D1:P1儲存格的日期不對,上面公式更正後應可解決。
條件格式方面,若選擇星期六是綠色、星期日及公眾假期是紅色,設定方法是在C1:P1套用兩條分拆出來的規則即可。
「星期六」規則:公式是=IF(ISNUMBER(FIND("六",C1)),1,0),格式設定為綠色。
「星期日及公眾假期」規則:公式是=IF(ISNUMBER(FIND("日",C1)),1,0)+IF(ISNUMBER(FIND("公眾假期",C1)),1,0),格式設定為紅色。
要開立一個年度公眾假期清單來參考。首先假設在Sheet3上建立一個2015年公眾假期清單如下(17天):
A1是 香港2015年公眾假期
A2是 日期
B2是 星期
C2是 公眾假期
A3是 1/1/2015
B3是 四
C3是 一月一日
A4是 19/2/2015
B4是 四
C4是 農曆年初一
A5是 20/2/2015
B5是 五
C5是 農曆年初二
A6是 21/2/2015
B6是 六
C6是 農曆年初三
A7是 3/4/2015
B7是 五
C7是 耶穌受難節
A8是 4/4/2015
B8是 六
C8是 耶穌受難節翌日
A9是 6/4/2015
B9是 一
C9是 清明節翌日
A10是 7/4/2015
B10是 二
C10是 復活節星期一翌日
A11是 1/5/2015
B11是 五
C11是 勞動節
A12是 25/5/2015
B12是 一
C12是 佛誕
A13是 20/6/2015
B13是 六
C13是 端午節
A14是 1/7/2015
B14是 三
C14是 香港特別行政區成立紀念日
A15是 28/9/2015
B15是 一
C15是 中秋節翌日
A16是 1/10/2015
B16是 四
C16是 國慶日
A17是 21/10/2015
B17是 三
C17是 重陽節
A18是 25/12/2015
B18是 五
C18是 聖誕節
A19是 26/12/2015
B19是 六
C19是 聖誕節後第一個周日
有了Sheet3!$A$3:$C$19的公眾假期清單,接下來可著手修改Sheet1!C1:P1的公式。
在邏輯上,先將日期查找一下是否屬於公眾假期,是的話括弧內放入「公眾假期」,非的話括弧內如前放入星期幾。
查找Sheet2!C1日期是否屬於公眾假期的公式如下:
=IF(ISNA(VLOOKUP(Sheet2!C1,Sheet3!$A$3:$C$19,2,FALSE)) ,"非公眾假期","公眾假期")
將此部份併入原來公式(取代「非公眾假期」情況)成為如下新公式:
=TEXT(Sheet2!C1,"d/m/yyyy")&" ("&IF(ISNA(VLOOKUP(Sheet2!C1,Sheet3!$A$3:$C$19,2,FALSE)),CHOOSE(WEEKDAY(Sheet2!C1,1),"日","一","二","三","四","五","六"),"公眾假期")&")"
2015-03-09 17:00:28 補充:
在Sheet1的C2輸入的公式修正如下:
=IF(TEXT(工作表2!C$1,"d/m/yyyy")=LEFT(C$1,LEN(TEXT(工作表2!C$1,"d/m/yyyy"))),"√","")