如何在Google Sheets中将含团队名与用户数组的表格转为每行单用户格式
Google Sheets 团队用户数组拆分解决方案
要实现将A列团队名称、B列用户数组格式的表格,转换为每行对应单个团队-用户的结构,可使用以下修正后的公式:
=ARRAYFORMULA(SPLIT(FLATTEN(A2:A&"|"®EXREPLACE(B2:B, "\[|'|\]", "")), "|", TRUE, TRUE))
公式说明:
REGEXREPLACE(B2:B, "\[|'|\]", ""):清除B列中包裹用户数组的方括号[]和单引号',将['张三','李四']这类格式转换为张三,李四A2:A&"|"&...:将团队名称与处理后的用户列表用|拼接,形成团队1|张三,李四的格式FLATTEN(...):把所有行的拼接结果展开为单列,为后续拆分做准备SPLIT(..., "|", TRUE, TRUE):按|拆分内容,同时忽略空值和错误,确保结果整洁
处理带空格的用户数组:
如果B列的用户数组是['张三', '李四'](逗号后带空格)的格式,可添加TRIM清除用户名字前后空格:
=ARRAYFORMULA(TRIM(SPLIT(FLATTEN(A2:A&"|"®EXREPLACE(B2:B, "\[|'|\]", "")), "|", TRUE, TRUE)))
原公式失效原因:
- 第一个公式的正则表达式未完全匹配所有需清除的符号,导致拆分后残留无效字符
- 第二个公式仅拆分了用户列表,但未关联对应的团队名称
- 第三个公式缺少
SPLIT的分隔符参数,无法完成拆分操作
内容的提问来源于stack exchange,提问作者jccm
相关产品推荐
相关产品推荐

