数组函数入门讲座之一

1 、 数组公式的实现方法:

在论坛中常可以看到许多在头尾带有“ {} ”的公式,有些朋友把这些公式直接复制粘贴到单元格中,但没有出现正确的结果, 这是为什么呢?

其实这些都是数组公式,数组公式的输入方法是将公式输入后,不要直接按回车键( Enter ),而是要同时按 Ctrl+Shift+Enter ,这时电脑自动会为你添加“ {} ”的。

在论坛上,为了告诉大家这是数组公式,故在公式的头尾都加上了“ {} ”。如果不小心按回车了,可以用鼠标点一下编辑栏中的公式,再按 Ctrl+Shift+Enter 。

2 、数组公式的原理(自编):

数组公式,说白了就是同时对一组或几组数同时处理,然后得到需要的答案。运用数组公式的最重要的原理是数于数之间一一对应

下面举一列说明一下(例1):

A1:A10 有下列一排数:

32

14

34

25

36

21

33

12

12

16

第一问: 求大于 20 的数的和(此题亦可用 SUMIF 函数来处理,这里为的是讲清数组公式的原理)。

答案为: 181 ,公式为 {=SUM(IF(A1:A11>20,A1:A11))} , EXCEL 处理的原理:

首先由 IF 函数进行判断,一一对应,如果大于 20 ,则为本身,否则为 FALSE 。经过 IF 函数的处理,原来的 A1:A10 处理后变成:

32

FALSE

34

25

36

21

33

FALSE

FALSE

FALSE

然后用 SUM 函数进行求和, SUM 函数忽略文本。

第二问: 求大于 20 的数的个数(此题亦可用 COUNTIF 函数来处理,这里为的是讲清数组公式的原理)。

答案为: 6 ,公式为 {=SUM(IF(A1:A11>20,1))} , EXCEL 处理的原理:

首先由 IF 函数进行判断,如果大于 20 ,则为 1 ,否则为 FALSE 。经过 IF 函数的处理,原来的 A1:A10 处理后变成:

1

FALSE

1

1

1

1

1

FALSE

FALSE

FALSE

然后用 SUM 函数进行求和 , 亦可用 COUNT 函数进行计数。

第三问: 求大于 20 的数的个数减去小于等于 20 的数的个数的值。

答案为: 1 ,公式为 {=SUM(IF(A1:A11>20,1,-1))} , EXCEL 处理的原理:

首先由 IF 函数进行判断,如果大于 20 ,则为 1 ,否则为 -1 。经过 IF 函数的处理,原来的 A1:A10 处理后变成:

1

-1

1

1

1

1

1

-1

-1

-1

然后用 SUM 函数进行求和。

 

数组函数入门讲座之二(上)

10月23日给大家出了三道题,其实就题目的难度来说,如果既会用函数,又懂些数组公式使用的话,那么我想这些题目应该都能解决的。下面通过对这几道题目的分析,来讲讲数组公式的运用。

第一题:求1到1000的和。1+2+3+4+...+997+998+999+1000=?

这题,思路非常简单,就是如何生成一个1到1000这样子的数组,然后全部加起来。所以,如果要用数组公式的话,你就得先问自己,到底需要一个怎样的数组才能达到目的。那么,接下来,就要考虑,通过什么函数,才能达到这个目的。就这题来说,就会使用ROW()函数,一个取得引用行号的函数,=ROW(1:1000),通过这个函数就能生成这样一个数组{1;2;3;…;998;999;1000},然后用SUM()进行求和,就得到答案了。额外提醒大家的是,通过SUM()这个函数,出来的结果就是一个值,不会是数组的。(COLUMN()函数也可以,这里就不讲了)。

答案:{=SUM(ROW(1:1000))}(CHENJUN兄另一种使用INDIRECT()的做法,是为了避免行范围有行删除、插入,这是在实际使用中出现问题地解决办法,这次暂不讨论{=SUM(ROW(INDIRECT("1:1000")))})。

