
choose函数是excel官方认定的10大常用函数之一,我们在专栏开始的第2节也见到过这个函数,只不过是作为一个被比较的对象。
之所以它是冷门引用函数,主要是由于像vlookup、match等引用函数使用太过频繁,而choose函数的参数也非常不同,使得熟悉的同学喜欢用,而不熟悉的同学就不大感兴趣了。
作为excel常用函数之一,自然有其一些特定的使用场景和经典案例,今天我们就通过3个不同的应用场景来学习关于choose函数的语法和用法。
一、基础语法和公式写法
我们先来看看choose函数的语法图:

在图中可见choose函数有三个参数,但这只是系统默认的一种显示,实际上choose函数可以设置最多255个参数。
=choose(索引值,值1,值2,值3……)
第1参数索引值是一个数字,它会给choose函数设定返回结果的位置,比如索引值等于2,那么它的结果将返回第2个值,如果为3,则返回值3.
参数
参数

点击确定,我们来看一下它的结果:

21第12.
这是choose函数最基础的表达,所有的参数都是数字。
接下来介绍一下它在其他场景中的用法。
二、进行随机取值
比如下图中,要给各位员工随机分别客户,结果如C列所示:

=CHOOSE(RANDBETWEEN(1,5),"A210","Z612","A117","A113","Z201")

这个公式使用了choose和randbetween函数进行组合应用,choose属于引用函数,作用是返回指定索引值的对应结果。randbetween是一个随机函数,会随机返回指定值区间的任意数值,比如randbetween(1,100),则随机返回1-100之间任意的一个数字。
然后我们看choose的结果值设置,根据右侧客户组列表,设置了5个结果。
在这里我们需要注意,到参数值是中文文本时,需要添加双引号来引用,如果是数字,则无需添加双引号。
那么这个公式,我们可以得知它的索引值是随机返回1-5之间的数字,然后再执行choose公式返回索引值对应的结果。
我们输入完公式,再将公式下拉填充,就能得到上图中C列的结果。
三、业绩提成区间匹配
excel中有很多函数和方法可以进行业绩提成区间的匹配,在下图中,设置了个人业绩的提成比例,且业绩是用文字和数字组合的表达。

=CHOOSE(MATCH(D3,{0,50000,150000,300000,500000},1),0.01,0.02,0.03,0.04,0.05)

这个公式看起来很长,主要是choose函数的索引值使用了match函数,而match函数的第2参数查找区域又直接使用了一个数组,这个数组就是我们设置的个人业绩不同等级。
由于match函数的第3参数是1,所以执行近似匹配,其结果会返回这个数组区域中,符合查询条件的值的位置。
match函数公式的具体含义和用法,大家可以回顾作者专栏中关于match讲解的部分。
D31048705000050000
20.02
其实在作者的截图中,关于个人业绩第2层级的“5万-15万”输入错误,写成了”50万-15万“,但我们发现公司运算结果并没有错误。
这是因为业绩提成区间是特别添加的一个辅助列,当使用lookup函数等引用时,需要使用到辅助列,而choose函数无需建立辅助列,它在公式的参数中,直接进行了设置,所以它的参数显得比较多,整个公式看上去长度也比较长。
也可能是由于它的参数设置起来比较繁杂,而导致虽然这个函数是excel10大常用函数之一,但很多同学,也并不是特别喜欢使用这个函数来进行计算。