查找和引用函数ADDRESS
ADDRESS函数的用法,我们可以参考一下下图中的说明。
ADDRESS主要用于引用位置,其参数包括行、列、引用方式等等,而这些参数通常是使用其他函数代替(如ROW、COLUMN等等)的。
首先来看一下ADDRESS函数的基本语法:
ADDRESS(row_num,column_num,abs_num,a1,sheet_text)
Row_num:在单元格引用中使用的行号。
Column_num:在单元格引用中使用的列标。
Abs_num:指定返回的引用类型。
A1:用以指定 A1 或 R1C1 引用样式的逻辑值。如果 A1 为 TRUE 或省略,函数 ADDRESS 返回 A1 样式的引用;如果 A1 为 FALSE,函数 ADDRESS 返回 R1C1 样式的引用。
下面就来看一下具体的使用方法:
如图,如果想要对A1单元格进行引用,我们可以使用公式“=ADDRESS(1,1)”来实现。
以上对单元格的引用采用绝对引用方式,如果想要采用相对引用方式,则使用公式“=ADDRESS(1,1,4)”来实现。
其中Abs_num的值分别对应如下情况:
Abs_num 返回的引用类型
1 或省略 绝对引用
2 绝对行号,相对列标
3 相对行号,绝对列标
4 相对引用
案例1:使用ADDRESS函数显示对A1单元格引用的方式有A1和R1C1两种样式,当参数a1为True时则显示A1样式,否则为False时显示R1C1样式。
倘若我们希望在Sheet1工作表中实现对Sheet2工作表中A1单元格的引用操作,该如何实现呢?那就要用到“Sheet_text”这个参数。编辑如图所示的公式即可“=ADDRESS(1,1,4,FALSE,"sheet2")”。
看一个例子:我们先看一下原始表,我们是将每个月的产品销量及(销售)金额数据,在下面的表格中进行求和。
我们要解决的问题是:将每月汇总的各个产品的数据一次性汇总到下面的表格中。
我们在第一个计算单元格内输入公式。
=INDIRECT(ADDRESS(13,($A17-1)*5+COLUMN()-1))
ADDRESS参数说明(本例):
第1个参数表示数据在第13行。
第2个参数表示数据每次向列方向(向右)移动5个单元格,第1次不移动所以要减1,同时,由于名称"A产品"在A列,而计算结果显示在B列,所以在加上提取的列号以后再减去1。
我们将函数公式向右、向下填充后,整个表的汇总就完成了。
案例2:使用ADDRESS函数帮助INDIRECT函数实现相对引用单元格
本例中,我们是要将1-12月的数据汇总到"绩效奖金汇总"工作表Sheet中。
我们使用INDIRECT函数可以实现跨工作表Sheet的引用。
下图中函数引用的是1月的B2单元格。
INDIRECT函数的用法可以参考下方经验:
但是,当我们将公式向下填充时,我们会发现引用的内容始终是1月的B2单元格。
我们假定本例中各个员工的姓名在所有的工作表Sheet中的位置是一样的(目的是为了函数可以直接向下填充引用)。
我们可以将函数公式中的B2单元格以ADDRESS函数代替掉,然后向下填充公式,这时,函数公式在向下填充时,就可以相对引用1月的B3、B4、B5、B6......单元格。
35Excel中INDIRECT函数在多个工作表Sheet查询实例
当然,本例中并不需要这样做,以上步骤仅是为了说明ADDRESS函数的用法。
正确的做法,请参考下图及下方经验。