第二题:求在1到1000中,是7的倍数的数的和,包括7在内。7+14+21+28+...=?

这题,是在上题的基础上,演变而来的,也就是一个数组的处理的问题。既然得到了1到1000这样子的数组,那么如何得到7的倍数的数的数组?方法很多,下面一一讲解:用的最多的方法是:

{=SUM(ROW(1:1000)*(MOD(ROW(1:1000),7)=0))}

因为是求和,把不符合条件的数字,变成0,然后求和,就可以了,EXCEL是如何处理的,请看看数组讲座一。把公式写的标准化一些:

{=SUM(IF(MOD(ROW(1:1000),7)=0,ROW(1:1000),0))}

其中,MOD(ROW(1:1000),7)是对ROW(1:1000)生成的数组

{1;2;3;…;998;999;1000}的再处理,再生成的数组,从表面上来看新生成的数组{1;1;1;1;1;1;0;…;1;1;1},一点用都没有,但实际上包含了

{1;2;3;…;998;999;1000}能不能被7整除的信息,即如果是1,那么对应的这个数不能被7整除,而如果是0的话,能被7整除,这样

IF(MOD(ROW(1:1000),7)=0,ROW(1:1000),0)再次生成一个我们都想要得数组,那就是{0;0;0;0;0;0;7;0;0;0;0;0;0;14;……;0;0;0},这样在用SUM()就能得到索要的答案了。

从上面可以看出,在数组公式中,如果有IF()参与,条件是数组公式,对或错有一个是数组,或都是数组的话,需要一一对应。这例中,对是数组,他就和条件一一对应,才会产生{0;0;0;0;0;0;7;0;0;0;0;0;0;14;……;0;0;0}的结果。

其他的方法:

{=SUM(IF(ROW(1:200)*7<1000,ROW(1:200)*7,0))}

思路:直接生成一个7倍数的数组,然后做一个<1000的判断,再求和。

{=SUM(TRUNC(WEEKDAY(ROW(1:1000))/7)*ROW(1:1000))}

思路:使用WEEKDAY()将数组转化为一个以{1;2;3;4;5;6;7}作为轮回的数组,正好和7的倍数相呼应(当然如果用

{=SUM(IF(WEEKDAY(ROW(1:1000))=7, ROW(1:1000),0))}也是可以的)。然后除以7后,再TRUNC()后,变成{0;0;0;0;0;0;1;…;0;0;0}这样的数组,然后和{1;2;3;4;5;6;7;…;998;999;1000}相乘,得出结果。

这里,需指明的是,我在用WEEKDAY()的时候,忽略了一个参数,那是默认值,星期一是1,以此类推;而TRUNC()也忽略了一个参数,默认值为0,即取整。

所以,思路从某种程度上讲,决定公式的使用方法,有些人排出来的公式很复杂,有些人很简单,就是这个道理。大家在平时学用公式的时候,不仅要学习函数的使用方法,更主要的是要学习思路,不要只求结果,不求过程。

最后一题,我想详细分析一下,加上最近有点忙,准备放在下周末,请大家谅解。

百度:excel 数组、EXCEL数组函数入门讲座

