|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
背景是这样的,
有一张很大的(大约100MB)从公司系统里导出的销售表,里面有[NAME] [PRODUCT] [WEEK INDEX] [DATE] [QTY]等字段(实际字段更多,但是情况类似)
然后有一张目标表,里面有 [NAME] [PRODUCT] [WEEK INDEX] 等字段(实际字段更多,但是情况类似),
还有一个[DATE]表,就是返回一个日期,
我的目的是在目标表后加上一列销量列
是销售表中对应[NAME] ,[PRODUCT], 在目标表的[WEEK INDEX]之后,[DATE]之前的销量总和。
我的做法是 在Powerquery里写了一个自定义函数,按条件筛选后求和(类似于Excel里的Sumifs),
- (iName as text,iProduct as text, iWEEKSTARTINDEX as number,iCUTOFFDATE as date)=>
- let
- 源 = 销售数据表,
- 筛选后求和 =
- List.Sum(Table.SelectRows(源, each
- [NAME] = iName and
- [PRODUCT] = iProduct and
- [WEEK INDEX] >= iWEEKSTARTINDEX and
- [DATE]<iCUTOFFDATE)
- [QTY])
- in
- 筛选后求和
复制代码
|
|