如何将多列零散SKU、EAN、ASIN数据扁平化为三列规范格式?
数据扁平化处理方案(SKU、EAN、ASIN三列规范格式)

问题说明
N至R列存储SKU(部分行仅1个,部分行最多含5个),S、T列对应每行所有SKU的EAN、ASIN。比如第27行包含SKU 6666和GB-MA97-3GFI,对应EAN为8032947864171、ASIN为B071WWK11X,均在同一行的S、T列。已完成N列扁平化,需继续处理为仅含SKU、EAN、ASIN的三列规范格式。
方法一:Excel公式法(适合小数据集)
假设已扁平化后的SKU在新的A列,原数据位于N-T列,可通过以下公式匹配对应字段:
- 提取EAN:在B2单元格输入公式后下拉填充:
逻辑:用=INDEX($S:$S,MATCH(A2,$N:$R,0))MATCH定位当前SKU在原N-R列的行号,再用INDEX提取对应行的S列EAN值。 - 提取ASIN:在C2单元格输入公式后下拉填充:
提示:若同一SKU在多行出现,=INDEX($T:$T,MATCH(A2,$N:$R,0))MATCH会返回首个匹配行的结果,需去重可先对A列SKU做去重处理。
方法二:Power Query法(适合大数据集,自动化处理)
该方法可跳过手动扁平化N列的步骤,直接完成全流程处理:
- 选中原数据区域(N-T列),点击「数据」选项卡 → 「从表格/区域」(Excel 2016及以上版本),导入Power Query编辑器。
- 选中N-R列(SKU列),点击「转换」选项卡 → 「逆透视列」→ 「逆透视其他列」,生成的「值」列即为扁平化后的SKU。
- 删除冗余的「属性」列,将「值」列重命名为「SKU」,把「S」「T」列分别重命名为「EAN」「ASIN」。
- 点击「关闭并上载」,即可得到规范的三列数据。
内容的提问来源于stack exchange,提问作者user20777937
相关产品推荐
相关产品推荐

