Google Sheets实现每个SKU重复5行并自动识别新增SKU
解决Google Sheets单个SKU重复5行并自动识别新增的问题
方案一:使用BYROW+FLATTEN组合公式
直接在目标工作表的单元格输入以下公式:
=FLATTEN(ARRAYFORMULA(BYROW('US Price List'!B5:B, LAMBDA(sku, IF(sku="",,SEQUENCE(5,1,0,0)*0 + sku)))))
- 工作原理:
BYROW遍历US Price List工作表B5开始的每个SKU单元格;- 对每个非空SKU,生成一个5行1列的数组,数组内每个元素都是当前SKU;
FLATTEN将所有数组展开为一列,自动适配B列新增的SKU。
方案二:使用INDEX+SEQUENCE组合公式
如果偏好更简洁的写法,可使用:
=ARRAYFORMULA(INDEX('US Price List'!B5:B, CEILING(SEQUENCE(COUNTA('US Price List'!B5:B)*5)/5)))
- 工作原理:
COUNTA('US Price List'!B5:B)统计B列非空SKU的总数,乘以5得到最终需要的总行数;SEQUENCE生成对应总行数的序列,CEILING(序列/5)将每5个连续数字映射为同一个SKU的位置序号;INDEX根据序号提取对应SKU,实现每个SKU连续重复5行,新增SKU会被自动统计并处理。
原公式无效原因
你之前的公式使用CONCATENATE会先把所有SKU拼接成一个字符串,再整体重复5次,导致整个列表重复而非单个SKU重复。上述两种方案都是针对单个SKU独立处理,避免了批量拼接的问题。
内容的提问来源于stack exchange,提问作者Robert Shih
相关产品推荐
相关产品推荐

