当前位置:蜗牛素材网>综合资讯>图文>正文

Excel知识大全:EXCEL经验分享,十一

人气:124 ℃/2024-04-04 03:57:50

前面几篇经验分享,我们对EXCEL的函数都有了大概的了解了,现在我们来讨论一下函数的升级,即为数组函数。数组函数并不是全新的函数,他是在原有的函数基础上做出一个升级,核心点自然是在数组二字之上。

何谓数组?如果有点变成知识的话,应当有些理解,他是是有序的元素序列,或者说是把多个元素放在一起的集合。这数组还可以从数学的角度上来理解,比如整个整数集合,就是非常多的数字组合在一起。不过在数学的概念中这个集合中的元素应该都是数字了,而到了EXCEL中既包含了数字,也包含了非数字的元素,如果元素的类型不同当放在同一个数组中,EXCEL也是可以的,但是一般情况下一个数组中的各个元素的类型大致都应该是一样的。

那数组函数为什么说是函数的升级版呢?

从求和函数来了解数组概念

EXCEL的求和函数SUM,大家应该是熟的不能再熟了。SUM函数的参数也很简单,就是选择你需要求和的单元格或者范围。其实这些求和的单元格范围就是一个数组,因为每个单元他都有数值,从而将它们放在一起就是数组了。一般我们习惯用鼠标去选择单元格范围,不过SUM函数是可以直接把多个数字进行求和的,也就是在参数内直接写上数字。比如我要求从1到5的合计数,这个时候1到5这个五个数字就组成了一个数组,他们之间用逗号隔开,并将所有数字用花括号{}包裹起来,就可以了。

如果求和公式变成了SUM(A1:A5),那么大家可以想象一下,事实上之前数字数组{1,2,3,4,5}这种形式对于单元格范围来说也是一样的,A1到A5五个单元格就是数组中的5个元素,而每个元素的值通过求和函数来进行合计。

从函数到数组函数

数组函数的概念,还是从数学的集合概念中说起,我认为用数学的集合概念来理解数组函数是很便利的。

比如说整数1他属于整数集合N,那么用数学符号写就是:1∈N。但我要说如果我把属于符号∈变成<符号,结果会怎样。我可不是数学专家,高中数学也忘记了很多,我也不知道数学中有没有1<N这种说法。但是在EXCEL中,我很确定EXCEL就会认为用户要用1去比较整个整数集合N中的所有的数字,这会是一个什么结果?我之前在讨论比较逻辑的值的时候说过,任何比较EXCEL就会返回两个值,不是TRUE就是FALSE,也就是不是0就是1,那么当时数字1和整数集合进行比较的结果就出来了,比1小的整数都返回TRUE的结果,比1大或等于的都返回FALSE结果,而这些结果就形成了一个新的数组,都是TRUE和FALSE,至于有多少个,那么整数集合有多少个数字就多少个结果了。

这种比较是可以在EXCEL中做实验的,比如你直接写=3<{1,2,3,4,5},直接按下回车其结果就是FALSE,而如果你写1<={1,2,3,4,5},他的结果是TRUE,这样的话我之前说的多个结果并没有出现。其实不是这样的,EXCEL的单元格的值永远就是一个,而这些1个数字和多个数字比较是多个结果无法直接反映在EXCEL的单元中,那么他就返回了第一个结果。换句话说3是大于第一个数字元素1的,所以返回FALSE,而1确实小于等于1,所以返回了TRUE。

那么怎样才能知道这个结果是多个的呢,还是我之前的内容,利用F9直接显示结果,所以选中公式的整体,按下F9,你就会发现结果就是一个TRUE和FALSE的数组了。

一个数字和一个数组进行比较,产生的结果是这个数组有多少个数字就有多少个结果,那如果用一个数组和另一个数组进行比较会是什么结果呢?比如{3,4}<{1,2,3,4,5},会是一个什么结果?大家可以试一下,用F9来显示结果,我这里就直接告诉答案了。当两个数组进行比较,EXCEL会把前一个数组内的每个元素和后一个数组做比较,那么{3,4}<{1,2,3,4,5}就是把3和后面的1-5进行比较,然后用4和后面的1-5进行比较,所以结果就是2*5一共有10个结果了。

数组函数有什么用

上面我所举的例子是把数字之间进行比较,事实上数字之间也可以进行四则运算。而数组和数组之间的运算运用到现实工作中,作为一个财务人员,我自然就想到了单价和数量的关系了。销售单价*销售数量就是销售额,而12个月每个月的销售额合计就是全年的销售额了,换句话说12个月的销售单价和销售数量各自有12个数字,那么就形成了2个数组,这两个数组相乘之后在进行合计就是全年的销售额。如果你EXCEL不是很熟练,还不了解数组的话,求出全年销售额,无非就是先求每个月的销售,然后在合计一下,用数组则是一步到位。

销售单价比如从B2到B13,销售数量从C2到C13,那么通过我们上面说的那些内容,这个公式自然就是SUM(B2:B13*C2:C13),这个大家应该都能理解了吧,内部现实各自相乘,外部求和。不过当你按下回车之后,会发现公式出错了。这是为什么呢?因为他是数组函数,你要告诉EXCEL他是一个数组,那么为什么上面的3<{1,2,3,4,5}为什么能有结果呢,因为花括号就代表了数组,EXCEL就已经知道了。所以这个求和公式最终不是直接按回车的,你需要依次分别按住CTRL SHIFT ENTER,那么EXCEL就知道你是数组函数了,然后马上返回结果。实际上你也可以通过F9显示结果来验证B2:B13*C2:C13的结果,他就是12个数字的一个数组,也就是单价*数量的结果了。

所以我说数组函数是函数的升级版,SUM函数变成了数组函数,自然功能就升级了。

其实EXCEL已经为我们提供了一些常用的数组函数,比如这个求全年销售额的问题,直接就可以用SUMPRODUCT函数,他的作用是返回数组和数组的乘积。我觉得微软也知道,这类单价数量求和的情况在各大企业中还是很普遍的,所以就做了这么一个函数了。

不过你如果不知道这个函数,但是直到数组也能做到同样的效果,另外,数组函数的应用可不仅仅在这个单价数量求和的问题上,他还有更多的应用

一切皆可为数组

我这里所说的一切是指几乎所有EXCEL的函数都能成为数组函数,原本只返回一个结果的函数是可以返回多个结果的。

那还是用一个有意思的例子来说明吧。

首先大家了解下一下ROW函数,ROW即为行的意思,所有ROW函数返回当前单元格的行号,比如ROW(B2),就返回数字2,代表了B2单元格在第二行。那如果我把B2换成A1:A10会是一个什么结果呢?大家可以试下,如果ROW(A1:A10)直接按下回车,返回数字1,之前说过多个结果,就返回第一个结果,用F9验证下结果,你会发现结果其实是数字1-10的一个数组

对此,我想到了一个有趣的事情,就是让EXCEL做1-100的求和,大家想想如果这个让你来做你会用什么方法?我利用ROW数组函数的特性,然后在进行求和,自然公式就是=SUM(ROW(A1:A100)),当然一定要记得依次分别按住CTRL SHIFT ENTER,总之要让公式出现花括号,那么就是一个数组函数了。

好了公式的结果自然就是5050,很经典的数学题。利用这个,我就可以对指定的两个数之间的所有数字进行求和了,比如100-200。

数组函数大概就演示这样了,实际上,数组函数应用最多的实在逻辑比较上,这些逻辑比较能够解决很多稀奇古怪甚至变态的问题,这些内容我们下一次再讨论。

搜索更多有关“Excel知识大全:EXCEL经验分享,十一”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版