如何合并Magento导出的产品数据:默认店铺值优先覆盖全局值
解决方案:Magento产品数据合并(Google Sheets自动实现)
假设你的原始Magento导出数据在Sheet1,表头位于第1行,数据从第2行开始(列A到F对应sku、store_view_code、product_online、visibility、url、is_in-stock)。
自动合并公式(无需拖动,实时更新)
在新工作表(比如Sheet2)的A1单元格输入表头:
=Sheet1!A1:F1
然后在Sheet2的A2单元格输入以下公式,它会自动生成合并后的所有数据,优先使用store_view_code="default"的店铺级数据,空白时回退到全局数据:
=ARRAYFORMULA( LET( skus, UNIQUE(FILTER(Sheet1!A2:A, Sheet1!A2:A<>"")), target_store, "default", get_column_value, LAMBDA(col_index, IFERROR( XLOOKUP(skus, FILTER(Sheet1!A2:A, Sheet1!B2:B=target_store), FILTER(Sheet1!OFFSET(Sheet1!A2:A,0,col_index-1), Sheet1!B2:B=target_store), XLOOKUP(skus, FILTER(Sheet1!A2:A, Sheet1!B2:B=""), FILTER(Sheet1!OFFSET(Sheet1!A2:A,0,col_index-1), Sheet1!B2:B=""), "") ) ) ), HSTACK( skus, target_store, get_column_value(3), get_column_value(4), get_column_value(5), get_column_value(6) ) ) )
公式逻辑说明
UNIQUE(FILTER(...)):提取所有非空的唯一SKU,确保每个SKU只出现一次- 嵌套
XLOOKUP:先查找当前SKU在默认店铺行的对应列值,若为空或找不到,则回退查找全局行(store_view_code为空)的值 HSTACK:将各列数据横向拼接,生成完整的合并表格- 全程使用
ARRAYFORMULA,无需手动拖动公式,原始数据更新后合并结果会自动同步
嵌套扩展属性处理建议
如果你的数据包含嵌套扩展属性列,可在Google Sheets中先对该列进行处理:
- 若嵌套数据为JSON格式,使用
JSON_EXTRACT函数提取所需字段(例如=JSON_EXTRACT(A2, "$.attribute_name")) - 若为其他分隔格式,使用
SPLIT、REGEXEXTRACT等文本函数拆分提取需要的数据,处理完成后再执行上述合并公式
内容的提问来源于stack exchange,提问作者Matthew Medlyn
相关产品推荐
相关产品推荐