excel 数组函数入门讲座相关推荐

  1. Excel RTD函数入门

    从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数,他是一种Push-Pull的方式,及在需要更新数据的时候,RTD给Excel ...

  2. c语言中数组名可以与其他变量名相同,C语言初学者入门讲座 第九讲 数组(1)...

    C语言初学者入门讲座 第九讲 数组(1) (2007-01-17 11:39:19) 数组在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为 ...

  3. Excel数据分析从入门到精通(六)函数进阶-52个Excel函数之关联匹配函数

    Excel数据分析从入门到精通(六)函数进阶-52个Excel函数之关联匹配函数 1.关联匹配函数VLOOKUP 函数含义 函数使用 2.关联匹配函数-hlookup 函数含义 函数使用 3.关联匹配 ...

  4. xcode新版本single view_动态数组函数系列1|概况-跟以往Excel版本完全不一样玩法的函数...

    早就听说在Office2019和Office365版本中增加了动态数组函数(Dynamic arrays),早前一直处于内测阶段,只对部分预览用户开放.昨天试了一下,我用的版本已经更新可用了.当前我使 ...

  5. javascript二维数组转置_精通Excel数组公式010:认识数组函数:TRANSPOSE、MODE.MULT和TREND...

    学习Excel技术,关注微信公众号: excelperfect 数组函数是可以提供多个值的Excel内置函数.下面列出了8个Excel内置的数组函数: TRANSPOSE函数 MODE.MULT函数( ...

  6. Excel中的数组函数

    快捷键 ・光标进入当前单元格, Ctrl + Shift + Enter,可以给数组函数加上花括号 } (选中当前单元格, 光标进入Excel上面的[公式栏], Ctrl + Shift + Ente ...

  7. Excel数据分析从入门到精通(三)函数进阶-52个Excel函数之清洗类函数

    Excel数据分析从入门到精通(三)函数进阶-52个Excel函数 1.清洗类函数-left 函数含义 函数使用 2.清洗类函数-right 函数含义 函数使用 3.清洗类函数-MID 函数含义 函数 ...

  8. bili—Excel零基础入门进阶到函数

    Excel零基础入门进阶到函数 1. excel入门 2. 表格设计&自动加总函数 3.冻结表格栏&拆分视窗 4. 资料排序 5. 数据筛选 1. excel入门 每个单元格都有自己的 ...

  9. Excel数据分析从入门到精通(五)函数进阶-52个Excel函数之逻辑类函数

    Excel数据分析从入门到精通(五)函数进阶-52个Excel函数之逻辑类函数 1.逻辑类函数-if 函数含义 函数使用 2.逻辑类函数-AND 函数含义 函数使用 3.逻辑类函数-OR 函数含义 函 ...

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

    Excel中函数.公式大家都非常熟了,但"数组公式"你是否听过.用过?什么是数组公式呢?根据微软官方给出的解释, 数组公式:数组公式对一组或多组值执行多重计算,并返回一个或多个结果 ...

最新文章

  1. 学习 spring-boot (一)
  2. 学IT技术几个好的网站
  3. 【学术相关】西湖大学教授:都说不唯论文,那我们发表论文是为了什么?
  4. BT5 设置Ubuntu主题和字体
  5. IE 10的新HTML​解析规则​
  6. [转载] 什么是Java中的自动拆装箱 integer
  7. setState的异步,同步以及合并
  8. c语言 整数转二进制取位,C语言位运算--将整数转换成二进制串以及反转整数后N位...
  9. MongoDB Array Query Operators
  10. c++编写手机小游戏代码_手机也能编程?盘点这6个可以用手机编程的App!快收藏!...
  11. jira7.3.6添加导出excel的按钮
  12. 人工智能如何改变人类生活
  13. MongoDB之学习【一】:初识Mongo,路远道长,绵绵不绝
  14. 恢复Cisco 2960交换机密码
  15. java-net-php-python-jspm智守护学生健康管理系统软件设计与开发计算机毕业设计程序
  16. Hibernate查询Query By Criterial
  17. flutter基础 dart语言学习笔记
  18. python3.6+PyQt5安装
  19. 阿里珍贵技术资料免费下载
  20. 电力系统| IEEE论文投稿流程

热门文章

  1. MFC入门到精通1-创建项目
  2. android笔画输入法的字库,献给爱好笔画输入的机友们 速度才是王道之大众码新笔画输入法...
  3. JPush极光推送的原理
  4. 树莓派:Adafruit的I2C SSD1306 OLED驱动
  5. UReport2初体验
  6. JAVA映射文件到内存,java之内存映射文件
  7. 如何Ping特定端口号
  8. docker: 使用nginx容器运行html静态网页以及制作镜像
  9. vs2010和matlab混合编程,VS2010与Matlab2010b混合编程
  10. 赛尔号通信数据的逆向分析与还原(思路篇)