浅谈在引用函数中使用数组参数产生的多维引用及其应用(第一部分)
通常我们所说的三维引用都是指Excel帮助中定义的跨多表的相同位置区域的引用。而此文重点要说明的是另一种由引用本文分为三部分:
1、认识引用和区域及其维数
2、引用函数产生的多维引用
3、
认识引用和区域及其维数
引用的类型
引用是对工作表上单元格或单元格区域的标识。
从引用的范围看一般有,单个单元格引用、多个连续单元格的区域引用和连续多表三维引用。从引用产生的方式上看,有直接输入标识的引用和引用函数产生的引用。
另外还有交叉引用、以及由引用构成的合并区域等形式,其中交叉引用不是我们要说明的重点。单个单元格引用
`
区域引用
是指对一个连续单元格区域的引用,可以是一行多列的单元格区域,或多行一列的单元格区域,还可以是多行多列的单元
单元格区域引用的结果会产生一个单元格值组成的数组,其中一行多列或多行一列的单元格区域引用产生的是一维数组,所以我们需要以数组公式的形式输入才能让其在单元格中正确显示。#NAME?
合并区域
在介绍三维引用前,我们有必要先解释一个多区域合并的概念,其和区域引用一起合称为区域。
将多个单元格或区域引用,用逗号隔开并用括号()合并起来表示,就是合并区域。合并区域是虽是平面二维的,但无法和我们要说的连续多表三维引用和引用函数产生的多维引用不同,它只是分散在同一个工作表中的几个区域的集合。
#NAME?
注意:合并区域中的第一个区域只有第一个单元格的地址出现在Cell("address",)的返回结果中,其他区域则是完整的。
#NAME?
上例中的合并区域实际上是7个区域组成的,其中有两个区域是做为一个合并区输入的,他们分别是
合并区域如何参与计算
求和#NAME?
#NAME?
计数#NAME?
#NAME?
最大值#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
#NAME?
连续多表三维引用
连续多表三维引用是引用多张连续排列的工作表中相同行列位置的单元格或连续单元格区域的表示方法。
#NAME?
把每张表的区域看是一个平面,那么多表三维引用就是在多个平面上的不同区域引用组成的,而且
#NAME?
#NAME?
连续多表三维引用的输入方式
单击要输入函数的单元格。 键入 =(等号),再输入函数名称,然后键入左圆括号。 单击需要引用的第一个工作表标签按住 Shift 单击需要引用的最后一个工作表的标签。 选定需要引用的单元格或单元格区域。 完成公式,再按 Enter。连续多表三维引用如何参与计算
#NAME?#NAME?#NAME?注意:1连续多表三维引用,虽然称作引用但是其不能用于引用类型Range为参数的函数,如Sumif(),Countif()等2对于大多数以reference或ref为参数的函数,也不能使用连续多表三维引用作为参数,但有一个例外,就是3
Areas不能用来统计连续多表三维引用区域的个数。
通过引用函数产生的单个单元格、单元格区域引用
如果不直接输入引用的标识,我们还可以通过Index()、Offsett()、Indirect()函数来产生对单元格和单元格区域的引用这里主要是要说明三个函数是如何返回单个单元格引用和多个单元格区域引用,所以对三个函数的用法就不作更详细地介
Index产生的单个单元格、单元格区域引用
Index的第一参数为不连续区域时,可指定返回其中一个区域或区域中某一行列或某一单元格的引用,通过之前合并区域当第一参数为连续区域时,除了不用使用第4个参数外,其他都是一样的,这里不再重复。
要强调的是,Index第一参数为区域时,其返回的值的类型为单元格引用。
我们可以通过两个例子自来作进一步的说明:
例,使用Isref()函数测试是否为引用
#NAME?
#NAME?
#NAME?
有点遗憾,对于一个连续区域,Index最多只能返回其中的一行或是一列。
而对于不连续区域Index则可以返回其中的一整个连续区域,但也不能返回这个连续区域的多行或多列。
Index返回的引用如何参与计算:
#NAME?
#NAME?
Offest产生的单个单元格、单元格区域引用
通过指定一个单元格或区域引用,行列偏移量,区域的高度和宽度等参数,offset()可以产生对另一个单元格或单元格区
#NAME?#NAME?
#NAME?
注意:offset的第一个参数不可以是合并区域。
Indirect产生的单个单元格、单元格区域引用
#NAME?#NAME?
#NAME?#NAME?
以上三个引用函数中都不带数组参数,因此只能返回单个单元格引用或一个二维以内的区域引用,并且都能在单元格中直在合并区域中使用引用函数产生的单元格或区域引用
#NAME?
上述公式的结果无法正确显示,但实际上是返回了下面的各区域或引用的合并区域
#NAME?
#NAME?
#NAME?
小结
从上述内容,我们可以了解单个单元格引用、一维区域引用,二维区域引用,合并区域和连续多表三维引用的特点及用法,
其应用(第一部分)
。而此文重点要说明的是另一种由引用函数产生的三维以上(含)的引用。
点。
单元格区域,还可以是多行多列的单元格区域。
的单元格区域引用产生的是一维数组,而多行多列的单元格区域引用产生的是二维数组。
#NAME?
合称为区域。
。合并区域是虽是平面二维的,但无法在一个连续的单元格区域中显示,也不能形成一个按行列整齐排列的二维的数组。一个工作表中的几个区域的集合。
但并影响我们将其作为一个参数用于可使用区域参数的函数中参与计算。
的返回结果中,其他区域则是完整的。
分别是:
数的range参数中输入合并区域,例如下例就出现参数类型错误:元格区域的表示方法。
格区域中直接展示出来,但是大家可以透过下图去理解。
,而且每个平面区域引用的尺寸是一样的。
号。 单击需要引用的第一个工作表标签。
元格区域。 完成公式,再按 Enter。
参数的函数,如Sumif(),Countif()等;
维引用作为参数,但有一个例外,就是Rank函数;
数来产生对单元格和单元格区域的引用。
以对三个函数的用法就不作更详细地介绍了。
某一单元格的引用,通过之前合并区域中的例子,我们已经了解了。
#NAME?
续区域的多行或多列。
()可以产生对另一个单元格或单元格区域的引用。
元格区域引用需要以数组公式的方式返回
内的区域引用,并且都能在单元格中直接显示出来。
维区域引用的集合,但其也不是三维引用。
域和连续多表三维引用的特点及用法,以及如何用函数来返回二维以内的单元格和区域引用。