如何在Google Sheets中动态拆分逗号分隔值至多行?
Google Sheets 动态拆分产品-颜色为独立变体行
问题场景
原表格结构:
| 产品 | 颜色 |
|---|---|
| https://example.com/product/item-1/ | 红色、蓝色、绿色、黄色、黑色、白色 |
| https://example.com/product/item-2/ | 红色、蓝色、绿色、黄色、黑色、白色 |
| https://example.com/product/item-3/ | 红色、蓝色、青色、绿色、酸橙绿、黄色、品红色、黑色、白色 |
需要转换为动态更新的表格,每个产品对应单个颜色生成独立行:
| 产品 | 变体 |
|---|---|
| https://example.com/product/item-1/ | 红色 |
| https://example.com/product/item-1/ | 蓝色 |
| https://example.com/product/item-1/ | 绿色 |
| https://example.com/product/item-1/ | 黄色 |
| https://example.com/product/item-1/ | 黑色 |
| https://example.com/product/item-1/ | 白色 |
| https://example.com/product/item-2/ | 红色 |
| ... | ... |
解决方案
动态公式(自动更新)
假设原数据在A2:B区域(A列产品,B列颜色,A1、B1为表头),在新表格的空白单元格(比如D2)输入以下公式:
=ARRAYFORMULA( IFERROR( VLOOKUP( SEQUENCE(SUM(LEN(B2:B)-LEN(SUBSTITUTE(B2:B,"、",""))+1)), { FLATTEN(SEQUENCE(ROWS(B2:B))), FLATTEN(SPLIT(B2:B,"、")), FLATTEN(A2:A) }, {3,2}, 0 ) ) )
公式调整说明
- 若颜色用英文逗号分隔,将公式中的
"、"替换为"," - 公式会自动追踪原表格的修改、新增行,实时同步更新新表格内容
IFERROR用于处理空行或无颜色的情况,避免显示错误值
原理简述
- 计算每行颜色数量并求和,生成总变体行数的序列
- 将颜色按分隔符拆分后平铺为单列,同时将对应产品重复相同次数后平铺
- 通过
VLOOKUP将产品与颜色一一匹配,生成最终的产品-变体对
内容的提问来源于stack exchange,提问作者Castor
相关产品推荐
相关产品推荐

