Excel教程:VLOOKUP如何逆向查找?
- 2026-11-04 03:52:43
Excel教程:VLOOKUP如何逆向查找?
“唉!今天老板让我写个公式,折腾一小时,老是不对” “哟呵,是什么了不起的黑公式,这么无解吗?说来听听!” “嗯,你听我讲来,我看其他人都可以,我就是不行,需求是这样的……” “需要根据G1单元格的姓名,查找对应的该员工的入职日期,如下图所示 
我明明看别人可以用VLOOKUP查找出来对应想要查找的内容的,我的公式难道不对吗?结果出来是#N/A” 
“你……这个,好吧,今天我就让你学废它!” 不调戏你了,首先,先搞清楚VLOOKUP的语法结构: VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 第一参数lookup_value:要查找的值,其数据类型可以为数值、引用或文本字符串; 第二参数table_array:要查找的区域,即我们要去哪个区域里面去找,它的类型则可以是单元格区域,也可以是数组区域; 第三参数col_index_num:需要返回的数值在数据区域从左往右数第几列,这就是一个正整数常量; 第四参数range_lookup:精确匹配或者模糊匹配,分别为FALSE和TRUE,可以用数字代替,0或者省略代表精确匹配,其他数为模糊匹配,通常用0和1表示。 对,这么看来你的语法结构是没错的,可为什么结果却让人尴尬呢,这算是VLOOKUP的一个重点,记下来,要考!!!(三个感叹号) VLOOKUP的查找列一定是查找区域的第一列,本例中,查找的是姓名,因此,姓名所在列B列一定是要放在第一列,而你却将A列放在了第一列。 那么问题来了,如何能让B列在第一列,而让A列在后面呢? 这里涉及到重构内存数组,将A列和B列位置做个交换,来,往下看 
我们通常用到这个结构来重构数组进行VLOOKUP的逆向查找:IF({1,0},第一列,第二列) 所以本例中正确公式为:=VLOOKUP(G1,IF({1,0},B:B,A:A),2,0) 
对于具体是什么逻辑,为什么要这样写呢?对函数不感兴趣,可以记住这个套路,用到的时候照着套就可以解决问题了,对函数感兴趣的朋友们,继续往下看: 
IF函数的逻辑为IF(判断条件,真值,假值),其中参数一判断条件为逻辑值,true或者false,为true则显示真值,为false则显示假值,那如果是{true,false}这样一个数组作为判断条件的话呢,则表示行数组元素1返回真值,元素2为假值,可以尝试一个简单的例子: =IF({TRUE,FALSE},”麻辣君”,”小黄瓜”) 
图中公式则生成一个行数组:{“麻辣君”,”小黄瓜”} PS:还不懂数组公式的赶快去补三键^_^ 那么在咱们函数的世界中,逻辑值的true和false可不可以用数字代替呢,那必须的,不然咱怎么省字符呢,函数世界中,通常数字0代表false,而非0则代表true,但我们通常用1来表示,所以本例,咱可以写成=IF({1,0},”麻辣君”,”小黄瓜”),现在能理解是如何重构数组了吧,说白了,也就是咱们强行用将某个元素放在前面,另外一个元素放在后面,对,没错,就是强制性的,就是这么霸气! 
麻辣君目瞪口呆的望着这神奇的函数,霎时间眼神放出了闪烁的光芒,只怪自己没文化,一句“卧槽”行天下! VLOOKUP二参数组重构的方法通常用于咱们逆向查找以及条件查找方面,感兴趣的童鞋可以尝试加入多条件进行查找,当然查找方法多种多样,例如INDEX、INDIRECT、OFFSET、LOOKUP等等都能完成查找工作,函数用法千变万化,但万变不离其宗,那就是逻辑!

“麻辣君,咦,好好的惆怅个什么劲儿?”







本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。