如题所述
数 组:指一行、一列或多行多列排序的一组数据元素的集合。
数据元素:可以是数值、文本、日期、逻辑值和错误值。
简单的说,数组就是和普通公式区别就是需要用ctrl+shift+enter你组合键来完成的。
示例: 在编辑栏处输入公式 =B2:B10*C2:C10 ctrl+shift+enter 即可
正常公式
数组公式
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2016-06-16
我举个SUM()求和的数组公式给楼主参考:
假设单元格A1:A5中为数量:1、2、3、4、5。单元格B1:B5中为单价2、4、6、8、10。
则SUM()的数组公式可以直接求出总金额:
=SUM(A1:A5*B1:B5)
公式按“SHIFT+CTRL+ENTER” 输入后得到的是398。
如果不用数组公式一般的做法是先在C列算出各行的金额,最后用SUN()函数求C列中的金额的总和, 而数组公式的好处就在于执行多重运算,这条数组公式先将A1:A5与B1:B5对应相乘,相乘之后直接计算相乘结果即各行金额的和。本回答被提问者采纳
假设单元格A1:A5中为数量:1、2、3、4、5。单元格B1:B5中为单价2、4、6、8、10。
则SUM()的数组公式可以直接求出总金额:
=SUM(A1:A5*B1:B5)
公式按“SHIFT+CTRL+ENTER” 输入后得到的是398。
如果不用数组公式一般的做法是先在C列算出各行的金额,最后用SUN()函数求C列中的金额的总和, 而数组公式的好处就在于执行多重运算,这条数组公式先将A1:A5与B1:B5对应相乘,相乘之后直接计算相乘结果即各行金额的和。本回答被提问者采纳
第2个回答 2010-12-21
就是在原有的公式外加上两个大括号“{ }”组成的,里面由多个函数或条件组成:
例如:
{=SUMPRODUCT(($K$2:$K$6="PCS")*($F$2:$F$6=$A3),$N$2:$N$6,$J$2:$J$6)*G2/SUM(IF($A$2:$A$6=$A2,$G$2:$H$6,))}
【方法】:
在原来输入公式的单元格,在编辑状态下,按【Ctrl+Shit+Enter】,即可得出数组函数。
意思即是:要大括号包住,要满足大括号包住的2个以上的条件,此公式才能成立。
例如:
{=SUMPRODUCT(($K$2:$K$6="PCS")*($F$2:$F$6=$A3),$N$2:$N$6,$J$2:$J$6)*G2/SUM(IF($A$2:$A$6=$A2,$G$2:$H$6,))}
【方法】:
在原来输入公式的单元格,在编辑状态下,按【Ctrl+Shit+Enter】,即可得出数组函数。
意思即是:要大括号包住,要满足大括号包住的2个以上的条件,此公式才能成立。
第3个回答 2010-12-21
这个几句话说不清楚,我学习了几个月理解了一点皮毛。
最简单的数组公式,比如SUMIF公式可以分解为SUM+IF
A列为品名,B列为数量,要计算甲产品的数量,可以直接用SUMIF函数:
=sumif(a:a,"甲",b:b)
这个也可以自己写一个数组公式:
=sum(if(a2:a100="甲",b2:b100,0))
公式用CTRL+SHIFT+ENTER结束
这里的if(a2:a100="甲",b2:b100,0)意思是:如果a2="甲",就取b2的值,否则就是0;如果a3="甲",就取b3的值,否则就是0,……以此类推,得到{200,0,0,300}这样一个数组,再用SUM累加。
这个问题也可以用
=sumproduct((a2:a100="甲")*(b2:b100))
sumproduct比较特别,能够支持数组运算,但不需要用组合键输入,所以很方便。
需要说明的是,
(1)在上述公式中a2:a100、b2:b100的行数必须是一样的;
(2)另外,数组公式通常不支持A:A这样的区域,只能是A1:A65535或A2:A65536这样的引用方式。
(3)通常要用CTRL+SHIFT+ENTER结束,在公式外面出现一对{},这个{}手工输入是不起作用的。
(4)数组和数组公式是两个概念。
数组公式通常会用到IF、MATCH、INDEX、CHOOSE、SMALL、LARGE等函数的组合。
另外还有一种特殊的数组公式,是多单元格联合数组。比如C1=A1*B1……C5=A5*B5,可以直接
选择C1:C5,然后再编辑栏输入:=(A1:A5)*(B1:B5)
公式用CTRL+SHIFT+ENTER结束
数组和数组函数非常强大。
上面这只是基本的意思。涉及到数组本身的运算、多维引用等就比较复杂了。
最简单的数组公式,比如SUMIF公式可以分解为SUM+IF
A列为品名,B列为数量,要计算甲产品的数量,可以直接用SUMIF函数:
=sumif(a:a,"甲",b:b)
这个也可以自己写一个数组公式:
=sum(if(a2:a100="甲",b2:b100,0))
公式用CTRL+SHIFT+ENTER结束
这里的if(a2:a100="甲",b2:b100,0)意思是:如果a2="甲",就取b2的值,否则就是0;如果a3="甲",就取b3的值,否则就是0,……以此类推,得到{200,0,0,300}这样一个数组,再用SUM累加。
这个问题也可以用
=sumproduct((a2:a100="甲")*(b2:b100))
sumproduct比较特别,能够支持数组运算,但不需要用组合键输入,所以很方便。
需要说明的是,
(1)在上述公式中a2:a100、b2:b100的行数必须是一样的;
(2)另外,数组公式通常不支持A:A这样的区域,只能是A1:A65535或A2:A65536这样的引用方式。
(3)通常要用CTRL+SHIFT+ENTER结束,在公式外面出现一对{},这个{}手工输入是不起作用的。
(4)数组和数组公式是两个概念。
数组公式通常会用到IF、MATCH、INDEX、CHOOSE、SMALL、LARGE等函数的组合。
另外还有一种特殊的数组公式,是多单元格联合数组。比如C1=A1*B1……C5=A5*B5,可以直接
选择C1:C5,然后再编辑栏输入:=(A1:A5)*(B1:B5)
公式用CTRL+SHIFT+ENTER结束
数组和数组函数非常强大。
上面这只是基本的意思。涉及到数组本身的运算、多维引用等就比较复杂了。