用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
评论 (0)