说到 Excel 中的函数,vlookup 绝对算一个明星函数,也是很多人除了 sum 以外较早掌握的函数之一。
但是某些情形下,用 vlookup 竟然无法查找出结果,明明数据格式都正确,也没有多余空格或隐形字符,公式也无误,那问题到底出在哪里?
下图 1 中的 B、C 列为每种型号的产品当月销量,请根据 E 列列出的型号,在 F 列查找出其对应销量。
效果如下图 2 所示。
这么简单的查找问题,首先想到的就是大家耳熟能详的 vlookup 函数,那我们就用 vlookup 试一下。
1. 在 F3 单元格中输入以下公式 --> 下拉拖动公式:
=VLOOKUP(E3,B:C,2,0)
然而竟然查找不到对应的销量,可型号是复制粘贴过来的,不可能出错,这到底是怎么回事?
其实数据没错,之所以无法查找到结果,问题就出在文本中的“~”符号,这是 Excel 中的一种通配符。
Excel 中有三种通配符,作用分别如下:
由此可见,“~”在 Excel 中是有特殊作用的,而不单单等同于我们肉眼所见的波浪符号。
如果要让“~”不具有通配符的作用,只作为符号使用,那么就需要在它前面再加一个“~”。
有关 Excel 中通配符的含义和用法,请参阅 Excel – 巧用通配符根据指定规则查找和替换。
所以我们需要在原有公式的基础上稍微变换一下,从而使得 vlookup 可以查找出通配符。
2. 在 F3 单元格中输入以下公式 --> 下拉复制公式:
=VLOOKUP(SUBSTITUTE(E3,"~","~~"),B:C,2,0)
公式释义:
有关 substitute 函数的详解,请参阅 Excel函数(九)–repl-ace和substitute替换函数。
以下就是最终结果。