今天,成都电脑培训的小编给大家分享一个可以代替IF函数的强大函数:choose函数
函数参数:choose(index_num,value1,[value2],...)
参数详解:
index_num:必需,指定所选定的值参数。必须为1到254之间的数据,或者为公式或对包含1到254之间某个数字的单元
格的引用
如果index_num为1,函数choose返回value 1,如果为2,返回value 2……
如果index_num小于1或者大于列表中最后一个值得序号,函数choose返回错误值
如果index_num为小数,则在使用前将被截尾取整
value1,value2……其中value1是必需的,后续是可选的,参数个数介于1到254之间,函数choose基于index_num从这
些参数中选择一个数值或意向要执行的操作,参数可以为数字、单元格引用、已定义名称、公式、函数或文本
一、函数基本用法:
二、CHOOSE函数综合使用:
1.choose函数配合vlookup函数实现逆向查询
函数解释:因为VLOOKUP是不能单独完成逆向查询任务的,小编在这里呢,去找了CHOOSE函数来帮助VLOOKUP函数
实现逆向查询:
此处G2单元格公式为:=VLOOKUP(G1,CHOOSE({2,1},A2:A6,B2:B6),2,0)。用CHOOSE({2,1},A2:A6,B2:B6)返回一
个“产品名称/编号”的数组,即{“长袖白衬衫”,”WT-563”;”粉红衬衫”,”WT-534”;”牛仔裤”,”WT-534”;”牛仔外套”,”WT-578”;
”黑色T恤”,”NR-567”;”打底裤”,”NS-457”}.
函数返回原理:choose函数的索引号为数组{2,1},当公式在开始执行时,choose函数先从数组中取出索引号2,而函数
则根据索引号2返回VALUE2,也就是B2:B6中B2的值长袖白衬衫;接着,从索引号数组中取出1,1对应的是VALUE1,即
A2:A6区域,所以从A2:A6中取出A2单元格的值:WT-563;按照此循环过程直到取完B2:B6、A2:A6中的所有值
CHOOSE({2,1},A2:A6,B2:B6)返回数组后,G2单元格公式变为:=VLOOKUP(G1,{“长袖白衬衫”,”WT-563”;”粉红衬衫”,
”WT-534”;”牛仔裤”,”WT-534”;”牛仔外套”,”WT-578”;”黑色T恤”,”NR-567”;”打底裤”,”NS-457”},2,0),然后VLOOKUP在数组
中去查找G1单元格的值(牛仔外套)之后返回与“牛仔外套”对应的第二列的值,它正是我们查询的编号:“长袖白衬衫”,
”WT-563”;”粉红衬衫”,”WT-534”;”牛仔裤”,”WT-534”;”牛仔外套”,”WT-578”;”黑色T恤”,”NR-567”;”打底裤”,”NS-457”
2.choose函数配合match、if函数实现等级评定
函数解释:1、公式=CHOOSE(MATCH(I2,{0,60,70,80,90,100}),"不及格","及格","一般","良好","优秀")用MATCH(I2,
{0,60,70,80,90,100})查找G2在数组{0,60,70,80,90,100}对应的值,由于G2为82,数组中没有这个值,又因为
Match函数省略了最后一个参数默认查找小于等于82的最大值,而该值是80,所以返回80在数组中的位置4。
2、此时,公式变为=CHOOSE(4,"不及格","及格","中","良","优"),索引号4对应的值恰好是“良好”,因此返回“良好”。