EXCEL学习之路:当VLOOKUP函数遇到合并单元格(单条件查找)
遇到合并单元格,当用VLOOKUP函数进行查找时,总是显示#N/A错误值。这是因为Excel只认那个有值的单元格,其余全被当成空单元格,VLOOKUP查找和匹配不到数据,只能报错。
前面一篇文章,我们学了批量取消合并单元格并填充空白单元格,这样,就可以直接用VLOOKUP函数进行查找。
那如何在不改动这样美观的合并单元格的情况下,用VLOOKUP函数查找和匹配相应的数据呢?今天我们先来学习一下单条件查找。
公式=VLOOKUP(VLOOKUP(“座”,查找区域,返回第几列,模糊匹配),查找区域,返回第几列,精确匹配)
例如下图,我们要根据E列和F列的数据,将查找的数据填充进C列。
我们先来看里面嵌套的公式,即紫色部分,来拆解一下。
查找值:”座”。这是在汉字里排序非常靠后的字,用它的目的是在这片区域里,找到最后一个有值的单元格。
数据表:即查找区域。这个区域一半要绝对引用,锁定; 一半要相对引用,可变。
开头要固定,无论公式拖到哪,开头不会变。而后面公式拖动的区域,要可变,”座”抓取的是最后有值的单元格,所以才能让抓取的内容随着公式拖动而改变。若也是不变,做绝对引用,那么抓取的就永远是第一个有值的单元格了。
例如下图所示,当公式从C2拖到C6时,若做绝对引用和相对引用,那么”座”找到的就是C2到C6的最后有值的单元格,即“采购部”。若两个部分都做绝对引用,那么找到的依然是“财务部”。
这就是在说明,从开头A2开始,一直到现在所在的这一行,中间所有被合并过的内容,都要统统包含进来,然后抓取最后的值。
所以这里应该填写的区域是$A$2:A2。
列序数:即返回第几列,就是返回查找区域(合并单元格)那一列,即图中的A列,即第1列,所以填1。
匹配条件:这里必须是模糊匹配,所以填1。意味着找不到”座”也没关系,Excel会自动找到这片区域里最后的值。如果是精确匹配,找不到”座”,Excel会直接报错,结果就取不了值了。
好了,参数步骤整理好了,那么这个内嵌公式就是VLOOKUP(“座”,$A$2:A2,1,1)
这一套公式的作用就是,找到合并单元格里的值,并全部取值到每一行里。
其实这一步就相当于前一篇学的批量取消合并单元格并填充空白单元格。

接下来我们看外面的那个公式=VLOOKUP(查找值,查找区域,返回第几列,精确匹配)
查找值:即紫色公式部分,就是找从合并单元格里读出来的内容。
数据表:即查找区域,就是整个要查找的数据总表,$E$2:$F$6。
列序数:即返回第几列,就是想要的结果在查找区域的第几列,因为查找区域是E列到F列,想要的结果是F列,即EF这两列的第2列,所以填2。
匹配条件:这里必须是精确匹配,意味着找不到一模一样的值,就要报错,所以填0。
最终公式就是=VLOOKUP(VLOOKUP(“座”,$A$2:A2,1,1),$E$2:$F$6,2,0)

再下拉填充,就完成了此次用VLOOKUP函数对合并单元格进行单条件查找了。

夜雨聆风