一对多查询从来都是MATCH,INDEX,OFFSET一众函数的天下,VLOOKUP偶尔能实现也是艰难曲折。现如今,且看XLOOKUP如何抢占半壁江山。
一对多查询
合并单元格的公式计算总是让人头大,抓住关键点:合并单元格等于其合并前左上单元格。
=XLOOKUP(A1,E1:K1,E2:K9)
此处A1,B1,C1三个单元格合并后的内容,实际是存放在A1单元格中,故(第一参数)查询值引用A1.同理,第二参数应该是E1:K1,而不是E1:M1.
XLOOKUP查询
=XLOOKUP(A1,E1:K1,F2:L9)
注意此处的第一,第二参数和上一个公式一样,第三参数整体往右平移一列,查询范围和返回数据区域发生错位,此时XLOOKUP仍能返回对应数据
XLOOKUP错位查询
=XLOOKUP(A1,E1:K1,G2:M9)
返回数据区域再次往右平移一列,XLOOKUP仍能返回对应数据。
XLOOKUP错位查询
由此可见,只需在第一列公式的基础上锁定第一第二参数,右拉即可。
为处理空值返回产生的0,可以在公式的后面连接一个空值(&””)
=XLOOKUP($A$1,$E$1:$K$1,E2:K9)&""
XLOOKUP一对多查询
=XLOOKUP(A1,E1:K1,J4:P11)&""
即便查询范围和返回数据区域不连续,只要其列数对等,XLOOKUP也能照常工作。
XLOOKUP错位查询
放眼整个函数界,这并不稀缺,很多函数都有类似的能力,例如COUNTIFS多个条件之间可以相隔十万八千里,只要行数/列数对等即可。
但查询类函数中还是开山之作,在VLOOKUP时代,这都是不敢想的事。
COUNTIFS多条件计数