如何用Excel自动处理Shopify每周CSV文件并生成采购清单?
用Excel实现Shopify订单自动解析与采购清单生成
一、修复Power Query自动加载新CSV的问题
你之前用Power Query没实现自动应用步骤,是因为没把查询改成可动态读取新文件的参数化查询,按下面步骤操作:
- 打开Excel,点击「数据」选项卡→「获取数据」→「从文件」→「从CSV」,选择你的Shopify订单CSV文件。
- 在Power Query编辑器中,选中所有无关列,右键→「删除列」,只保留
Date to ship和uniqueID两列。 - 点击「文件」→「关闭并上载至」,选择「仅创建连接」,同时勾选「加载到工作表时刷新数据」,点击确定。
- 设置参数化路径,让查询自动读取新文件:
- 点击「数据」选项卡→「查询」→「参数」,新建参数,命名为
订单文件路径,类型选「文本」,输入你固定保存Shopify订单CSV的路径(比如C:\Shopify订单\本周订单.csv)。 - 回到Power Query编辑器,右键左侧的数据源→「高级编辑器」,把代码里硬编码的文件路径替换成
#"订单文件路径",保存查询。
- 点击「数据」选项卡→「查询」→「参数」,新建参数,命名为
- 之后每周只需要把新导出的Shopify CSV替换到这个指定路径,点击「数据」选项卡→「全部刷新」,就能自动加载并清理好新数据。
二、用动态公式生成当周采购清单(避免引用失效)
利用Excel的结构化表和动态数组公式,确保替换数据后公式不会失效:
- 把Power Query加载的数据转换成结构化表:选中加载的数据区域→「开始」选项卡→「格式化为表」,勾选「表包含标题」。
- 生成当周筛选后的订单数据:在空白单元格输入以下公式(假设表名为
表1):
这个公式会自动筛选出当前周的订单(=FILTER(表1, WEEKNUM(表1[Date to ship], 2) = WEEKNUM(TODAY(), 2))WEEKNUM的第二个参数2表示周一为一周的开始,可根据你的需求调整)。 - 生成带计数的采购清单:在另一个空白单元格输入:
这个公式会直接输出两列:第一列是当周所有的=LET( 当周数据, FILTER(表1, WEEKNUM(表1[Date to ship], 2)=WEEKNUM(TODAY(),2)), 唯一ID, UNIQUE(当周数据[uniqueID]), 采购数量, COUNTIF(当周数据[uniqueID], 唯一ID), HSTACK(唯一ID, 采购数量) )uniqueID,第二列是对应的采购数量。
三、旧版Excel兼容方案(无动态数组)
如果用的是Excel 2019及之前版本,没有动态数组功能,用数据透视表实现:
- 把Power Query加载的数据作为透视数据源,插入数据透视表。
- 透视表字段中,把
uniqueID拖到「行」区域,把uniqueID拖到「值」区域(值字段设置为「计数」)。 - 添加「Date to ship」的切片器,筛选当周的日期范围,每周刷新透视表即可。
关键注意事项
- 确保Shopify导出的CSV中,
Date to ship和uniqueID的列名拼写完全一致,否则Power Query会无法识别列。 - 每周替换CSV文件时,文件名和路径要和参数设置的一致,或者直接修改参数里的路径。
内容的提问来源于stack exchange,提问作者Benn Clark
相关产品推荐
相关产品推荐

