close

4270

Excel如何輸入日期區間自動帶出指定日期

如果要在工作表中A欄輸入日期區間,例如:12/1~2/28,這時就會在B欄列自動帶出3/1,於A欄輸入3/1~6/30,就會在B欄同列自動帶出6/1,這樣函數公式要如何來寫呢?

image

其實這個公式並不複雜,首先我們要先知道「~」在儲存格中的位置,故使用FIND函數去尋找,FIND("~",A1,1),從A1儲存格中第個字元開始尋找~符號。

找到後我們使用MID函數從下一個字元位置去抓取10個字元,因為西元日期格式(YYYY/MM/DD)加起來共計10個字元(MID(A1,FIND("~",A1,1)+1,10))。

找到後利用TEXT函數將其轉成西元日期的文字格式,TEXT(MID(A1,FIND("~",A1,1)+1,10), "yyyy/mm/dd")

接著利用MONTH函數傳回其月份值(MONTH(TEXT(MID(A1,FIND("~",A1,1)+1,10),"yyyy/mm/dd"))

再利用QUOTIENT函數將月份減一後除以3,算出的整數值後再乘以3,再加3,自出其是3的倍數那一個月,QUOTIENT(MONTH(TEXT(MID(A1,FIND("~",A1,1)+1,10),"yyyy/mm/dd"))-1,3)*3+3

最後利用DATE函數,在年份輸入當年年份,天數輸入1,來顯示該年指定月份的1號,DATE(2023,QUOTIENT(MONTH(TEXT(MID(A1,FIND("~",A1,1)+1,10),"yyyy/mm/dd"))-1,3)*3+3,1)

所以月B1儲存格輸入公式「=DATE(2023,QUOTIENT(MONTH(TEXT(MID(A1,FIND("~",A1,1)+1,10), "yyyy/mm/dd"))-1,3)*3+3,1)」後,向下複製公式到B2:B4儲存格。

image


arrow
arrow

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