当前位置:首页 > 科技

【excel数组怎么显示】穿越Excel升级之路连载5:阵列的理想照片进入现实

和我一起穿越时间!

回顾前面走的Excel升级之路,前面四期的内容主要是Excel的数据和运算,这是所有应用的基础,很多人总觉得这些没用,所以他们直接拿出公式解决实际场景中的实际问题,告诉我们这个公式应该这样写,但也不会说为什么这样写,也不会根据我们的实际情况怎么重写,而是通过一次时间。

没见过可以点击前面连载的头像或链接阅读的。

穿越Excel升级路径连载1: office 2010安装经验和个性设置

穿越EXCEL升级奠定了连载2: Excel 2010的数据类型基础。

穿越Excel升级连载三:数据类型检测和相互转换技术

穿越Excel升级路径连载4:精通公式计算规则和字符比较

“理想是打石头,敲星星的火。理想是打开灯,熄灭的灯。理想是灯,照亮夜路。以上是指引你走向黎明道路的道路。”在当代诗人刘沙创作的现代诗《理想》的美丽背景下,我们开始接触Excel的高级用法——数组,通往excel升级的连载5:数组的理想被现实照亮。

首先,什么是数组?

前面提到的都是Excel的数据或数字,“数组”可以说是新名词,但不难理解。

有大学数学基础或其他编程语言基础的人应该熟悉“排列”的概念。如果不知道也没关系。我们从数据量或维度的角度开始。(大卫亚设)。

首先,从电影、电视剧、文学作品等数学、物理学、天文学也可以找到类似的概念。

你看过矩阵树日志或最新的《黑客帝国矩阵重启(The Matrix Resurrections)》吗?

你读过刘慈欣的科幻小说《三体》吗?在多个宇宙中探索过二向箔等次元打击武器吗?

在这些内容中,Matrix、双向等是数量或维度的概念,不同领域有差异,但总体兼容性可以通过类比下表来概括。

因此,可以认为数组是一组数字。

单一数目(例如点)可以被视为仅包含一个元素的特殊阵列。

行或列(如直线)的数量是一维数组。

由行和列(如平面)组成的多个数是二维数组。

二、数组的分类和表示

Excel涵盖三个主要数组:常量数组、区域数组和内存数组。

首先要记住的是Excel执行数组运算的快捷键Ctrl Shift Enter。请拿着这把上访宝剑,了解各种排列的基本规则。(大卫亚设)。

1、常量数组。

(1)显示

常量数组用花括号{}表示。大括号内的内容是数组的元素。

示例:{1,2,3,4,5}和{ 1;2;3;4;5}分别代表一维水平常量数组和一维垂直数组。

逗号表示水平或行,分号表示垂直或列。

如果逗号和分号都存在,则此常量数组是由行和列组成的二维数组。

常量数组可以包含多种类型的数据,包括文本字符数据、数字数据、逻辑数据、错误值等,单个数据可以重复。

(2)生成一维阵列

通过={a,b,c}或={ a;b;C}可以生成一维水平数组或一维垂直数组。

在Excel中,必须首先选择数组所在的单元格区域(例如A1: E1),然后在编辑栏中输入={1,2,3,4,5}。通过按Ctrl Shift Enter键,可以在单元格a1至E1中快速输入一维数组常量。

现在,整个A1:E1是一个区域阵列。

8"/>

可以看到,当按下Ctrl+ShIFt+Enter键之后,A1到E1单元格中会出现常量数组中的各个元素。此时,编辑栏中的公式={1,2,3,4,5}外面会多出一层大括号:{={1,2,3,4,5}},这就是Ctrl+Shift+Enter执行数组运算的意思。

这里我们就要问了,为什么要提前选好区域?

如果选错或不选会发生什么?

如果选择的区域小,容纳不下数组里的各元素,那么Excel单元格会显示不全;

如果选择的区域大,超过数组里的元素,超出的单元格中会显示#N/A

以上是最简单的结论,实际需要考虑所选区域的行、列同常量数组的关系,涉及数组的运算,这一部分这里不展开。

