新的一年又要到了,有人想要列出每一年裡的星期六和星期日的日期,該如何設計?

在下圖中,只要輸入年份,即可產生當年的所有星期六和星期日列表。

Excel-列出每一年裡的星期六和星期日的日期

 

【公式設計與解析】

為了簡化公式,先定義儲存格範圍名稱:DATA

參照到:=ROW(INDIRECT(DATE($B$1,1,1)&":"&DATE($B$1,12,31)))

DATE($B$1,1,1))和DATE($B$1,12,31),用以產生每年第一天和最後一天的日期。

透過 INDIRECT 函數將DATE($B$1,1,1)&":"&DATE($B$1,12,31)轉換成儲存格參照。

再透過 ROW 函數取得儲存格範圍,ROW 函數會傳回數值。例如,

DATE(2022,1,1)換算為數字:44562,DATE(2022,12,31)換算為算字:44926。

結果可得「44562:44926」

接著輸入公式:

儲存格D3:{=IFERROR(SMALL(IF(WEEKDAY(DATA,2)>5,DATA,""),ROW(1:1)),"")}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵,Excel 會自動加上「{}」。

複製儲存格D3,貼至儲存格D3:D108。

透過條件:WEEKDAY(DATA,2)>5,判斷是否為星期六或星期日,

如果成立,則傳回列號,如果不成,則傳回空字串。

再利用 SMALL 函數由小至大取出每一筆並列出。

因為可能傳回錯誤訊息,所以利用 IFERROR 函數將錯誤訊息轉為空字串。

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel INDIRECT WEEKDAY DATE
    全站熱搜

    vincent 發表在 痞客邦 留言(2) 人氣()