EXCEL公式運算

2015-03-09 6:11 am
在Sheet1的C1輸入如下公式:
=TEXT(Sheet2! C2,"d/m/yyyy")&" ("&CHOOSE(WEEKDAY(Sheet2!C2,1),"日","一","二","三","四","五","六")&")"

然後複製此公式至Sheet 1 的D1:P1,結果D1:P1全部同一出現0/1/1900(六),怎樣解決?

在Sheet1的C2輸入如下公式:
=IF(TEXT(Sheet2!C2,"d/m/yyyy")=LEFT(C$1,LEN(TEXT(工作表2!C2,"d/m/yyyy"))),"√","")

然後複製此公式至Sheet 1 的D2:P14,結果D2:P14儲存格全部同一出現沒有答案儲存格是空白,怎樣解決?

若要「星期」可出現「公眾假期」,由於公眾假期日子每年不同,這需要開立一個按年公眾假期清單來參考。請教教怎樣設定配合上述日期範圍內。


Enter the formula in the corresponding box.
=IF(ISNUMBER(FIND("六",C1)),1,0)+IF(ISNUMBER(FIND("日",C1)),1,0)+IF(ISNUMBER(FIND("公眾假期",C1)),1,0)
已試過儲存格全部出現紅色,若選擇星期六是綠色,星期日及公眾假期是紅色,怎樣設定?
有機會我不明白之前所說的步驟,引致設定錯誤,請詳說明,謝!

回答 (1)

2015-03-09 9:51 pm
✔ 最佳答案
在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"))),"√","")


收錄日期: 2021-04-11 20:58:11
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20150308000051KK00109

檢視 Wayback Machine 備份