提问加Q群341401932 加微信EXCEL880B领取免费教程
VLOOKUP作为查询函数的王者近两年有点惨,经常被拿来当作绿叶承托XLOOKUP的强大。
如果你是初学者,还没有掌握VLOOKUP/HLOOKU/LOOKUP这一系列函数,建议跳过它们直接学习XLOOKUP.
如果是VLOOKUP的现有用户,正在过渡到XLOOKUP,那么你需要了解一下两者最重要的一个差别:
<span class="code-snippet_outer">VLOOKUP要求查询区域和返回值区域连续。 </span>
<span class="code-snippet_outer">XLOOKUP对查询区域和返回区域的位置没有要求。</span>
复习一下VLOOKUP
<span class="code-snippet_outer"><span class="code-snippet__section">=VLOOKUP(G3,A1:E7,5,0)</span></span>
示例中第二参数的区域A1:E7涉及A列到E列,但其实需要的数据只存在于A列和E列,中间三列数据被无辜地包含进去,数据结构上被限制。
XLOOKUP
<span class="code-snippet_outer"><span class="code-snippet__section">=XLOOKUP(G3,A1:A7,E1:E7)</span></span>
示例中XLOOKUP的参数只涉及A列和E列,此时在其中间插入或删除任意列,查询结果任然保持正确。
如果仅此而已,XLOOKUP也未见得有多么的强大,接下来的案例将解释为什么说“XLOOKUP对查询区域和返回区域的位置没有要求”
<span class="code-snippet_outer"><span class="code-snippet__section">=XLOOKUP(G3,A1:A7,D7:D13)</span></span>
查询区域与返回区域的位置完全错位,这是VLOOKUP不敢想的。
<span class="code-snippet_outer"><span class="code-snippet__section">=XLOOKUP(G3,E3:E9,B5:B11)</span></span>
除了上下错位,左右调换也是没有问题的
<span class="code-snippet_outer"><span class="code-snippet__section">=XLOOKUP(E3,C3:C9,XL反向!B5:B11)</span></span>
甚至查询区域和返回区域根本不在同一个工作簿上也照常工作,VLOOKUP敢想?
更进一步,XLOOKUP的查询区域和返回区域已经不只是区域,可以将其理解为两个数组。
返回”D”所在的行号
<span class="code-snippet_outer">=XLOOKUP(<span class="code-snippet__string">"D"</span>,<span class="code-snippet__attr">B3</span>:B9,ROW(B3:B9))</span>
选中ROW(B3:B9)按F9,可以看到返回区域实际上就是一个数组
<span class="code-snippet_outer">=XLOOKUP(<span class="code-snippet__string">"D"</span>,<span class="code-snippet__attr">B3</span>:B9,{<span class="code-snippet__number">3</span>;<span class="code-snippet__number">4</span>;<span class="code-snippet__number">5</span>;<span class="code-snippet__number">6</span>;<span class="code-snippet__number">7</span>;<span class="code-snippet__number">8</span>;<span class="code-snippet__number">9</span>})</span>
好了,今天的Excel小课堂就到此结束,大家赶紧实际操作联系一下吧,有不懂的问题可以留言问我!感谢关注Excel880,还请多多转发,持续关注我们呀!
买课程可进永久答疑群,课程可免费试学点击下方链接即可