[Excel] 外商必備換算工具-日期週數轉換
之前寫了一篇文章介紹如何把週數轉換成對應的月份,這次要來更完整的換算了!
換算的工具還是使用Excel,畢竟他還是目前企業普遍使用的文書處理工具。
假設今天日期為2020/12/25要怎麼把它換成週數呢?去查日曆的話,就會知道這天是在2020年的第52週的星期一,外商大多會簡潔表示就會變成"2052.5",那要怎麼把日期換算成週數呢?
如果A2格填的是日期,那在A3格輸入以下算式,就可以作轉換了!
=RIGHT(YEAR(A2),2)&IF(WEEKNUM(A2,2)<10, TEXT(WEEKNUM(A2,2),"00"),WEEKNUM(A2,2))&"."&WEEKDAY(A2,2)
那這這個算式要怎麼解讀呢?
- 2052.1:主要分成四個部分,"20", "52", ".", "5",他們之間用"&"符號來連接,"&"符號在Excel是用來連結字串。
- RIGHT(YEAR(A2),2): 這個式子會產出"20"這個數字,函式意思是把A2的日期用YEAR函式把年份取出,也就是2020年,但是我們只要取2020年最後面的20來表示就好,所以就用RIGHT函式來擷取2020這個數字的最右邊兩個數字,RIGHT函式裡面的2,就是表示取兩個數字!
- IF(WEEKNUM(A2,2)<10, TEXT(WEEKNUM(A2,2),"00"),WEEKNUM(A2,2)): 這個式子會產出“52”這個數字,也就是日期的週數,只不過為了維持週數的表示都有兩個位數,多用了IF這個函式來判斷週數為個位數還是雙位數。比方說第一週,我們希望它顯示01而非1。
- WEEKDAY(A2,2):這個式子就單純許多了,他就是在算日期會是在星期幾。
但是,有時候還是會需要由週數知道對應的日期為多少,假設我們要把A4格裡的2052.5轉乘日期的話,這時候相反的換算就可以用下面這個式子:
=DATE(2000+LEFT(A3,2),1,1)+7*(MID(A3,3,2)-1)+(RIGHT(A3,1)-WEEKDAY(DATE(2000+LEFT(A3,2),1,1),2))
記得要把儲存格的格式轉成"日期"來表示!
- DATE(2000+LEFT(A3,2),1,1): 這個式子會產生出2020/1/1,年的算法就是2000+20,20就是用LEFT這個函式來取出,2052.5這個數字的最左邊的兩個位數。
- 7*(MID(A3,3,2)-1): 這個式子會產生出(52-1)*7這個數字,基本上就是在算2052.5距離2020/1/1有多少天。用MID這個函式來取出2052.5中的52這個週數出來。
- (RIGHT(A3,1)-WEEKDAY(DATE(2000+LEFT(A3,2),1,1),2)): 這個式子是在算2052.5的5(星期五)跟2020/1/1(星期三)的星期差距幾天。
這個式子有個要注意的點,如果你是要看2000年前的轉換,要記得把式子裡的2000改得更小一點!不然會有問題!
式子的解讀看不懂沒關係,下面就有範例分享直接拿去用就好了!
式子的解讀看不懂沒關係,下面就有範例分享直接拿去用就好了!
留言
張貼留言