Excel表格INDIRECT函数的妙用

Excel表格INDIRECT函数的妙用
介绍
返回由文本字符串指定的引用 。此函数立即对引用进行计算 , 并显示其内容 。
语法
INDIRECT(ref_text, [a1])
参数
Ref_text必需 。对单元格的引用 。
a1 可选 。一个逻辑值 , 用于指定包含在单元格 ref_text 中的引用的类型 。

  • 如果 a1为 TRUE或省略 , ref_text被解释为 A1-样式的引用 。
  • 如果 a1为 FALSE , 则将 ref_text解释为 R1C1样式的引用 。
解释:
A1-样式,就是我们平时使用的行号用数字 , 列标用大写字母表示单元格的方式:
Excel表格INDIRECT函数的妙用

文章插图
R1C1样式 , 是行各列都使用数字的表示方式 , 我们一般不用 。R代表ROW(行) , C代表COLUMN(列) , 如果需要用这种方式表示单元格 , 需要自己设置:
Excel表格INDIRECT函数的妙用

文章插图
R1C1样式很少用 。
INDIRECT应用举例引用单元格
1、公式:=INDIRECT(B2)
含义:返回B2单元格的引用 。
B2单元格的值是A2 , 所以返回A2单元格的值“讲Office” 。
Excel表格INDIRECT函数的妙用

文章插图
2、公式:=INDIRECT(“B2”)
含义:返回B2的值 。
Excel表格INDIRECT函数的妙用

文章插图
总结:
INDIRECT(单元格)与NDIRECT(“单元格”) , 虽然只是参数差了一对双引号 , 但结果截然不同:
前者 , 是引用的单元格的地址 , 该单元格内的地址指向谁 , 结果就返回谁 。比如以上示例 , 是引用B2单元格内的A2地址指向的值“韩老师讲Office” 。
后者 , 是引用的单元格内的值 。
引用名称
典型的应用是制作多级联动菜单 , 如下图:
Excel表格INDIRECT函数的妙用

文章插图
公式:=INDIRECT(I2)
详细介绍参考:
Excel036 多级联动菜单 , 规范数据输入
多工作表合并
如下图:
Excel表格INDIRECT函数的妙用

文章插图
公式:=INDIRECT(B$1&”!B”&ROW())
B$1:指B1单元格的值 , 此值刚好与工作表“1月”的名称相同 。使用混合引用B$1 , 公式向下填充时 , 行号不变 , 永远是第一行的值;公式向右填充时 , 列标自动改变 , 改变为表“1月”“2月”“3月”……的名称;
“!B”&ROW():
!是表与单元格的分界标志 , 公式向下拖动到哪一行 , ROW()都是当前行的行号 。
与SUMPRODUCT配合使用
与SUMPRODUCT函数配合使用 , 可以实现汇总项顺序不一致的多工作表汇总 。
如下图:
Excel表格INDIRECT函数的妙用

文章插图
=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$12)&”月!$B$2:$B$37″),汇总!B2,INDIRECT(ROW($1:$12)&”月!$c$2:$c$37″)))
详细解释请参考文章:
Excel SUM——求和项排序相同的多工作表数据汇总;SUMIF+INDIRECT——求和项排序不同的多工作表数据汇总
与VLOOKUP配合使用
与vlookup函数配合使用 , 可以实现一对多查找 。
如下图:
Excel表格INDIRECT函数的妙用

文章插图
公式:
=VLOOKUP($B$12&ROW(B1),IF({1,0},$B$2:$B$9&COUNTIF(INDIRECT(“b2:b”&ROW($2:$9)),$B$12),$C$2:$C$9),2,0)

推荐阅读