(3)二维数组的生成

当然,通过逗号和分号组合,可以在Excel单元格中快速输入二维常量数组,如

={"穿越时间",2,2,4;TRUE,5,6,7}按Ctrl+Shift+Enter执行数组运算。

当然我们需要提前选择好一致的单元格:两行四列。

这个例子可以说明数组中可以包括各种类型的数据,而且支持重复值。

2、区域数组

Excel中的单元格区域也可以视为数组,这就是区域数组的由来。

需要注意的是,对于区域数组,如果要更改数据,需要通过编辑栏修改公式,然后按Ctrl+Shift+Enter执行数组运算;

我们不能直接点击其中某一个单元格来更改内容,如果非要这样做,Excel会提示错误:“不能更改数组的某一部分”。

3、内存数组

内存数组是什么?我们可以把Excel公式在数组计算过程中产生的数组视为内存数组,它只是储存在电脑的内存里,并不显示在单元格中。

内存数组可以作为函数的参数,让函数依据内存数组中的多个元素执行多次运算返回多个结果,与程序设计语言中的循环结构有异曲同工之妙。

在本文的最后我将对它进行解释。

三、数组的运算

同单个数据可以进行计算一样,数组也是可以执行计算的,这种计算包括算术运算、逻辑运算等Excel中支持的运算。(可以详见之前的连载4

我们先以常量数组为例,通过常量数组的算术运算切入,体会一下数组的运算方法。

然后再结合Excel中的函数进行数组运算。

1、常量数组的运算

(1)单值与一维数组或二维数组运算

运算方法:无论数组是一维横向数组、一维纵向数组还是二维数组,都遵循单值与数组中每一个元素分别运算并返回结果。

例如公式=5*{1,2,3,4,5}

计算5*1,5*2,5*3,5*4,5*5

={5,10,15,20,25}

例如公式="穿越"&{"AA","BB","CC";"DD","EE","FF"}

计算"穿越"&"AA","穿越"&"BB","穿越"&"CC";"穿越"&"DD","穿越"&"EE","穿越"&"FF"

={"穿越AA","穿越BB","穿越CC";"穿越DD","穿越EE","穿越FF"}

(2)同向 一维数组与一维数组运算

同向同规格时,数组对应位置上的元素分别运算并得出结果

例如公式={1;2;3}*{4;5;6}

计算1*4;2*5;3*6

={4;10;18}

这里需要注意一下,同向一维数组运算的时候会出现两个数组元素个数不同的情况(即同向不同规格),数组元素个数不一样也不要紧,这时,可以把短的那个数组以#N/A补齐,然后继续遵循数组对应位置上的元素分别运算并得出结果。

例如:

公式={1;2;3}*{4;5;6;7},第一个数组元素个数比第二个数组少一个,我们可以将第一个数组视为{1;2;3;#N/A},然后和{4;5;6;7}运算。

公式={1;2;3}*{4;5;6;7}

计算1*4;2*5;3*6;#N/A*7

={4;10;18;#N/A}

(3)异向 一维数组与一维数组 运算

异向一维数组运算,数组1中的每个元素分别和数组2中的每个元素运算,得到新的二维数组,其元素个数为两个一维数组的行数*列数。

={1,2,3,4}*{5;6;7}

计算1*5,2*5,3*5,4*5; 1*6,2*6,3*6,4*6; 1*7,2*7,3*7,4*7

={5,10,15,20;6,12,18,24;7,14,21,28}

={"穿越","时间","丽云","流金"}&{"CY";"SJ";"LY";"LJ"}的结果如下:

如果想知道的更多,

以下是一维数组和二维数组的运算,二维数组和二维数组的运算,在Excel后面的函数应用中比较少涉及。我们了解一下:

(4)一维数组和二维数组运算

取决于一维数组的方向!

如果是一维横向数组,则一维横向数组中的每个元素和二维数组中每一行的元素运算;尺寸不同时用#N/A补齐。

例如:

={1,2,3}*{4,5,6;7,8,9}的结果如下:

例如:

={1,2,3,4}*{4,5,6;7,8,9}的结果如下:

例如:

={1,2,3}*{4,5,6,6;7,8,9,9}的结果如下:

如果是一维纵向数组,则一维纵向数组中的每个元素和二维数组中每一列的元素运算;尺寸不同时用#N/A补齐。

={1;2}*{4,5,6;7,8,9}的结果如下:

={1;2;3}*{4,5,6;7,8,9}的结果如下:

={1;2}*{4,5,6;7,8,9;10,11,12}的结果如下:

(5)二维数组和二维数组运算

遵循对应位置对应运算即可,尺寸不足的地方用#N/A补齐。

例如:

={1,2;3,4}*{4,5,6;7,8,9;10,11,12}的结果如下:

2、区域数组的运算

通过上一部分的内容,我们对数组如何运算应该有了清楚的了解。

在Excel中,区域数组的运算要比常量数组更加简洁,把上面例子中的常量数组替换为区域数组即可,而区域数组就是单元格引用,当然,需要按Ctrl+Shift+Enter键执行数组运算。

(1)最简单的例子:

={1;2;3}*{4;5;6}的结果和=A1:A3*C1:C3的结果是一样的。

我们在Excel中选好存放结果的单元格,使用公式=A1:A3*C1:C3

按Ctrl+Shift+Enter键即可执行数组运算。

在这一过程中,Excel会把A1:A3和C1:C3都当作区域数组。而计算的规则就是上面所讲过的。

(2)函数中的区域数组

数组可以作为函数的参数。

下面,我们以最简单的SUM函数为例,看看SUM函数与区域数组的简单结合。

SUM函数可以用来计算单元格区域中所有数值的和,单元格中的逻辑值和文本将被忽略,但是当作为参数键入时,逻辑值和文本有效。

以上是Excel中对SUM函数的解释,但实际的情况是这样:

SUM函数可以用来计算给定参数(参数以逗号分隔)中数字的和,给定参数可以是区域、单元格引用、数组、常量或其他公式和函数的结果;

如果参数不是数组或引用,那么参数中的逻辑值或文本型数字有效;

如果参数是一个数组或引用,则只计算其中的数值型数字。数组或引用中的空白单元格、逻辑值、文本型数字将被忽略。

如果任意参数为错误值或为不能转换为数字的文本,Excel 将会显示错误。

看几个单参数的sum函数公式:

=SUM(A1:E1)

这是最简单最容易理解的求和公式,按下Enter键后,sum函数会计算A1:E1中5个数的和。

采用数组=SUM({1,2,3,4,5})或者=sum(A1:E1) 按下Ctrl+Shift+Enter键后,结果同样是15

这里没有什么难度,可以得出一个结论,sum函数遇到一个参数,且这个参数是数组的时候,会把数组中所有的元素求和。

继续:

=SUM(A1:G1)

按下Enter键后,sum函数会计算A1:G1区域的和,注意数组或引用中的空白单元格、逻辑值、文本型数字将被忽略,结果为15

=SUM({1,2,3,4,5,TRUE,"6"}) 或=SUM(A1:G1)

按下Ctrl+Shift+Enter键后,注意数组或引用中的空白单元格、逻辑值、文本型数字将被忽略,结果同样是15

继续:

看几个多参数的sum函数公式:

=SUM(1,2,3,4,5,TRUE,"6")

按下Enter键后,结果为22,此时符合如果参数不是数组或引用,那么参数中的逻辑值或文本型数字有效,逻辑型TRUE被当作1,文本型"6"被当作6,实际相当于是1+2+3+4+5+1+6=22

下面,如果sum函数公式中有多个数组参数会发生什么?

=SUM({1,0},{5,6,7}) 或=SUM(A1:B1,A3:C3) 按下Ctrl+Shift+Enter键后的结果为19

={1,0}+{5,6,7} 或=A1:B1+A3:C3按下Ctrl+Shift+Enter键后的结果为数组{6,6,#N/A}

虽然看起来都像是求两个数组的和,但实际是:

={1,0}+{5,6,7}是求两个数组的和,结果是数组;

=SUM({1,0},{5,6,7})计算的并不是数组{1,0}、 {5,6,7}求和得到新数组,然后再求新数组各元素的和,Sum函数计算的就是两个数组各个元素的和,1+0+5+6+7=19

有人就会好奇了,=SUM({1,0},{5,6,7}) 或=SUM(A1:B1,A3:C3)是两个参数的写法,不能实现数组{1,0}、{5,6,7}求和得到新数组,然后再求新数组各元素的和,那如果改成采用一个参数的写法行不行呢?

然而=sum({1,0}+{5,6,7}) 或者=sum(A1:B1+A3:C3)的写法会出错#N/A

为什么?

这次sum函数确实是会实现数组{1,0}、{5,6,7}求和得到新数组{6,6,#N/A},然后再运算求sum({6,6,#N/A})时便会出错。

相当于是两个数组执行求和运算之后生成了一个新数组(内存数组),然后sum函数对新数组中的各个元素求和,而#N/A又不能够参与求和运算,所以出错。(符合如果任意参数为错误值或为不能转换为数字的文本,Excel 将会显示错误。

这就是尺寸的问题,因为两个参数中的数组{1,0}、 {5,6,7}尺寸不同,所以会出错。

假如两个数组的尺寸相同,这种写法便是可以的。

例如=SUM({1,0,0}+{5,6,7}),这时按下Ctrl+Shift+Enter键后,计算过程=sum({6,6,7})=6+6+7=19

这下我们应该明白函数与数组结合,单参数、多参数是怎么回事了,也应该明白sum函数在什么情况下会忽略逻辑值和文本型数字了。

最后做个练习:

=SUM(A1:E1*{1,2,3,4,5}=25)它表示什么意思?执行数组运算后的结果是什么?

解析:

单参数写法;

先计算区域数组A1:E1和常量数组{1,2,3,4,5}的乘积,产生新数组,然后计算新数组和25的逻辑判断运算,再产生新数组,最后再求和。

=SUM(A1:E1*{1,2,3,4,5}=25) 按下Ctrl+Shift+Enter键计算后结果为0

你算对了吗?

计算过程:原公式

3、内存数组的运算

上面的例子已经可以很好地说明内存数组的存在了。

看到这里,你的大脑内存还够用吗?是否需要清一下内存再继续?

最后通过两个函数:IF函数和CHOOSE函数,讲一下内存数组的构建。

(1)IF函数方法

IF(logical_test, [value_if_true], [value_if_false])

IF(条件,条件为真时返回的值,条件为假时返回的值)

通过IF函数结合数组{1,0}或{0,1},我们可以让IF函数返回数组,实现Excel引用区域的调整。

例如:

=IF({1,0},A1:A11,C1:C11)

原本燕京十景和西湖十景直接还有一个B列,通过IF执行数组运算之后,即可把两列靠在一起,注意{1,0},运算时,相当于计算了=IF(1,A1:A11,C1:C11),返回了A1:A11,又计算了=IF(0,A1:A11,C1:C11),返回了C1:C11

非0的数值型数字作if函数条件,公式会返回条件为真时的值,

0作if函数条件,公式会返回条件为假时的值

所以也不一定非要用{1,0},使用{2,0}、{3,0}等都是一个效果。

而=IF({0,1},A1:A11,C1:C11),则可以调整列的前后顺序,返回的结果中西湖十景已经到了燕京十景的前面。

因此通过这个方法便可以实现VLOOKUP所谓的逆向查询。这里不展开。

(2)CHOOSE函数方法

CHOOSE(index_num, value1, [value2], ...)

CHOOSE(索引号数字,索引号为1时返回的值,索引号为2时返回的值……)

上面的if函数可以任意调整Excel中的两列,如果要构建组合多列,则可以使用CHOOSE函数。

举个例子:=CHOOSE(2,A1:A11,C1:C11,E1:E11)

索引号为2,表示返回索引号为2的值,执行数组运算后,返回C1:C11

=CHOOSE({3,1,2},A1:A11,C1:C11,E1:E11)

先返回E1:E11,再返回A1:A11,再返回C1:C11

即可实现青岛十景、燕京十景、西湖十景三列重新排序!

好了,以上就是连载5的全部内容,难度已经越来越高,你的数组的理想实现了吗,如果有不理解的可以先看前面的连载打牢基础。

点击头像或链接跳转:

穿越时间•Excel升级之路连载1:Office2010安装体验及个性设置

穿越时间•Excel升级之路连载2:打牢Excel 2010中的数据类型基础

穿越时间•Excel升级之路连载3:数据类型检测与相互转换技巧

穿越时间•Excel升级之路连载4:精通公式运算规则和字符比较

更多精彩,敬请关注。

(原创连载,个人观点保留,禁止任何未经授权的非本人账号复制文章到其他平台发布)

1.《【excel数组怎么显示】穿越Excel升级之路连载5:阵列的理想照片进入现实》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【excel数组怎么显示】穿越Excel升级之路连载5:阵列的理想照片进入现实》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2541924.html

上一篇

【excelrc怎么用】办公室提示:使用Excel“名称框”选择快风。

【excel数组怎么显示】excel函数大全——数组

  • 【excel数组怎么显示】excel函数大全——数组
  • 【excel数组怎么显示】excel函数大全——数组
  • 【excel数组怎么显示】excel函数大全——数组

【excel数组怎么显示】“Excel-VBA”特殊-数组-03-数组和Excel单元格之间的读写

  • 【excel数组怎么显示】“Excel-VBA”特殊-数组-03-数组和Excel单元格之间的读写
  • 【excel数组怎么显示】“Excel-VBA”特殊-数组-03-数组和Excel单元格之间的读写
  • 【excel数组怎么显示】“Excel-VBA”特殊-数组-03-数组和Excel单元格之间的读写

【excel数组怎么显示】理解从Excel| |文本中提取数字的小实例数组和数组公式

  • 【excel数组怎么显示】理解从Excel| |文本中提取数字的小实例数组和数组公式
  • 【excel数组怎么显示】理解从Excel| |文本中提取数字的小实例数组和数组公式
  • 【excel数组怎么显示】理解从Excel| |文本中提取数字的小实例数组和数组公式
【excel数组怎么显示】每天学一点excel 2010(35)——数组和数组公式

【excel数组怎么显示】每天学一点excel 2010(35)——数组和数组公式

excel数组怎么显示相关介绍,048数字和数组公式 首先,让我们看一下Excel帮助的定义 数组:用于设置单个公式以生成多个结果,或对行和列中排列的参数集进行运算。数组区域共享一个公式。数组常量是用作参数的一组常量。数组公式:对一...

【excel数组怎么显示】O365这些新函数也太逆天了吧

  • 【excel数组怎么显示】O365这些新函数也太逆天了吧
  • 【excel数组怎么显示】O365这些新函数也太逆天了吧
  • 【excel数组怎么显示】O365这些新函数也太逆天了吧
【excel数组怎么显示】你知道excel高度的数组函数吗?

【excel数组怎么显示】你知道excel高度的数组函数吗?

excel数组怎么显示相关介绍,如果你接触过Excel,我想你一定听说过数组函数,但很多人肯定不知道数组函数是什么。(约翰f肯尼迪)。 今天,我们来广泛普及一下什么是数组函数。 数组函数这个公式的解释是,可以写以数组为参数的公式,即...

【excel数组怎么显示】数组维和数组公式说明

  • 【excel数组怎么显示】数组维和数组公式说明
  • 【excel数组怎么显示】数组维和数组公式说明
  • 【excel数组怎么显示】数组维和数组公式说明

【excel数组怎么显示】Excel中什么是数组,什么是数组的作用,这篇文章带你入门

  • 【excel数组怎么显示】Excel中什么是数组,什么是数组的作用,这篇文章带你入门
  • 【excel数组怎么显示】Excel中什么是数组,什么是数组的作用,这篇文章带你入门
  • 【excel数组怎么显示】Excel中什么是数组,什么是数组的作用,这篇文章带你入门