目录
Excel 函数 Indirect 概述
1、Indirect 间接函数语法:=INDIRECT(单元格引用,[引用样式])。
2、INDIRECT 函数的引用方式有两种,一种是A1用法,一种是R1C1用法。参数1可为定义名称或文本字符串构成的数据引用区域,参数2省略不写或为TRUE/1时为A1用法,参数2为FALSE/0时为R1C1用法。
3、INDIRECT 间接引用如图所示,A1单元格内容为“蚩尤后裔”,C1单元格内容为 A1
在C4单元格输入公式 =A1,结果为“蚩尤后裔” | 直接引用 |
在C5单元格输入公式 =INDIRECT(C1),结果为“蚩尤后裔” | 间接引用 |
在 C6 单元格输入公式 =INDIRECT($C$1) ,C1 单元格的值是单元格地址或定义名称时 | 间接引用 |
在C7单元格输入公式 =INDIRECT(“A1”),结果为“蚩尤后裔” | 间接引用 |
C8 单元格中的 &C2 表示取 C2单元格的值,所以合起来就是 A1,等价于 =INDIRECT(“A1”) | 间接引用 |
=INDIRECT(C1) : C1 单元格的值是单元格地址或定义名称时,不要加双引号。 =INDIRECT(“A1”):A1 单元格的值不是单元格地址与定义名称时,需要加双引号。 |
INDIRECT 第一参数为定义名称
1、可以构建定义名称,然后作为 INDIRECT 函数的第一参数,此方法常见于制作多级联动下拉菜单。比如选择省份时,对应单元格下拉菜单出现该省份对应的市。
2、公式—>名称管理器—>新建,分别新建四个省份的定义名称,引用位置为各省份对应的下属市所在的单元格区域。
- 名称必须和省份(主控)内容一致,即主控要素的选项是什么,名称就定义为什么,比如名称定义为广东省时,将来省份下拉框选择的是广东时,被控将无法级联。
- 范围可以是整个工作簿(此时所有Sheet页都能使用此名称),也可以只在某个Sheet页中生效,同一个范围内名称不允许重复,Sheet范围内容名称与工作簿范围的名称一样时,优先Sheet页自己的。
- 掌握手动设置级联关系对于使用 Java Apache POI 代码创建会更容易理解。
3、选择省份下面的单元格,点击数据—>数据验证—>设置—>允许选择序列—>来源设置省份 =$A$1:$C$1。
4、逐个选择市下面的单元格,设置让他们关联前面的省份,以F4单元格为例,点击数据—>数据验证—>设置—>允许选择序列—>来源设置 =INDIRECT($E$4),同理 F5 的来源 =INDIRECT($E$5)
- 省份下面的单元格无论是否是下拉框都没有关系,即便是手动输入,只要内容是定义好的名称,则后面就会进行联动。
5、上面是简单版本的,所有数据都放在了同一个Sheet页中,主要用于方便理解,实际中通常会将数据维护在其它Sheet页中并进行影藏,只展示级联关系,下面演示 Sheet1 中展示级联关系,主被控要素放在Sheet2 中。