Indirect 函数
- 🌼indirect函数参数
- 🌼应用:
- 🌼跨表引用同一单元格
- 🌼二级下拉列表
🌼indirect函数参数
返回⬅️【文本字符串所指定的引用】
=INDIRECT(ref_text,[a1])
- 其中【ref_text】是引用的文本
- [a1] 是引用的类型,一般情况下省略
🌼应用:
-
我们可以直接引用一个单元格,返回它本身的内容,这时候作为文本字符串,加上双引号,例如:
=INDIRECT(“C2”),这里返回的是(越秀区)三个字
如果该单元格 为空,则会返回 0 -
还可以无限套娃,根据单元格地址引用。假如我在D1单元格里写上C2,这时候=Indirect(D1) 就会通过D1,顺藤摸瓜,先找到C2,再返回C2的内容【注意我这回没有打双引号哦】。
-
可以引用一整块单元格区域
前提:已经将O列的五个区 ,也就是(O2:O6)区域命名为【佛山市】
因此:=indirect(“佛山市”) 得到的结果会是这个区域里的,这里面的标题行(P1)因为不在命名的区域里,所以报错了。
我们一直往下填充会发现,每一次引用不是随机的,而是默认引用同一行/ 左侧的值。
只要超过这个范围就引用不了了
🌼跨表引用同一单元格
- 例如:有很多地区的某品牌汇总,分别放在一个文件的各个地区工作表里,工作表名称为:上海,深圳,澳门。每个表的格式一模一样。
- 而我们知道表格引用时的书写格式是:表名称 加上!也就是,【上海!】|另外,如果名称开头是一个数字的话,就需要在前后加上单引号哦~
- 而跨工作表引用同一个单元格的话,以A1为例,就是【上海!A1】
- 因此我们可以这样写:=indirect(上海&"!A1"),将上海替换成单元格引用就可以啦!
如果列出来的条件,是包含在工作表名称里,把剩余的用&连上补全就可以啦
🌼二级下拉列表
-
前面我们已经知道,可以利用indirect函数引用命名好的一个区域,那么是不是可以用在【数据验证】里。
-
首先第一个下拉列表我们可以用【数据验证】里的【序列】来做,可以自行输入,也可以分别列在表格上,框选这片区域。
-
第二层就需要先列好表格,可以按F5 【定位】到【常量】,在【公式】选项卡里找到【名称管理器】旁边的【根据所选内容创建】,根据【首行】创建一个自定义区域
-
1)这里定位主要是因为一般第二层下属的内容不是一样多的,也就导致表格是不规则的。如果你把空格选进去了,做好的下拉列表里也会有空格的~
-
2)如果你的名单横着列,就以最左边 创建,一般是首行
-
接着选取整列,不要管表头,当然如果你的表格有限制一块空间,那就自己依情况决定。依次点开【数据】>>【数据验证】>>【自定义】这回要用公式来引用,我们写上:=INDIRECT(B1),数据验证从第1行开始,就是B1,第2行,就是B2,与左侧对齐。弹出的提醒窗口可以忽略点确认就好啦
-
二级下拉菜单学会了嘛,这样三级四级也不怕啦
-
列好的表如图(是参差不齐的):
-
效果如图:
− − t 🌷 h 🌷 a 🌷 n 🌷 k 🌷 s − − --t🌷h🌷a🌷n🌷k🌷s-- −−t🌷h🌷a🌷n🌷k🌷s−−