乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 什么是EXCEL的数组?什么是EXCEL的数组函数?举个最简...-数组函数excel,excel数组公式详解

什么是EXCEL的数组?什么是EXCEL的数组函数?举个最简...-数组函数excel,excel数组公式详解

作者:乔山办公网日期:

返回目录:excel表格制作


举个简单的例子
比如: A B C D
1 1 2 3
2 1
3 2
4 3
这是一个3行3列的数据
每个数据是他的行号*列号,即B2=B1*A2=1*1=1,C2=C1*A2=2*1=2 。。。。
一直到D4=D1*A4=3*3=9
你就可以使用数组公式,选中B2:D4,输入公式
=A2:A4*B1:D1, 别回车,同时按下ctrl+shfte+回车,你就可以马上得到3*3的数组了
其他的同理可

比如
A1单元格写入A
A2单元格写入B
A3单元格写入A

B1单元格写入20
B2单元格写入50
B3单元格写入100

要求出A列单元格为"A",C列单元格的和值

用普通函数公式zd可以写成
=SUMIF(A1:A3,"A",B1:B3)

=SUMPRODUCT((A1:A3="A")*B1:B3) SUMPRODUCT 函数支持数组运算

如果是用数组公式则写成
=SUM(IF(A1:A3="A",B1:B3))
数组公式,按下SHIFT+CTRL+ENTER三键
要想正确使用数组公式,则需要首先选中将要生成的结果单元格区域,且该区域与整个计算结果所得区域相同或等价。
数组公式采用一对花括号做为标记,因此在输入完公式之后,只有在同时按下“Ctrl+Shift+Enter”组合键之后才能正常生成数组公式。
数组公式只有与其它函数相配合才能发挥出其强大的优势,在使用数组公式的过程中,要正确的使用相对单元格引用和绝对单元格引用,这样才能确保计算结果的正确性
对于如图所示的表格,如果我们想计算A*B,则首先选中“C1”至“C7”单元格,然后在“编辑栏”中输入“=A2:A7*B2:B7”。

接着同时按下“Ctrl+Shift+Enter”组合键,就会发现数组公式产生了结果,并且“编辑栏”中的公式被一对花括号所包围。

将鼠标放置在编辑栏中,按键盘上的“F9”,就会发现数组公式的结果被计算出来啦。

接下来我们实现一些更复杂的操作,进行区域数据的计算。如图所示的两个区域,如果想生成“九九乘法”表,则选择“9*9”的结果生成区域,然后输入公式“636f7079e799bee5baa6e79fa5e98193363=A2:A10*D1:L1”。

接着同时按下“Ctrl+Shift+Enter”组合键,使可得结果。

6
数组公式与函数的配合:
如图,如果我们想要计算产品总金额,就可以在C8单元格中输入公式“”并同时按下“Ctrl+Shift+Enter”组合键来生成结果。

数组公式从入门到精通

入门篇

  本主题包含三部分:入门篇、提高篇、应用篇(分中级和高级)

  对于刚接触Excel数组公式的人来说,7a64e78988e69d83361总是会感觉到它的一份神秘。又Excel的Online Help中只有很少关于它的主题,所以这种神秘感就更强了。不要紧,只要跟着我的思路走,你很快就会看清数组公式的真面目!

  数组概念
对于数组概念,大家都会很熟悉,其就是一个具有维度的集合。比如:一维数组、二维数组、多维数组。数组的表示一般为“{}”所包括(一维和二维数组)。Excel中也不例外,如果你想直接表示一个数组,也必须用“{}”括起来。

数组与数组公式
在Excel中,凡是以半角符号“=”开始的单元格内容都被Excel认为是公式,其只能返回一个结果。而数组公式可以返回一个或者是多个结果,而返回的结果又可以是一维或二维的,换句话说,Excel中的数组公式返回的是一个一维或二维的数组集合。
在Excel中需要按下 “Ctrl+Shift+Enter”组合键结束数组公式的输入。

为什么要用数组公式?
如果你的需要满足以下条件之一,那么采用数组公式技术可能会是你很好的选择方案。
你的运算结果会返回一个集合吗?
你是否希望用户不会有意或无意的破坏某一相关公式集合的完整性?
你的运算中是否存在着一些只有通过复杂的中间运算过程才会等到结果的运算?
看到这些另人费解的问题,你可能会摸不着头绪。不要紧,看了以下内容你也许就会明白了。

什么情况下会返回一个集合?
看一个简单的例子,选中C1:E3,输入“={"Name", "Sex", "Age"; "John", "Male", 21; "Mary", "Female", 20}”,按“Ctrl+Enter”组合键。

图1-1 (ArrayFormula_A01.bmp)
结果在C1:E3中看到的结果全是“Name”,而实际真正返回的结果应该是一个包含三行三列的二维数组,如何办?答案就是用数组公式。选中C1:E3,输入“={"Name", "Sex", "Age"; "John", "Male", 21; "Mary", "Female", 20}”,按“Ctrl+Shift+Enter”组合键。

图1-2 (ArrayFormula_A02.bmp)
可能你又会问,这有何用?为何不在单元格中直接输入内容,反而要这么麻烦?
这仅仅是一个例子,说明的是如何通过数组公式返回一个结果集。给你个问题,如果存在这样一个工作表:包含字段{"ID", "Name", "Sex", "Age"},如何将“Sex”为“Female”的记录抽取出来 (为了打印报表,抽取的记录需要连续存放) ?这个问题将在“应用篇”里进行解答。

什么情况下会用到相关公式完整性?
什么是相关公式完整性?这仅仅是我给出的一个定义,请再回到“图1-2”,请选择C1:E3中任意一单元格,然后做随意的修改(哪怕和原先的公式一样),按“Enter”键结束输入。结果如何?修改未成功!提示“不能更改数组的某一部分”。

图1-3 (ArrayFormula_A03.bmp)
为什么会是这样呢?因为你正企图破坏相关公式的完整性。由于C1:E3中公式的数据源均为“{"Name", "Sex", "Age"; "John", "Male", 21; "Mary", "Female", 20}”,而C1:E3共用的一个公式(这与每个单元格都有相同的公式是有区别的,因为这仅仅是C1:E3拥有9个相同的公式,而不是一个!),因此,当你要单独更改其中一个单元格时,系统会认为你正在更改部分单元格的数据源,如此会导致数据源不一致的现象,从而导致与其它相关单元格脱离关系,这样数组公式就失去作用,所以系统不又允许你更改数组公式的部分内容。这样的好处是可以维护数据的完整性,做到与数据源总是有一致的对应关系。

你的公式复杂吗?
如果有如下数据,在D6单元格中求出对所购物品需要付多少费用。你会如何做?在D6中输入“=(C2*D2+C3*D3+C4*D4)”?结果正确,如果中间某个单元格地址输入错误你的结果会正确吗?如果记录不只3条,而是成千上万条,你是否会感觉到力不从心(如果不考虑单元格内字符数的限制)?如果用“图1-5”中的方法,你的感觉又会如何?(在D6中输入“=SUM(C2:C4*D2:D4)”,按“Ctrl+Shift+Enter”键结束输入。其中涉及到的技巧会在“提高篇”中讨论。)

图1-4 (ArrayFormula_A04.bmp)
图1-5 (ArrayFormula_A05.bmp)

怎么样?是否了解了数组公式?是否学会了如何使用数组公式?是否感觉到了它的一点点威力?

请继续关注“数组公式从入门到精通”之“提高篇”,让我们继续深入数组公式!

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网