Excel拼接订单编码时,如何格式化引用单元格或TODAY()的日期?
问题描述
我正在为公司搭建备用PO系统,要求订单编码格式为:供应商-日期-项目代码(示例:AUTON-120522-14-0337)。使用FILTER函数引用供应商和项目代码均正常,但引用单元格G2或使用TODAY()函数时,日期会输出为5位数字。我尝试过将单元格转为字符串、将日期转为文本,但格式仍不生效,要么日期格式不符合订单编码要求,要么会影响原日期单元格。当前使用的函数如下:
=FILTER('Vendor List'!C:C,'Vendor List'!B:B=PurchaseOrder!A9) & "-" & G2 & "-" & FILTER('IP''s'!C:C,'IP''s'!B:B='IP''s'!E2)
或
=FILTER('Vendor List'!C:C,'Vendor List'!B:B=PurchaseOrder!A9) & "-" & TODAY() & "-" & FILTER('IP''s'!C:C,'IP''s'!B:B='IP''s'!E2)
请问如何在该复合函数中格式化TODAY()或单元格引用的日期?
解决方案
Excel中日期本质是序列号,直接拼接会显示为数字,只需用TEXT()函数将日期格式化为指定文本格式即可,且不会影响原单元格的格式设置。
1. 格式化TODAY()生成的日期
将TODAY()嵌套进TEXT()函数,指定匹配示例的DDMMYY格式代码,修改后的函数如下:
=FILTER('Vendor List'!C:C,'Vendor List'!B:B=PurchaseOrder!A9) & "-" & TEXT(TODAY(), "DDMMYY") & "-" & FILTER('IP''s'!C:C,'IP''s'!B:B='IP''s'!E2)
2. 格式化单元格G2的日期
同样用TEXT()包裹G2单元格,指定目标格式,仅在拼接时转换为文本格式:
=FILTER('Vendor List'!C:C,'Vendor List'!B:B=PurchaseOrder!A9) & "-" & TEXT(G2, "DDMMYY") & "-" & FILTER('IP''s'!C:C,'IP''s'!B:B='IP''s'!E2)
格式代码调整说明
如果需要其他日期格式,可修改TEXT()的第二个参数:
MMDDYY:月-日-年两位(如051222)YYYYMMDD:四位年-月-日(如20220512)- 示例中的
120522对应DDMMYY(日-月-年两位),完全匹配你的订单编码需求。
内容的提问来源于stack exchange,提问作者Wyatt Gage
相关产品推荐
相关产品推荐

