一个Excel函数参数的探究
时间:2022-03-22 10:56:57 浏览次数:次
摘 要:Excel以其易学易用,功能强大的特点逐渐成为人们日常办公必备的软件,它不仅是“极好的”(Excel译),也是极强的,比如Excel中的一些函数就能够实现我们特定所需的数据处理功能。
关键词:函数参考;探究;单元格
中图分类号:G630 文献标识码:A 文章编号:1003-2851(2011)03-0135-01
本文谈及的是VLOOKUP函数。在Excel帮助文件中,是这样描述其作用的:“在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值”。微软帮助文件的表述,一向晦涩难懂,不如举个例子以期说明它的功能,如图1:
上述提到的“数值数组”,应当理解为一个“数据区域”,现在图1中就有一个数据区域,此区域左上角是单元格C3,右下角是单元格D6,规范地应记作C3:D6,它包括2列4行,首列中有数据A、B、C、D,第二列有数据1、9、3、5。比如现在需要从这个区域的首列中先找B,再通过B找对应行里的9,这种情况下就可用到VLOOKUP。
随便找一个单元格,比如B8,在里面输入公式“=VLOOKUP("B",C3:D6,2)”,不包括两边引号,就会返回数值9。第一个参数是要在首列中要先确定的值“B”;第二个参数是数据区域即C3:D6; 第三个参数2,意思是相对于数据区域处于第2列,在数据区域C3:D6中,“B”所在列是首列,B所在行第2列是9。
由此可知,据已知条件想得到这个9,必须给出三个参数:第一、首列中指定的值,它将自动确定想要的数值所在的行;第二、数据区域;第三、指定的列数,此列数是相对数据区域而言的。再试验一个,如输入“=VLOOKUP("D",C3:D6,2)”则返回5,因为“D”右边是5。至此,这个函数的功能就大体掌握了。
按此推理的话,要是输入“=VLOOKUP("F",C3:D6,2)”应当返回什么呢?容我们猜测一下,一定是个错误的值,因为这个数据区域首列中没有字母“F”。可是实际上,竟而会返回一个数值5。这是为什么呢?
原来,在默认情况下,此函数会采用大致匹配,在首列中与“F”最接近且小于“F”的值是D,就会用“D”来代替第一个参数“F”,由此即返回5,这就是所谓的大致匹配。
与大致匹配相对应,是精确匹配。那么我们如何指定这个函数是采用大致匹配或是精确匹配呢?原来VLOOKUP还有第4个参数,这第4个参数是可选的,是个逻辑值。例如:
“=VLOOKUP("F",C3:D6,2,TRUE)”,则采用大致匹配,返回5;
“=VLOOKUP("F",C3:D6,2,FALSE)”,则采用精确匹配,返回一个错误值。
如果省略第4个参数,则效果同采用TRUE一样,即采取大致匹配,这正如上面的例子所示;而如果采用FALSE,则会指定精确匹配。很多场合,精确匹配恰是我们所需的,如果省略第4个参数,就不能实现所特需的数据处理目标。
遗憾的是,由于微软工作者的小疏忽,对于第4个参数的说明,给恰恰弄反了,在函数参数指示说明中,将FALSE标作为大致匹配。见软件截图(图2),读者也可自行调出Excel验证。
而与VLOOKUP相近的HLOOKUP函数并没有出现此种错误。当然,在庞杂的Office办公系统中,出现一点标注性错误,也是在所难免的。
在某些情况下,如果您能够想到并学会应用这个函数,会使工作效率大为提高。比如计算某班级期中和期末两次成绩的均值,条件是已有期中成绩和期末成绩两个文件。显然这是一个看似简单的数据处理任务,只要把这两个文件搞到一个工作表里,其余就容易进行了。可问题是,经过一个学期,班里的同学发生了变化,有转学缀学的,又有几个新来的。此种情况下合并两个表,就应以期末为蓝本,采用VLOOKUP函数,把期末姓名作为第一个参数,将期中成绩表作为第二个参数,根据期中成绩表的实际情况设置第三个参数,一定还要设置第四个参数为FALSE, 这样将期中成绩表的成绩自动LOOKUP到期末表中来。结果,转走同学的成绩不会参与查找,因为第一个参数是期末中的姓名,而新转来同学的成绩项将显示错误值,因为使用了精确匹配,这正是我们所需的,以不至于显示“虚假的”近似成绩,而使得可以根据需要人为修改。两次成绩拼合到同一表后,再计算均值。
VLOOKUP仅是EXCEL众多函数中的一员。EXCEL函数功能不仅强大,同时,在数据处理中其所体现的灵活性和严谨性更值得欣赏与启迪。