|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 cidaooo 于 2020-6-1 13:39 编辑
各位大大们,我是刚学习power query的菜鸟。工作上有一张表需要用到lookup公式匹配另一个表里面的数据并返回另一个表中对应的一列,但是条件很多,跑一次很慢,而且每月都要重跑。我想写入power query里降低操作量,提高速度。excel代码如下:
=IF(AV2="","",
LOOKUP(1,0/(
('Project'!$AA:$AA=AV2)
*('Project'!$K:$K<=ROUNDDOWN(Q2,0))
*('Project'!$L:$L>=ROUNDDOWN(Q2,0))
*('Project'!$R:$R<=AA2)
*('Project'!$S:$S>=AA2)
*('Project'!$T:$T<=AB2)
*('Project'!$U:$U>=AB2)
*('Project'!$I:$I>=ROUND(AE2,4)
)
),
'Project'!$A:$A)
)
然后我自己摸索写了一个query的代码如下,但是加载时候非常的慢。请问各位大神是不是思路有问题,或者该如何优化,谢谢!!
PS. project是匹配表, 返回[序号]列的数据到方案核对表中。
let
源 = Excel.Workbook(File.Contents("方案核对.xlsx"), null, true),
project=Excel.Workbook(File.Contents("project.xlsx"), null, true),
方案核对_Table = 源{[Item="方案核对",Kind="Table"]}[Data],
缓存project=Table.Buffer(project),
已添加自定义 = Table.AddColumn( 方案核对_Table, "自定义", each
Table.SelectRows(缓存project,(x)=>
x[索引码]=[索引码]
and x[开始日期] <=[申请提交日期]
and x[结束日期] >=[申请提交日期]
and x[首付下限] <=[首付比例]
and x[首付上限] >=[首付比例]
and x[尾款下限] <=[尾款比例]
and x[尾款上限] >=[尾款比例]
and x[SVW贴息比例金额]>=[整车厂贴息比例])[序号]),
#"展开的“自定义”" = Table.ExpandListColumn(已添加自定义, "自定义")
in
#"展开的“自定义”"
已上传模板,求大神帮助!感谢!
|
|