close

4030

Excel如何依指定星期幾自動填入當月符合日期

如果我們希望像下圖這樣將A1儲存格指定的年份及月份中各個日期分別依序自動填入所屬星期的欄位,要怎麼這公式呢?

image

1.點取B2儲存格,輸入公式「=IFERROR(--($A$1&SMALL(IFERROR(IF(TEXT(--($A$1&ROW($1:$31)&"日"),"aaaa")=B$1,ROW($1:$31)),FALSE),ROW(A1))&"日"),"")」後,向下及向右複製公式到B2:D7儲存格。

image

公式說明

=IFERROR(--($A$1&SMALL(IFERROR(IF(TEXT(--($A$1&ROW($1:$31)&"日"),"aaaa")=B$1,ROW($1: $31)),FALSE),ROW(A1))&"日"),"")

公式一:$A$1&ROW($1:$31)&"日" 產生日期1到31日。

公式二:TEXT(--(公式一),"aaaa") 將公式一傳回結果成星期幾格式,好跟第一列比對。

公式三:IF(公式二=B$1,ROW($1:$31)),FALSE) 如果公式二傳回結果與B1儲存格相同(由於會向下複製公式,故鎖定列號),則傳回該列號,否則傳回FALSE邏輯值

公式四:IFERROR(公式三,FALSE) 如果公式三傳回結果為錯誤訊息,表示該日期不存在(因為2月只有28或29天,4、6、9,11月只有30天),則傳回FALSE邏輯值。

公式五:--($A$1&SMALL(公式四,ROW(A1))&"日") 將公式四傳回結果中第一小(ROW(A1),向下複製會依序形成第2、第3…)的值加上「日」字元,再結合A1儲存的年份及月份形成日期。

公式六:IFERROR(公式五,"") 如果公式五傳回結果日期不存在(因為己超過該月份),則不填入資料。

~~有什麼問題歡迎留言,我會儘量及時的給大家答覆~~

更多相關影片教學:請點我

更多相關文章:請點我


arrow
arrow
    文章標籤
    TEXT IFERROR SMALL ROW
    全站熱搜

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