用Excel表格登記的訂貨台賬,為了與後續的發貨、發票、貨款等台賬信息關聯,方便後續的對賬與結算,最好給每一筆訂單賦予一個唯一的訂單編号。便于在Excel中用函數生成,可以考慮用“日期 遞增順序号”的方式。
一、需要解決的問題
1、将日期轉換為8位的編号,如2022/4/23的日期編号為20220423。
2、根據訂單錄入的順序,按天獲取遞增的順序号
3、當月、日為1位數時,以及順序号位數不足時,需要在左邊補充0。
說明:訂貨日期在G列,M列作為順序号的輔助列。
二、使用COUNTIF生成遞增順序号
在M2單元格輸入公式:=COUNTIF($G$2:G2,G2);表示從G列第2行到當前行,當前行的日期出現了多少次。
三、生成訂單編号
1、使用TEXT函數生成訂單編号
N列為補全位數後的順序号,在N2輸入公式:=TEXT(M2,"0000")。顯示:0001
O列為8位的日期編号,在O2輸入公式:=TEXT(G2,"YYYYMMDD")。顯示:20190105
通過以上兩步已經分别實現了日期編号和順序号。則可以将兩個公式用&連接起來,并将M2替換為COUNTIF($G$2:G2,G2)。在P2輸入公式:=TEXT(G2,"YYYYMMDD")&TEXT(COUNTIF($G$2:G2,G2),"0000")。顯示:201901050001
2、使用REPT函數生成訂單編号
用REPT函數會比TEXT函數稍微複雜一些。REPT函數可以按照定義的次數重複顯示文本,相當于複制文本。如果月份為1位數,就要REPT函數顯示1個0,再拼接月份。
L列為補全位數後的順序号,在L2輸入公式:=REPT("0",4-LEN(M2))&M2。顯示:0001
I列為年份,在I2輸入公式:=YEAR(G2)。顯示:2019
J列為兩位數的月份,在J2輸入公式:=REPT("0",2-LEN(MONTH(G2)))&MONTH(G2)。顯示:01
K列為兩位數的日,在K2輸入公式:=REPT("0",2-LEN(DAY(G2)))&DAY(G2)。顯示:05
通過以上幾步已經分别實現了年、月、日的編号和順序号。因為計算每一個編号的公式都比較長,如果将四個公式都拼接起來,後續難以查閱理解,則可以将幾個單元格用&連接起來。在H2輸入公式:=I17&J17&K17&L17
,