Excel中的VLOOKUP函数利用IF({1,0},““,““)实现反向查找

提示: 尝试使用 新的 XLOOKUP 函数,这是 VLOOKUP 的改进版本,它可朝任何方向工作,并默认返回精确匹配项,使其比其前置任务更易于使用。

当需要按行查找表格或区域内容时,请使用 VLOOKUP。 例如,按部件号查找汽车部件的价格,或根据员工 ID 查找员工姓名。

在这一最简单的形式中,VLOOKUP 函数表示:

=VLOOKUP (要查找的项、要查找位置、区域中包含要返回的值的列号、返回近似匹配或精确匹配 - 指示为 1/TRUE 或 0/FALSE) 。
 

众所周知,vlookup只能从左向右查找,而不能从右至左的反向查找。为此高手们设计了一个 让无数新手迷惑的公式。今天小编将彻底帮同学们解开这个迷团。

【例】如下图所示要求根据姓名反查工号

公式:

=VLOOKUP(A9,IF({1,0},B2:B6,A2:A6),2,0)

公式中最难理解的就是IF({1,0},B2:B6,A2:A6),这也是今天小编要讲解的要点。

{1,0}是什么?它是一个由两个数字构成的常量数组。如果放在单元格里,相当于2列1行的数 据范围(数组中列用','逗号分隔)。

IF函数的用法

IF(判断式,如果条件成立返回的值,如果条件不成立返回的值)

判断式是可以返回true或false的表达式,也可以是返回非零的数字或0的表达式或值。非零数字如1表示条件成立,0表示条件不成立。

如:

IF(1,100,200) 返回100

IF(0,100,200) 返回200

而 IF({1,0},100,200)呢?由一个数替换成一组数。IF会分别用1和0作为第1个参数进行计算,也 就是说会进行2次计算,返回2个结果,分别是 100 和200。返回的2个数也会按{1,0]的格式摆 放(1行2列),即:{100,200}

而如果100和200不是一个值,而各为一组值呢?如本例中 IF({1,0},B2:B6,A2:A6) 返回的将不是一组2个值,而是2列5行的一组值。如果放在单元格区域中,应该是这样子的:

其实也可以这样理解

IF({1,0},B2:B6,A2:A6)

把B2:B6的值放在1的位置,把A2:A6的值放在0的位置。重构成一个2列5行的数组,只是原B 列放在第1列,A列放在第2列了。

两列数调换了位置,就可以用VLOOKUP的从左向右查找了。

注:说到底,并不是vlookup函数可以实现反向查找,而是if({1,0}把两列数调换了位置而已。

### ExcelVLOOKUP 函数详解 #### 使用方法与示例 VLOOKUP 是一种用于垂直查找函数,在指定区域中按行进行搜索。其基本语法如下: ```excel =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) ``` - `lookup_value` 表示要查找的值。 - `table_array` 定义了要在其中查找的数据范围。 - `col_index_num` 指定返回结果所在的列号。 - `[range_lookup]` 参数决定是否允许近似匹配,默认为 TRUE 或省略表示近似匹配;FALSE 则代表精确匹配。 例如,假设有一个销售记录表 A 至 C 列分别为商品编号、名称和价格,如果想要根据给定的商品编号找到对应的价格,则可以在 D2 单元格输入公式: ```excel =VLOOKUP(E2,$A$2:$C$10,3,FALSE) ``` 这里 E2 存放着待查的商品编号,而 `$A$2:$C$10` 就是我们设定好的数据区间[^2]。 #### 实际操作解释 当执行上述命令时,程序会在 $A$2 到 $C$10 的范围内寻找等于 E2 的第一个项目,并沿该行移动至第三列 (即价格栏) 获取相应数值。设置 `FALSE` 确保只接受完全一致的结果,避免因模糊匹配而导致意外错误[^3]。 #### 常见问题及其解决方案 1. **显示 #N/A 错误** 这通常意味着找不到符合条件的条目。可能是因为拼写错误或是目标不在源列表内。确认所提供的 lookup_value 是否存在于 table_array 的首列中。另外,注意大小写的敏感度以及额外空格的影响[^5]。 2. **部分成功其他失败的情况** 如果某些项正常工作但另一些却报错,可能是由于数据类型的不兼容造成的。比如文本型数字与实际数字符号之间的差异会影响比较逻辑。确保所有涉及运算的数据都具有相同格式。 3. **反向查找难题** 当需要从右往左而不是默认方向来获取信息时,可以通过构建辅助列或将原始表格重新排列使得所需参照字段位于左侧来进行间接处理。另一种方式是利用数组公式 IF 结合 {1,0} 来交换两列的位置关系[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值