咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

合并单元格绝对是EXCEL中的一个痼疾,存在好多不规范使用合并单元格的情况。

如果VLOOKUP函数碰到合并单元格会怎么样呢?下面我们来讲解两种合并单元格使用VLOOKUP函数的情况。

/ 01 /

如下图,职务一列中合并了同类,我们在C2单元格输入公式:

=VLOOKUP(A2,$E$2:$F$4,2,0)

双击向下填充公式,会发现每个职务第一个姓名的补贴是正确值,其它姓名的补贴出现错误值。

为什么会出现这种情况呢?我们在D2单元格输入公式:

=A2

双击向下填充公式,会发现每个合并单元格区域中第一个单元格是有内容的,其它的单元格是没有内容的,通过引用单元格后显示为"0",A3:A5、A7、A9单元格没有内容,VLOOKUP公式肯定会返回错误值的。

那碰到这种情况,应该如何解决呢?我们把VLOOKUP的第一个参数再换成一个VLOOKUP公式即可解决,在C2单元格输入公式:

=VLOOKUP(VLOOKUP("座",$A$2:A2,1,1),$E$2:$F$4,2,0)

双击向下填充公式。

  • 公式解析:

=VLOOKUP(VLOOKUP("座",$A$2:A2,1,1),$E$2:$F$4,2,0)

为什么用VLOOKUP("座",$A$2:A2,1,1)就可以查找正确的内容呢?

奥妙在这个"座"字上面,我们使用的是VLOOKUP函数的近似匹配功能(第4个参数为1),在查找汉字的时候是按照汉字的拼音顺序来查找的,而"座"(拼音zuo)的拼音是汉字中比较靠后的了,所以我们可以用它来查找最后一个文本,这也是一种比较固定的用法。

例如C5单元格中公式为"=VLOOKUP(VLOOKUP("座",$A$2:A5,1,1),$E$2:$F$4,2,0)",A2:A5数据区域中最后一个文本是"班长",所以公式进一步运算是"=VLOOKUP("班长",$E$2:$F$4,2,0)",这样就返回班长的补贴数值。

/ 02 /

如下图,我们根据左侧的表格,在右侧的表格中生成正确的结果。

这属于多条件查找,在一文中讲解了多条件查找是如何操作的。

但是在本例中,直接应用多条件查找是不行的,因为有合并单元格的存在,在前面我们讲到了合并单元格后会出现什么情况。

那该如何操作呢?

其实我们可以借助辅助列,在"日期"列前面插入一列,在A2单元格输入公式:

=VLOOKUP(9E+307,$B$2:B2,1,1)&C2

双击向下填充公式。

辅助列完成后,我们在H3单元格输入公式:

=VLOOKUP(F3&G3,A2:D9,4,0)

我们来看一下效果:

  • 公式解析:

=VLOOKUP(9E+307,$B$2:B2,1,1)&C2

VLOOKUP的第4个参数是1,也就是我们使用的是它的近似匹配功能。

9E+307是科学计数法,意思是9*10^307,它是足够大的一个数,在EXCEL实际应用中经常被看作为最大数。

VLOOKUP(9E+307,$B$2:B2,1,1)也是一种比较固定的用法,是查找最后一个数字。