ARTICLE · 1063722
Excel 里 30 分钟的表,一个公式 3 秒搞定
上周有个开网店的客户,甩给我一张表。
几百行订单,每行的“备注”里塞了买家昵称、手机号、收货地址,挤在一个格子里。他要的很简单:把这三样拆成三列,再按商品名从另一张价格表里把单价匹过来,算出每单总额。
他之前怎么干的?手动复制粘贴,一行一行拆。半天,还错。

先说清楚我做的是什么
不是“帮你把表做漂亮”。是把重复到手腕酸的活儿,变成一格公式。

坑一:分隔符根本不统一
我以为备注是用逗号隔开的。结果第一行逗号,第二行空格,第三行干脆用顿号,还有人写了“电话:138xxxx”。
直接 TEXTSPLIT 按逗号拆,第三行当场断掉。
解决办法:先用 SUBSTITUTE 把顿号、空格、冒号全换成统一的分隔符,再拆。一行预处理公式,后面全通:
=TEXTSPLIT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,",",",")," ",","),":",""),",")
看着长,但只写一次。
坑二:匹配不上,全报 #N/A
拆完列,用 XLOOKUP 从价格表抓单价。结果一大片 #N/A。
原因土得掉渣:价格表里的商品名,有的前后带了空格,有的“iPhone”和“iphone”大小写不一样。XLOOKUP 是死匹配,差一个字符就不认。
先用 TRIM 和 CLEAN 把价格表那列洗一遍,再匹配,齐了。这一步客户自己永远发现不了——他看屏幕觉得“明明一样啊”。
坑三:公式下拉,越拉越错
列拆好了,单价也匹到了。客户说“那我往下拉就行了吧”。拉完发现下半部分金额全是错的。
因为他没锁价格表的区域。公式下拉时,引用的价格表范围跟着往下挪,越拉越偏,最后直接 #REF。
改法:价格表那块加绝对引用 $,XLOOKUP(...,$价格表!$A$2:$B$500,...)。锁死,随便拉。
最后
拆列、匹配、算总额,三个动作合成一个公式,往下一拖。
几百行,3 秒。客户原来半天干的,现在喝口水的功夫。

他看了眼表,说:“早知道不手拆了。”
——我也想说这句。
同类的事我也接:表格清洗、公式、多表合并。你把表发来,我先看一眼,再说能不能一个公式解决。
页脚我习惯署一个名字——树懒星AI,就是我做这些活儿用的牌子。