如何用单个公式在Google Sheets生成ID与拆分步骤的对应两列?
Google Sheets 单公式实现测试用例步骤拆分与ID对应
你可以用LET函数整合逻辑,实现单公式生成目标结果。以下公式会自动拆分步骤,并仅在每个测试用例的首行保留对应ID:
=LET( ids, FILTER(A1:A, A1:A<>""), steps, FILTER(C1:C, A1:A<>""), split_steps, ARRAYFORMULA(SPLIT(steps, CHAR(10)&"- ", FALSE)), step_counts, ARRAYFORMULA(IFERROR(COUNTA(split_steps), 0)), id_repeats, MAP(ids, step_counts, LAMBDA(id, cnt, IF(cnt=0, {}, {id; IF(SEQUENCE(MAX(cnt-1, 0)), "")}))), final_ids, TOCOL(id_repeats, 1), final_steps, TOCOL(split_steps, 1), HSTACK(final_ids, final_steps) )
公式说明:
- 过滤有效行:先用
FILTER筛选出非空的ID和对应步骤行,避免处理无效数据 - 拆分步骤:通过
SPLIT按换行+"- "的规则拆分每个测试用例的步骤集合 - 统计步骤数量:用
COUNTA计算每个测试用例拆分后的步骤数,IFERROR处理空值情况 - 生成ID序列:用
MAP为每个测试用例生成ID数组——首元素为原ID,后续步骤行对应空字符串 - 展开合并:用
TOCOL将多维数组展开为单列,最后通过HSTACK把ID列和步骤列合并
使用时,只需将公式粘贴到空白单元格(比如G1),即可自动生成符合要求的两列数据,无需依赖多个辅助列。
内容的提问来源于stack exchange,提问作者tubedogg
相关产品推荐
相关产品推荐

