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

Google Sheets单元格拆分并新增行的公式修改需求

修改后的Google Sheets公式及说明

以下是满足需求的最终公式,已整合所有新增功能:

=ArrayFormula(LET(
    range, CurrentTable!A2:F,
    headers, OFFSET(range,-1,,1,),
    // 筛选A列非空、且为纯数字/逗号分隔纯数字的行
    filtered_rows, FILTER(range, 
        NOT(ISBLANK(INDEX(range,,1))),
        REGEXMATCH(INDEX(range,,1), "^(\d+,)*\d+$")
    ),
    col_a, INDEX(filtered_rows,,1),
    // 拆分A列并拼接其他列数据
    combined_data, TOCOL(SPLIT(col_a, ", ", 1, 0)&"~"& 
        BYROW(filtered_rows, LAMBDA(row, JOIN("~", INDEX(row,,2), INDEX(row,,3), INDEX(row,,4), INDEX(row,,5), INDEX(row,,6)))), 1),
    split_list, SPLIT(combined_data, "~", 1, 0),
    // 新增SD列:判断City列是否含"Sub Div1"并填充对应值
    sd_column, IF(REGEXMATCH(INDEX(split_list,,3), "Sub Div1"), "Sub Div1", ""),
    // 拼接表头与结果,新增SD列表头
    {headers, "SD"; split_list, sd_column}
))

功能实现说明

  • 忽略A列空白项:通过NOT(ISBLANK(INDEX(range,,1)))筛选掉A列空白的行
  • 排除含文字的A列字段:用正则表达式^(\d+,)*\d+$匹配纯数字或逗号分隔的纯数字格式,仅保留符合条件的行
  • 新增SD列:通过REGEXMATCH检测City列(假设为原数据第3列,若实际列位不同,需调整INDEX(split_list,,3)中的数字)是否包含"Sub Div1",满足条件则填充该值,否则为空

注意:如果City列不是原数据的第3列(C列),请修改公式中INDEX(split_list,,3)的列索引数字,确保对应到实际的City列位置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:43:18