You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除谷歌表格公式运算结果末尾的指定|分隔符

公式末尾多余|移除方案

你可以直接在原有拼接逻辑外层嵌套REGEXREPLACE函数实现需求,这是改动最小、实现最简便的方案,不需要调整原有内部逻辑,也不需要辅助列。

完整修改后公式

={"Product Category Test";ARRAYFORMULA(IF(ISBLANK(A2:A),"",
REGEXREPLACE(
VLOOKUP(A2:A,'Import Template'!A:DB,MATCH("Product Category",'Import 
Template'!A1:DB1,0),false)&"|"&IF(VLOOKUP(A2:A,'Import Template'!A:DB,MATCH("Automatic 
Categories",'Import Template'!A1:DB1,0),false)<>"",VLOOKUP(A2:A,'Import 
Template'!A:DB,MATCH("Automatic Categories",'Import Template'!A1:DB1,0),false),""),
"\|$",""
)))}

实现原理

  • REGEXREPLACE是正则替换函数,第二个参数的正则规则\|$仅会匹配字符串末尾位置的|字符
  • 匹配到末尾的|后会直接替换为空值,不会影响字符串中间作为分隔符的|,完全符合使用要求

备选非正则方案

如果你不想使用正则函数,也可以用LEFT+LEN+RIGHT组合实现,逻辑是判断最后一位是否为|,是则截取到倒数第二位,否则返回原字符串:

={"Product Category Test";ARRAYFORMULA(IF(ISBLANK(A2:A),"",
LET(
concat_str,VLOOKUP(A2:A,'Import Template'!A:DB,MATCH("Product Category",'Import 
Template'!A1:DB1,0),false)&"|"&IF(VLOOKUP(A2:A,'Import Template'!A:DB,MATCH("Automatic 
Categories",'Import Template'!A1:DB1,0),false)<>"",VLOOKUP(A2:A,'Import 
Template'!A:DB,MATCH("Automatic Categories",'Import Template'!A1:DB1,0),false),""),
LEFT(concat_str,IF(RIGHT(concat_str,1)="|",LEN(concat_str)-1,LEN(concat_str)))
)))}

注:这里用LET函数把重复的拼接逻辑赋值为变量,避免重复计算,如果你使用的表格工具不支持LET,把concat_str对应的拼接逻辑替换进去即可。

内容的提问来源于stack exchange,提问作者Maladorf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:39:04