我们经常在一些excel函数公式两边看到添加有大括号{},我想大部分新手同学看到大括号就晕。以后兰色写的函数教程中也常会出现它。到底这个大括号是什么神秘符号,今天兰色很有必要提前介绍一下。想学好函数的同学也一定要耐心把下面的教程看完。
先从一个简单的计算公式说起:
=A1*B1
它的结果为20,只有一个数。
而如果让多个数与B1相乘,会是什么结果呢?
=A1:A5*B1
结果是分别返回一个相乘的结果值。即返回的是一组值:20;40;50;60;30,由于单元格无法同时显示多个结果,所以显示为错误值。
如果让一列数与另一列数相乘是什么结果呢?
=A1:A5*B1:B5
结果是相对应的行一对一相乘,几行数会返回几个结果:20;8;35;48;27
说了这么多,同学们只需要了解:excel中的运算后返回值的个数有两种:1个数 和 1组数。
那么如果一个公式中含有返回一组数的表达式时,就需要用数组运算。即在公式后按ctrl+shift+enter三键自动添加大括号{}。当然也有例外,象lookup、sumproduct函数就可以直接执行数组运算,而不需要添加大括号,单一使用常量数组也不需要。
说到这里有些同学还是有些迷惑,这个倒底有什么用,兰色下面举两个小例子。
【例1】如下图所示表销售统计表中,要求根据销售数量,计算所有人员提成之和(提成 10元/个)
如果用一般的方法,公式应该为:
=2*10+4*10+5*10+6*10+3*10=200
用数组方法:
{=SUM(B2:B6*10)}
套用开始的理论,因为B2:B6*10计算后返回多个结果,所以公式要添加大括号。
【例2】计划B2:B2区域总共有多少字数。
公式:{=SUM(LEN(B2:B4))}
len(B2:B4)要返回每个单元格的字符数,返回的是一组数,所以该公式也要添加大括号。
【例3】截取字串中最后的数字。
分析:
B1的值:excel精英培训平台会员226574
如果用right函数从右边截取N个字符
- Right(b1,1) 结果为 4
- Right(b1,2) 结果为 74
- ……..
- Right(b1,6) 结果为 226574
- Right(b1,7) 结果为 员226574
- RIGHT(B1,ROW(1:9) ) 的结果是什么?Row(1:9) 返回9个数字,分别1~9行的行数,结果是从右边截了9次。
{“4″;”74″;”574″;”6574″;”26574″;”226574″;”员226574″;”会员226574″;”台会员226574”}
*1后,把非数字转换成错误值,文本型数字转换成数字
{4;74;574;6574;26574;226574;#VALUE!;#VALUE!;#VALUE!}
最后用lookup用一个足够大的数字9^9查找最后一个数字
最后的公式为:
=LOOKUP(9^9,RIGHT(B1,ROW(1:9))*1)
由于lookup函数可以直接支持数组运算,所以公式不需要添加大括号
兰色说:通过今天的教程,同学们能大概知道,在什么情况下添加大括号即可。至数组公式,在以后兰色将会有更深入的介绍。