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

如何在Google Sheets中从指定字符串生成递进式组合?

Google Sheets 生成递进式下划线分隔组合

单单元格输出(逗号分隔)

假设目标值在A2单元格,用这个公式直接得到www、www_2、www_2_w4、www_2_w4_14的逗号分隔结果:

=TEXTJOIN(", ", TRUE, ARRAYFORMULA(LEFT(A2, FIND("@", SUBSTITUTE(A2, "_", "@", SEQUENCE(LEN(A2)-LEN(SUBSTITUTE(A2, "_", ""))+1)))-1)))

公式逻辑拆解:

  1. 先计算下划线总数:LEN(A2)-LEN(SUBSTITUTE(A2, "_", "")),这里得到3,对应需要生成4个递进项
  2. SEQUENCE(...)生成1到4的序列,用于依次替换第1、2、3、4个下划线(最后一次替换时无下划线,直接取完整字符串)
  3. 将目标下划线替换为@,用FIND定位位置后,LEFT截取该位置前的内容,得到单个递进片段
  4. 最后用TEXTJOIN把所有片段用逗号连接成文本

多单元格垂直输出

如果要每个递进项单独占一行,用这个数组公式(输入后回车即可,新版Sheets自动扩展结果):

=ARRAYFORMULA(LEFT(A2, FIND("@", SUBSTITUTE(A2, "_", "@", SEQUENCE(LEN(A2)-LEN(SUBSTITUTE(A2, "_", ""))+1)))-1))

执行后会自动在公式所在单元格及下方生成:

  • www
  • www_2
  • www_2_w4
  • www_2_w4_14

原公式问题说明

  • 第一个公式:仅替换了最后一个下划线,只能拿到完整字符串,无法生成所有递进项
  • 第二个公式:SPLIT后得到独立片段,用LEFT按长度截取的逻辑错误,无法实现片段的递进拼接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:25:13