分享

一起来数组入个门?

 Excel办公实战 2021-06-29
数组,函数进阶门槛,但是对于很多人是很难跨的一道坎。想写数组很久了,虽然自己已轻车熟路,但是让别人听懂却不是一件容易的事,今日路上偶有一感,或许能带大家一起入个门!

先抛开那些无聊的概念,我们直接通过一个大家经常看到的去重计数这个案例来一步一步带大家了解数组!

案例说明:统计有几个人?

这个案例相比大家经常看到,再眼熟不过,我们就从他来聊聊数组吧!

分析这个公式,可以带大家学习很多数组知识!

普通的COUNTIF函数


先不考虑SUM(1/)部分单独说COUNTIF部分

以下是统计王五出现几次的公式,大家肯定都能看懂!


这个和我们上面的COUNTIF有什么不同?第二参数!
第二参数由一个单元格变成了多个!对就是这点,这样很多人就看不懂了

所以下面我们来给大家拆分一下:

依次统计每个单元格中姓名出现的次数,这个大家肯定也能看懂!


然后我们看一下  COUNTIF(A2:A10,A2:A10)


发现了什么,COUNTIF(A2:A10,A2:A10)的结果和我们依次统计的结果一样!

其实 COUNTIF(A2:A10,A2:A10)相当于在内存中依次完成了我们9个普通公式的工作,只是他在内存中操作,我们看不到,所以大家才觉得难以理解!

我们把SUM加进来,完成这个案例的分析

公式:=1/COUNTIF(A2:A10,A2:A10)


王五出现了三次,那么就是变成三个1/3 ,如何我们把三个1/3相加或者求和
肯定是1,如此就实现了去重的功能!





其实数组并不难,问题是大家习惯了普通公式的思考模式,一时难以突破这种思维方式!

现在我们可以来说说相关的一些东西了!把大家之前的相关问题,一起来一套Q&A

下面的文字内容比较多,对数组特别感兴趣的同学可以看看!

写在前面,Excel属于实操技能,学习中追求理论的人并不多,且官方对很多目前大家常见的叫法并无定义和解释,所以,我们可以合适的基础上大胆“推测”,慢慢求证,“路漫漫其修远兮”~~

Q1:我刚学习Excel公式,经常听说“三键”录入,具体是什么,怎么用?

A:“三键”是Exceler们平时对数组公式录入方式的一种简洁的叫法。这三个键分别是Ctrl、ShiftEnter(回车),一般表示方式为Ctrl+Shift+Enter,很多时候也会进一步简写成:“CSE”,要能看懂!但是365中加入动态数组扩展,三键可能会成为历史!在结尾补充相关365数组问题!

具体怎么用? 比如我们上面的=SUM(1/COUNTIF(A2:A10,A2:A10)) 这个公式,我们先鼠标点击进去公式,然后左手按住Ctrl和Shift,右手按下Enter(回车),判断是否成功录入,主要看两遍是否有“{}”,“{}”为正确录入自动添加,非手动添加
很多新手初见数组公式,都以为“{}”是自己手工添加的,然后自己也做了,却始终得不到结果!

Q2:天天听说数组公式,但是到底什么才是数组公式?

A:什么是数组公式?10年前一群大佬有讨论过,不过并无定论。小编根据经验及目前相关资料说一下!

数组相关的称呼很多,有的界限都很模糊,比如我们日常说的“数组”和“数组公式”,可能都指的是同一个东西,但是他们是不同的!

数组公式:本质只是区别普通公式的一个称呼,其核心是多重计算,不可使用三键(cse)来判断一个公式是否是数组公式,按下三键只是告诉电脑,“老子要进行多重计算”,仅此而已!大家最熟悉的SUMPRODUCT是数组公式,但是无需三键!“{}”也只是数组公式的一种标识而已。


Q3:有时候还听到高手说什么"区域数组公式",“内存数组”,“常量数组”,“命名数组”等等,能简单说一下吗?

首先这个概念,目前官方是没有定义的,但是实际确实大家都这么叫,也很少有人去纠结定义,好像大家都心领神会,“对的,说的就是那个”,差不多实际就是这样!所以小编尝试这个给大家说一下,有什么欠缺的地方,欢迎交流和补充!

区域数组公式:选定区域,按下三键,区域中的多个单元格完全一致,也就是一个公式,所以有的时候说区域数组公式要比普通公式更快,一次计算完成,区域数组大部分时候利用的是交叉引用说得出结果!

内存数组:之前大家讨论过,更多的是“在内存中”-废话!能够作为一个整体直接参与下一步计算(这个是他最大的特征)

常量数组:使用比较多,我们前面教程也多次提到过。一般使用一对大括号+内容的方式,
比如:
{1,2,3} 表示一个水平数组,一行三列。
{1;2;3} 表示一个垂直数组,三行一列。

上面的都是一维的常量数组!

逗号表示水平 横向 列,分号表示垂直 纵向 行

以上这点对于数组的构建非常重要,尤其对于MMULT这类函数和进阶数组公式!

动画演示:F9得到计算结果!


常量数组除了一维的,常用的还是二维的,同时常量数组最多二维!

二维数组的写法是先行后列,如果你先分号后逗号,是会报错的!

下面是一个三行两列的二维数组,2个分号+1 就是3行,1个逗号+1 就是两列!


命名数组:一般听的不多,应该是部分人的叫法,只是把常量数组通过定义名称使用!

比如:


这里正好补充一下365中的扩展数组,图中第一季度能显示出来且也没有大括号,而且大家可以看到一个边框线,这个就是365中的数组扩展了,在一个单元格输入数组,他会根据数组的大小,自动已公式录入单元格为起点进行行列扩展!无需三键!

数组其实只是那层“窗户纸”,捅破了进来的人,感觉不过尔尔,但是问题在捅破需要花费点时间去理解和使用!

今天就到这里,希望能给大家学习带来一起启发! 

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多