返回列表 上一主題 發帖

[發問] 怎麼顯示一整年的星期六和星期日日期

本帖最後由 ML089 於 2013-11-2 15:47 編輯

B1 =IF(ROW(A1)=1,DATE(A$1,1,)+MIN(MATCH({6,7},WEEKDAY(DATE(A$1,1,{1,2,3,4,5,6,7}),2),)),IF(WEEKDAY(INDIRECT("R[-1]C",),2)=6,1,6)+INDIRECT("R[-1]C",))
下拉複製公式

格式自訂為 mm月dd號aaaa
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 1# prince0413

如果你會用陣列公式,提供下式參考

先選擇 B1:B105 儲存格
複製下列公式貼至表單上方公式編輯區內
=TEXT(SMALL((WEEKDAY(DATE(A1,1,ROW(1:366)),2)<6)*9^9+DATE(A$1,1,ROW(1:366)),ROW(1:105)),"[<"&DATE(A1,12,31)&"]mm月dd號aaaa;")

使用三鍵輸入方式(先按CTRL+SHIFT再按ENTER三鍵齊按方式輸入公式)
輸入後公式前後 "{.....公式.....}" 用 { }刮住,顯示如下表式輸入成功
{=TEXT(SMALL((WEEKDAY(DATE(A1,1,ROW(1:366)),2)<6)*9^9+DATE(A$1,1,ROW(1:366)),ROW(1:105)),"[<"&DATE(A1,12,31)&"]mm月dd號aaaa;")}
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 8# prince0413
如果你是EXCEL生手,將公式拆解成2部分,頭一天的星期六及星期日用人工輸入,後面日期就是前日期加7天
另外EXCEL若用的合併儲存格會使公式複雜化,建議改為下圖



B2 =DATE(B1,1,1)

橘色區公式
C3輸入第一個星期六日期或用下列公式
C3 =B2+MOD(6-WEEKDAY(B2,2),7)

D3輸入第一個星期日日期或用下列公式
D3 =B2+7-WEEKDAY(B2,2)

黃色區公式
每個星期六至星期六或星期日至星期日間都隔7天,所以用上格日期加7天就可
C4 =C3+7
右拉下拉複製公式
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 13# prince0413

B2 =DATE(B1,1,1)
只是原先在測試各種狀況用,你可以將該函數放到C3、D3公式中,如下

橘色區公式
C3輸入第一個星期六日期或用下列公式
C3 =B2+MOD(6-WEEKDAY(B2,2),7)
改為
C3 =B2+MOD(6-WEEKDAY(DATE(B1,1,1),2),7)

D3輸入第一個星期日日期或用下列公式
D3 =B2+7-WEEKDAY(B2,2)  
改為
D3 =B2+7-WEEKDAY(DATE(B1,1,1),2)
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 14# Hsieh


D3公式遇到 1/1是星期日時會 -1 天,會變成去年的12/31
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 手心向下是助人,手心向上是求人;助人快樂,求人痛苦。
返回列表 上一主題