应用技巧十一:了解CHOOSE函数

2018-07-26  本文已影响0人  陶泽昱

CHOOSE函数是一个特别的Excel内置函数,它可以根据用户指定的自然数序号返回与其对应的数值、区域引用或者嵌套函数结果。

该函数的语法如下:

CHOOSE(index_num,value1,[value2],…)

其中:index_num必须为1~254的自然数序号。根据此函数的特性,用户可以在某些情况下用它代替IF条件判断函数。

注意:虽然CHOOSE函数和IF函数相似,结果只返回一个选项值,但IF函数只计算满足条件所对应的参数表达,而CHOOSE函数则完全相反,它会计算参数中的每一个选择后再返回结果。

一、生成员工工资单

对于根据工资表生成指定格式的工资单这项应用,在Excel

2010中实现的方法有很多种,下面介绍利用CHOOSE函数来实现的方法。

示例1:使用公式根据工资表生成工资单

如图1所示,模拟了一份某公司各部门员工的工资表,要求根据此表生成对应的工资单,格式为每名员工一行数据,员工之间各间隔一空行。

由于生成的结果只供查看,不需要计算,因此下面的公式直接生成文本型的员工工资单,A10单元格公式如下:

=OFFSET($A$1,CHOOSE(MOD(ROW(A1)-1,3)+1,0,(ROW(A1)-1)/3+1,65535),COLUMN()-1)&””

公式主要利用MOD函数来生成循环序列,并结合CHOOSE函数来隔行取出对应的工资表数据生成员工工资单,结果如图2所示。

注意:为了保证与Excel

2003兼容,建议指定空白行仍然指定为65536,如果仅仅在Excel

2010中使用,目前最大行已经可以设置为2^20(即1048576)。

二、使用VLOOKUP函数向左查找

通过前面的介绍,读者了解到VLOOKUP的常规用法,只能让其从左向右进行查询,但如果借助CHOOSE函数重新生成数组,则可以让VLOOKUP函数实现向左查找。

示例2VLOOKUP函数结合CHOOSE函数实现向左查询

如图3所示员工信息表,下面将介绍如何通过函数组合应用实现数据查询。

E5单元格查询公式如下:

=VLOOKUP(B2,CHOOSE({1,2},$E$2:$E$9,$D$2:$D$9),2,)

在这里着重借助了CHOOSE结合常量数组{1,2},将姓名(E列)和员工号(D列)数据位置进行左右互换,从而生成了符合VLOOKUP查询要求的内存数组,最终由VLOOKUP函数按“姓名”进行查找,返回“黄思露”的员工号:A05023。

另外,由于只是两列数据的位置互换,还可以利用IF函数来实现,如公式修改为:

=VLOOKUP(B2,IF({1,0},$E$2:$E$9,$D$2:$D$9),2,)

上一篇下一篇

猜你喜欢

热点阅读