应用技巧二十一:数组公式对于希望精通Excel函数与公式的用户来说,数组运算和数组公式是必须跨越的门槛 。通过本文的介绍,让用户能够对数组公式和数组运算有更深刻地理解,并能够利用数组公式来解决实际工作中的一些疑难问题 。
一、理解数组
1. Excel中数组的相关定义
在Excel函数与公式应用中,数组是指按一行、一列或多行多列排列的一组数据元素的集合 。数据元素可以是数值、文本、日期、逻辑值和错误值 。
数组的维度是指数组的行列方向,一行多列的数组为横向数组,一列多行的数组为纵向数组 。多行多列的数组则同时拥有纵向和横向两个维度 。
数组的维数是指数组中不同维度的个数 。只有一行或一列在单一方向上延伸的数组,成为一维数组;多行多列同时拥有两个维度的数组成为二维数组 。
数组的尺寸是以数组各行列上的元素个数来表示的 。一行N列的一位横向数组,其尺寸表示为1*N;一列N行的一维纵向数组,其尺寸表示为N*1;对于M行N列的二维数组,其各行或各列的元素个数必须相等,呈矩形排列,其尺寸表示为M*N 。
2. Excel中数组的存在方式
(1)常量数组
在Excel函数与公式应用中,常量数组是指直接在公式中写入数组元素,并用大括号{}在首尾进行识别的文字串表达式 。其不依赖单元格区域,可直接参与公式的计算 。
顾名思义,常量数组的组成元素只可为常量元素,决不能是函数、公式或单元格引用 。常量元素中不可以包含美元符号、逗号、圆括号和百分号 。
一维纵向常量数组(通常称为“行数组”)的各元素用半角分号“;”间隔,如下式,表示尺寸为5行*1列的数值型常量数组:
={1;2;3;4;5}
一维横向量数组(通常称为“列数组”)的各元素用半角逗号“,”间隔,如下式,表示尺寸为1行*3列的文本型常量数组:
={“张三”,”李四”,”王五”}
文本型常量元素必须用半角双引号“””将首尾标识起来 。
二维常量数组的每一行上的元素用半角逗号“,”间隔,每一列上的元素用半角分号“;”间隔 。如下式,表示尺寸为4行*3列的二维混合数据类型的数组,包含数值、文本、日期、逻辑值和错误值 。
={1,2,3:#N/A,5,TRUE;”田径”,”2008-8-8”,”股市”;#VALUE!,FALSE,12}
提示:如果用户在手工输入数组的过程中感觉非常繁琐,可以借助单元格引用来转换为常量数组 。
例如当用户在单元格A1:A7中分别输入“A到G”的字符后,再在B1中输入:=A1:A7,并选中公式段中的A1:A7,同时按下键,Excel会自动将单元格引用转换为常量数组 。
(2)区域数组
如果在公式或函数参数中引用工作表的摸个单元格区域,且其中函数参数不是单元格引用或区域类型(reference、ref或range),也不是向量(vector)时,Excel会自动将该区域引用转换成由区域中各单元格的值构成的同维数同尺寸的数组,可称之为区域数组 。
区域数组的维度和尺寸与常量数组完全一致,而在公式运算中会自动将“区域引用”进行转换,这类区域数组也是用户在利用“公式求值”查看公式运算过程时常看到的 。
(3)内存数组
内存数组是指某一公式通过计算,在内存中临时返回多个结果值构成的数组 。而该公式的计算结果,不必存储到单元格区域中,便可作为一个整体直接嵌套入其他公式中继续参与计算 。该公式本身则称之为内存数组公式 。
内存数组与区域数组的主要区别在于,区域数组通过引用而非通过公式计算获得,但其不是通过公式计算在内存中临时获取的,而是作为常量直接输入的 。
可以用一句话概括内存数组的特点,即内存数组生于内存,存于内存 。
(4)命名数组
命名数组是指,使用命名公式(即名称)定义的一个常量数组、区域数组或内存数组 。该名称可在公式中作为数组来调用 。在数据有效性(有效性序列除外)和条件格式的自定义公式中,不接受常量数组,但可将其命名后,直接调用名称进行运算 。
二、数组公式与数组运算
(1)认识数组公式
简单地说,数组公式是指区别与普通公式,并以按下组合键来完成编辑的特殊公式 。作为标识,Excel会自动在编辑栏中给数组公式的首尾加上大括号“{}” 。数组公式的实质是单元格公式的一种书写形式,用来显式地通知Excel计算引擎对其执行多项计算 。
所谓的多项计算是指,对公式中有对应关系的数组元素同步执行相关计算,或在工作表的相应单元格区域站宏同时返回常量数组、区域数组、内存数组或命名数组中的多个元素 。
秒懂生活扩展阅读
- 诗书礼易春秋各指什么
- 好用的学习教育软件有哪些
- 下水道的美人鱼到底讲的是什么?
- 怎样消除华为手机的提示振动
- 手机的内外储存怎么互换
- 童年河的两条河分别是什么
- kbb是什么梗
- 木聚糖酶主要用途 木聚糖酶的简介
- 什么叫做活死人 活死人在民间的意思
- 精细化管理的基本内容 精细化管理的五大内容