常有读者朋友问:公式中的大括号有什么作用
这个大括号到底起什么作用,中间各元素的分隔符逗号和分号到底有什么区别?
万丈高楼平地起
要真正了解大括号的作用,我们先来看一个普通的求和公式:
上面F1单元格是对A1:D3单元格区域(三行四列)求和,其结果为78,我们如果选定公式中的A1:D3然后按F9功能键:
可看到其运算结果为:
{1,2,3,4;5,6,7,8;9,10,11,12}
上面结果就是用一个大括号括起来一些数字,这些数字分别用逗号、分号隔开,我们对比表格可以发现:
用逗号来分隔各列的值,
用分号来分隔各行的值。
从上面的操作演示也可看到,在单元格中输入公式:
=SUM({1,2,3,4;5,6,7,8;9,10,11,12})
一样可得到正确的计算结果。
在公式参数中可以使用大括号类似于{1,2,3}或{1;2;3}这种写法。这种写法官方名称为数组常量。我们一般称为常量数组。
具体应用
一、个税公式
经常使用大括号{}来构建列表,否则的话,要将列表输入到单元格中,再引用。
比如个税公式中,
=MAX((B2-5000)*{0.03;0.1;0.2;0.25;0.3;0.35;0.45}-{0;210;1410;2660;4410;7160;15160},0)
用两个大括号分别装载税率和速算扣除数:
{0.03;0.1;0.2;0.25;0.3;0.35;0.45}
{0;210;1410;2660;4410;7160;15160}
其效果等同于在E2:E8、F2:F8单元格区域输入相应数字,然后在公式中引用它们:
二、单字段多条件求和
用SUMIF“多条件”求和(单条件多元素),公式:
=SUM(SUMIF($A$4:$A$11,{"天津D公司","贵阳F公司"},C4:C11))
三、VLOOKUP逆向查找
如《偷懒的技术:打造财务Excel达人》中用VLOOKUP逆向查找,公式:
=VLOOKUP(E4,IF({1,0},$B$4:$B$10,$A$4:$A$10),2,0)
实际上,上面的公式就是下面公式的变形
=VLOOKUP(E4,IF({true,false},$B$4:$B$10,$A$4:$A$10),2,0)
因为在Excel里,用IF判断时,非0为True,0为False
所以,{true,false}写成{1,0}是等效的。
IF({1,0},$B$4:$B$10,$A$4:$A$10)的计算结果就是由B4:B10和A4:A10组成的两列数据。
结果如下图红框所示:
由于非0为True,0为False,写为{2,0}或{-2,0}也是等效的
但不能写为{0,1}
也不能写为{1,1}
上面公式中的逗号不能改为分号,写为下面的公式就会出错:
=VLOOKUP(E4,IF({1;0},$B$4:$B$10,$A$4:$A$10),2,0)
因为:
用逗号来分隔各列的值,
用分号来分隔各行的值。
三、扩展
1、ROW(1:9)
一些列表较长,比如要生成1到9的列表{1,2,3,4,5,6,7,8,9}
写起来就比较麻烦,可以用COLUMN(A:I)替代。
{1;2;3;4;5;6;7;8;9}可用ROW(1:9)替代。
2、公式外围的大括号
一些公式最外围有大括号,这种是数组公式。
数组公式的大括号不是手工输入的,
而是在编辑完公式后,按Ctrl+Shift+Enter键后自动添加的。
注:文章版权归原作者所有,内容仅供读者学习、交流之目的,如有侵权,请联系我们删除。
联系邮箱:zirongzhang@ningmengyun.com