date code區間試算_Excel活用-015

延續先前黑晶爐這篇的文章,裡面有提到如何用公式回推date code的區間,其實很多3C電子產品上都會有date code的數列,每家公司定義的數列順序都有些微的差異,但基本上概念都是大同小異的。



那麼「Date Code (D/C)」是甚麼?

其實就是所謂的「批號」,再白話一點的說法,可以說是「製造日期」。
電子產品的製造日期,基本上都是用「西元年後2碼+周別」來定義的。

以黑晶爐這篇文章中的出廠號碼為例「7C1A190411200080」

本體底部貼標上顯示「5-8碼為西元年即周別」,所以我們從左至右數到5-8碼,是不是就是「1904」。
初步判斷可以得知生產區間是落在「2019年的第4周」,那如果想要知道更精確日日期呢?



△  題目:算出date code的周別區間

一、從「起始日」開始,會分三個階段設定。

步驟一:公式中的小主語



● 函數「=TEXT(MAX(DATE("20"&LEFT(B5,2),1,1),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+(RIGHT(B5,2)-1)*7+1),"YYYY/MM/DD")」

(a)「DATE("20"&LEFT(B5,2),1,1)」結果為「2019/1/1」
(b)「WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)」結果為「星期2」
(c)「(RIGHT(B5,2)-1)*7+1)」結果為「22天」;補充:當年1月1日上一周的周日加上(n-1)*7+1天

Ans:(a) (b) + (c) = 2019/1/21得出起始日

概念:(a)、(b)為了求出2018年最後一個星期日,(c)來試算日數。

步驟二:公式中的中主語 (利用MAX設定限制)



● 函數「=TEXT(MAX(DATE("20"&LEFT(B5,2),1,1),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+(RIGHT(B5,2)-1)*7+1),"YYYY/MM/DD")」

(a)「MAX(DATE("20"&LEFT(B5,2),1,1)」結果為「2019/1/1」
(b)「MAX(DATE("20"&LEFT(B5,2),1,1),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+(RIGHT(B5,2)-1)*7+1)」結果為「43466」

Ans:43466;數值格式,對Excel來說,日期都是一串數列。

概念:用(a)當作限制,以今年度為限;(b)的結果大於(a)可顯示其日期。

步驟三:公式中的大主語 (設定簡短日期格式)



● 函數「=TEXT(MAX(DATE("20"&LEFT(B5,2),1,1),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+(RIGHT(B5,2)-1)*7+1),"YYYY/MM/DD")

Ans:2019/01/21



概念:設定數值格式,將得出的數值(通用格式),轉成日期(簡短日期);這一道其實可省略,可直接從Excel單頭選單中的「常用/數值」類別,選「簡短日期」。



二、從「截止日」開始,會分三個階段設定。

步驟一:先從公式中,最內層的小主語看起。



● 函數「=TEXT(MIN(DATE("20"&LEFT(B5,2)+1,1,0),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+RIGHT(B5,2)*7),"YYYY/MM/DD")」

(a) 「DATE("20"&LEFT(B5,2),1,1)」結果為「2019/1/1」
(b) 「WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)」結果為「星期2」
(c) 「(RIGHT(B5,2)-1)*7)」結果為「28天」;補充:當年1月1日上一周的周日加上(n-1)*7天

Ans:(a) (b) + (c) = 2019/1/27得出起始日

概念:(a)、(b)為了求出2018年最後一個星期日,(c)來試算日數。

步驟二:公式中的中主語 (利用MIN設定限制)



● 函數「=TEXT(MIN(DATE("20"&LEFT(B5,2)+1,1,0),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+RIGHT(B5,2)*7),"YYYY/MM/DD")」

(a)「MIN(DATE("20"&LEFT(B5,2)+1,1,0)」結果為「2019/12/31」
(b)「MIN(DATE("20"&LEFT(B5,2)+1,1,0),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+RIGHT(B5,2)*7)」結果為「43492」

Ans:43492;數值格式,對Excel來說,日期都是一串數列。

概念:用(a)當作限制,以今年度為限;(b)的結果小於(a)可顯示其日期。

步驟三:公式中的大主語 (設定簡短日期格式)



● 函數「=TEXT(MIN(DATE("20"&LEFT(B5,2)+1,1,0),DATE("20"&LEFT(B5,2),1,1)-WEEKDAY(DATE("20"&LEFT(B5,2),1,1),2)+RIGHT(B5,2)*7),"YYYY/MM/DD")

Ans:2019/01/27



三、基本上已經完成囉~ 有發現小本有將資料設成群組嗎?

將Excel資料群組起來,方便縮放使用。



補充:(1) 全部收起 / (2) 全部展開;當資料群組的小團體過多時,可點選這2個快速按鍵。

記得先選範圍,再來道表頭選單中「資料」 >「組成群組」 >「組成群組」。
這裡就不多加贅述,小本有寫過「將資料組成群組」有興趣的同學可以去看看。



引用資料:
01# 每日頭條「excel函數計算幾天是一年第幾周的方法」

延伸閱讀:
1. 2020/02/19 日常雜貨_[租屋推薦] 電磁爐 x 飛利浦黑晶爐HD4988
2. 2019/05/10 Excel函數-016_max-統計
3. 2019/05/11 Excel函數-017_min-統計
4. 2019/07/27 Excel函數-030_text-文字
5. 2019/07/20 Excel技巧-016_輸入日期,卻出現數字
6. 2020/01/04 Excel技巧-029_將資料組成群組

留言