Excel数组公式从入门到精通之入门篇

简介:
        Excel中函数、公式大家都非常熟了,但“数组公式”你是否听过、用过?什么是数组公式呢?根据微软官方给出的解释, 数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果。
         一、什么是数组公式?
        直接看微软的解释,也许并不是很容易理解,根据个人的理解,让其更直白一点,可以这样简单理解, 引用了数组(可以是一个或多个数值,或是一组或多组数值),并在编辑栏可以看到以“{}”括起来的公式就是数组公式。而数组公式的作用就是对一组(单个数据可以看成是一组)、多组数据进行处理,然后得到想要的结果。
         二、如何输入数组公式
        既然数组公式是以“{}”括起来的,那是不是在编辑栏在公式的两端分别输入“{}”就可以了呢?答案是否定的,在Excel中要输入数组公式,必须以特定的方法来输入,算是告诉Excel,我们这里输入的是数组公式。
        在某个单元格输入数组公式的方法如下:
         1.在编辑栏输入完整的公式,并使编辑栏仍处在编辑状态;
         2.按下Ctrl+Shift+Enter快捷键
        经过以上两步操作以后,编辑栏会自动脱离编辑状态,并且选中单元格后,在编辑栏可以看到公式的两端有“{}”符号标记,而双击进入公式的编辑状态时,你会发现“{}”符号是不存在的。
         三、数组公式有什么用?
        这里做了一个类似微软官网上的例子,这里详细说明一下用法及好处。
        以上面图片中的内容为例,假设我一共买了三支股票,其股份及买入价格分别如图中所示,现在我要计算我的总股本。
        正常情况下我应该如何做?在B4输入“=B2*B3”,然后填充至D4单元格,这样B4、C4、D4就分别是每一支股票的股本了,然后在B5单元格再输入“=SUM(B4:D4)”,这样总股本就出来了。
        上面的计算过程可以说一点问题没有,也绝对正确。但是试想一下,如果类似的数据有很多,如果不是计算我自己买的几支股票而是其他类似情况的数据处理的时候,采用上面的方法时,其工作量可想而知了。
        我们再回到第一幅图中的公式“{=SUM(B2:D2*B3*D3}”,此公式便是一个典型的数组公式的应用,此公式的作用就是计算B2*B3、C2*C3以及D2*D3的和。而B2:D2*B3*D3便是一个数组,其中包含三个元素,各元素的值就分别是各项的乘积。
        为了更好的验证数组说法,分别在B4、C4、D4单元格中分别输入=B2*B3、=C2*C3、=D2*D3,B7、C7、D7单元格中全部输入=B2:D2*B3:D3,结果如下图所示。
        从上面的图中可以看到,第4行和第7行的计算结果是一样的,这就是数组的效果,数组会根据当前单元格所在位置自动取数组中对应序列的数值,如果将“=B2:D2*B3:D3”算式输入到其他的列中(非B、C、D列),这时你会看到“#VALUE!”的错误数值结果,因为在其他列时,Excel无法判断该取数组中的哪一个数值。
        如果将第7行中的算式外面加上SUM,你会发现结果仍然一样,因为默认情况下,数组算式只取对应序列的值,再加上SUM也只是对应的值,如果使用数组公式,便是告诉Excel计算数组中所有数值的和,也就是单元格B5中的结果。
         三、数组公式应用进阶
        数组公式最典型的应用应该是使用SUM替代SUMIF,虽然SUMIF很好用,但在Office 2007之前,也就是SUMIFS函数出现之前,如果想利用SUMIF进行一次多重条件判断的求和计算是很难实现的。
        为了更便于理解,这里再用上面的例子进行一个比较简单的运算,上面只是列出了三支股票,如果我同时购买了多支股票,现在想知道这些股票当中,股价小于5元的股票有几支(这一功能可以使用Countif函数来实现,这里为了让数组公式更便于理解,所以使用SUM、IF相结合的数组公式来实现。
        在B10单元格输入公式“=SUM(IF(B3:D3<5,1))”,按钮按下Ctrl+Shift+Enter组合键,使公式变成数组公式“{=SUM(IF(B3:D3<5,1))}”。
        从上图中可以看到,计算结果为2,计算正确。如果对此怀疑,可以扩大数据区域,从而更容易理解。
        下面说一下公式的整个运算过程。
        1.IF(B3:D3<5,1),计算B3:D3区域内数值小于5的个数,因为使用IF判断,数值小于5时,取值1,所以该公式计算的结果是1,false,1,然后SUM进行数组求和也就是1+false+1,所以结果为2。SUM在求值时会自动忽略False,我们也可以把False直接当作0来处理。或者将公式改成IF(B3:D3<5,1,0),这样计算的结果就是1,0,1了。
        如果要统计股价低于5的股价和要怎么办呢?将上述公司修改成“{=SUM(IF(B3:D3<5,B3:D5))}”即可,因为数组公式是一一对应的,也就是说IF条件满足时就取对应的数值,所以此公式的计算结果为4.04,false,4.43,最后的结果是4.04+false+4.43=8.47。
 
        不知道看完了上面这些,大家对数组公式是否有所了解了,更进阶的应用,且听下回分解。






     本文转自windyli 51CTO博客,原文链接:http://blog.51cto.com/windyli/306009,如需转载请自行联系原作者


相关文章
|
21天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
64 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
数据处理
Excel公式的高级应用
【10月更文挑战第20天】Excel公式的高级应用
38 4
|
3月前
|
存储 Java
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
50 2
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
用ChatGPT生成Excel公式,太方便了
用ChatGPT生成Excel公式,太方便了
|
4月前
Excel - 公式
Excel - 公式
29 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
再记公式太累了!用ChatGPT处理Excel问题,效率飞升
再记公式太累了!用ChatGPT处理Excel问题,效率飞升
54 0
再记公式太累了!用ChatGPT处理Excel问题,效率飞升
|
6月前
|
数据格式 Windows
必知的技术知识:Excel公式SWITCH函数你用过吗?多种查找函数介绍
必知的技术知识:Excel公式SWITCH函数你用过吗?多种查找函数介绍
89 0
|
7月前
|
Java Apache 索引
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
POI操作大全(动态合并单元格,为单元格生成一个自定义的数据显示格式,自定义公式计算结果生成,读取excel,word文件在生成图片,word指定位置生成图片)
970 0
|
2月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
4月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
46 0