当第一个条件满足时,其他条件都不满足,1+∑逻辑条件 n*n=1+1*1+0=2,选取 value 2 即“优秀”作为返回值;
当第二个条件满足时,其他条件都不满足,1+∑逻辑条件 n*n=1+0*1+1*2+0=3,选取 value 3 即“良好”作为返回值;
以此类推 。
因此,当各个逻辑条件彼此不包含时,CHOOSE 函数的第一个参数应表示为 1+∑逻辑条件 n*n 的形式,其余参数顺序为 value all false,value if logical 1 true,value if logical 2 true……
相反的,如果各个逻辑条件间相互包含,则 CHOOSE 函数的第一个参数 index_num 应该写成 1+逻辑判断 1+逻辑判断 2+……+逻辑判断 n 的形式,即 1+∑逻辑条件 n 。这是因为,当逻辑 n 满足时,逻辑 n-1 一定也满足,所以满足的条件个数再加 1 即为选取参数列表的索引号,无需运用*n 的形式进行转化 。典型的问题是旧个税时的劳务报酬收入计税 。譬如工资 4500 元,则其既大于 4000,也大于 800,把它们逻辑值相加再加 1,得 3,个税就采用公式中 Value 3 即 A2*0.8*0.2 计算,如下:
=CHOOSE(((A2>800)+(A2>4000)+(A2>25000)+(A2>62500)+1),0,(A2-800)*0.2,A2*0.8*0.2,A2*0.8*0.3-
2000,A2*0.8*0.4-7000)

四、建立反向查找区域能力,CHOOSE 全面占优
在运用 VLOOKUP 函数进行反向查找时,我们会使用 IF{1,0}结构来完成表格数据列的重构,从而使 VLOOKUP 的目标查询值出现在查询范围的第一列 。例如下图,由于数据源区域中,姓名一列在年级列的右侧,我们无法直接使用 VLOOKUP 进行查询,于是我们用 IF{1,0}将 A 列和 C 列数据重排顺序,当判断为真(1),输出$C$10:$C$14 列数据,判断为假(0)输出$A$10:$A$14 列数据,从而新构建了以$C$10:$C$14 为首列,$A$10:$A$14 为第二列的数列作为查找区域,使 VLOOKUP 函数可以顺利查询到目标结果 。

于是,问题来了 。IF{1,0}结构仅能指定两列数据的顺序,无法指定多列数据的顺序,来组合成新的查询区域,这使得我们经常需要为相同查询逻辑不同查询列的多个单元格单独设置公式,无法拖动填充公式匹配列查找 。譬如当前就不能将 B2 公式拖动填充到 C2 中 。IF{1,0}结构的这一缺陷,使得它在与 CHOOSE 的对比中一败涂地!
下面是 CHOOSE 出手,直接一次性把 3 列数据重新排序构建出统一的查询区域,公式可以直接从 B2 拖动填充到 C2 中:
=VLOOKUP($A2,CHOOSE({1,2,3},$C$10:$C$14,$A$10:$A$14,$D$10:$D$14),COLUMN(),0)

公式说明:
【excelchoose函数公式技巧 choose函数的使用方法】 该公式的重点是我们运用 CHOOSE{1,2,3}结构将表中三列数据 A10:A14、C10:C14、D10:$D14 重新按 C10:C14 排第 1 列,A10:A14 排第 2 列,D10:$D14 排第 3 列的顺序组成一个新的数据区域用作 Vlookup 的查找区域 。再借由 COLUMN()返回公式所在单元格的列数,确定 VLOOKUP 查询返回的列数 。CHOOSE 函数的该用法大大突破了 IF{1,0}结构只能将两列数据交换位置进行重建的限制,可以说是后者的威力加强版!
推荐阅读
- 容积率的计算公式是什么
- 扇形周长公式是什么 扇形周长公式介绍
- 无缝钢管重量计算公式是什么
- 建筑楼梯计算公式是什么
- 380v三相电流计算公式是什么
- 外墙面积计算公式是什么
- 奇偶函数怎么判断 奇偶函数如何判断
- 半圆楼梯计算公式是怎样的
- 房子首付公式怎么算
- 住宅小区绿化率计算公式是什么
