4270 |
Excel如何輸入日期區間自動帶出指定日期 |
如果要在工作表中A欄輸入日期區間,例如:12/1~2/28,這時就會在B欄列自動帶出3/1,於A欄輸入3/1~6/30,就會在B欄同列自動帶出6/1,這樣函數公式要如何來寫呢?
其實這個公式並不複雜,首先我們要先知道「~」在儲存格中的位置,故使用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儲存格。
留言列表