excel的XLOOKUP的快速多列关联查询

我们前几章上面介绍了,根据某国产品牌官网介绍的使用&连接来进行多列关联查询,非常的慢。有没有公式可以快速进行XLOOKUP多列关联查询,我们找到了一个速度还可以的办法。

原理:有几列需要关联查询,我们就写几个XLOOKUP的单列查询。然后用AND语句,检查这些XLOOKUP的结果是否正确。再用IF语句,将AND作为逻辑值。用其中一个XLOOKUP的单列查询作为真值,null作为假值。这样的语句,比用&连接的语句效率要高非常多,100万条数据大概只需要30秒左右就计算出来了。

来看一下公式:

=IF(

AND

(

XLOOKUP(B2,Sheet2!B2:B8,Sheet2!D2:D8,"NULL")<>"NULL",

XLOOKUP(C2,Sheet2!C2:C8,Sheet2!D2:D8,"NULL")<>"NULL",

XLOOKUP(D2,Sheet2!E2:E8,Sheet2!D2:D8,"NULL")<>"NULL"

)

,XLOOKUP(C2,Sheet2!C2:C8,Sheet2!D2:D8,"NULL"),"NULL")

上面的公式,看起来有点吓人,我们用颜色做了区分。它的意思就是:如果b、c、d三列都相等,用xlookup取d列的值。

在excel2021以上版本测试,速度很快。在国产某品牌也测试过,不公布结果。

这种IF(and(),,)或者IF(OR(),,)或者二者组合的模式,将单列查询变成多列查询,成为了一种可能。不光适用于XLOOKUP,其他函数也同样可以。

相关推荐
Eiceblue3 小时前
使用 C# 将 Excel 转换为 Markdown 表格(含批量转换示例)
开发语言·c#·excel
Java面试题总结3 小时前
使用 Python 设置 Excel 数据验证
开发语言·python·excel
追逐梦想永不停6 小时前
记录一个好用的excel判断数字格式的公式
前端·chrome·excel
Eiceblue7 小时前
C# 如何实现 Word 转 Excel ?分享两种实用方法
c#·word·excel
CircleMouse1 天前
如何设置wps单元格下拉选项设置
excel·wps
zhangjin12221 天前
kettle插件-excel插件,kettle读取excel动态表头,kettle根据列名读取excel
excel·kettle·kettle excel插件·kettle 动态excel
远洪2 天前
excel 找出两列不同的数据
excel
pcplayer2 天前
非常好用的 Excel 读写控件
excel·delphi·office
Navicat中国2 天前
使用 Navicat 导入向导导入 Excel 数据时,系统提示导入成功,表中也能看到数据,但行数统计显示为 0,这是什么原因?
数据库·excel·导入
穿着内裤的外星人2 天前
触控精灵远程读写Excel步骤配置
excel