现在位置:首页 > Excel相关 > Excel函数 > 函数365之INDIRECT函数:最了解单元格内容的函数

函数365之INDIRECT函数:最了解单元格内容的函数

一村之长  Excel函数  2017-4-17  799  0评论
函数名称:INDIRECT

函数作用:INDIRECT函数可用于返回由文本字符串指定的引用。

函数语法:INDIRECT(单元格引用或表示单元格引用的文本,引用的类型)

注意事项:
1、第1参数为必选参数。表示对单元格的引用,或者定义为引用的名称或对作为文本字符串的单元格的引用。如果该参数不是合法的单元格的引用,函数INDIRECT返回错误值 #REF! 。
2、第2参数为可选参数。一个逻辑值,用于指定包含在第1参数中的引用的类型,如果参数为TRUE或省略,第1参数被解释为 A1-样式的引用,如果参数为FALSE,则将第1参数解释为R1C1样式的引用。

函数应用:
实例1、根据A列单元格地址返回相应的单元格内容,效果如B列所示。
1.png

函数公式:B2单元格输入 =INDIRECT(A2,1),公式下拉即可
解释说明:
1、返回单元格地址引用内容用INDIRECT函数,因为A列单元格地址样式为“A1”样式,所以INDIRECT的第2参数为TRUE,这里用“1”表示,公式也可以写成=INDIRECT(A2),省略第2参数。
2、“Sheet5!A1”这里指的是特定工作表的特定单元格地址,INDIRECT函数在处理多表引用和多工作簿引用中有非常强大的作用。

实例2、根据A列单元格地址返回相应的单元格内容,效果如B列所示。
2.png

函数公式:B2单元格输入 =INDIRECT(A2,0),公式下拉即可
解释说明:
1、返回单元格地址引用内容用INDIRECT函数,因为A列单元格地址样式为“R1C1”样式,所以INDIRECT的第2参数为FALSE,这里用“0”表示,公式也可以写成=INDIRECT(A2,FALSE)。
2、“R1C1”样式里面的R是ROW的缩写表示行号,C是COLUMN的缩写表示列号,所以“R4C4”就表示第4行第4列,熟悉单元格地址的朋友应该一看就知道这是D4单元格。

实例3、下图所示工作簿里面有4个工作表,每个工作表都是第1列姓名,第2列销量,要求在汇总表里面计算表1表2表3的销量总和,如B列所示。
3.png

函数公式:B2单元格输入 =SUM(SUMIF(INDIRECT("表"&{1,2,3}&"!A:A"),A2,INDIRECT("表"&{1,2,3}&"!B:B"))),公式下拉即可
解释说明:
本题是多工作表条件求和,所以需要用SUMIF求和及用INDIRECT函数构建多表引用,"表"&{1,2,3}&"!A:A"表示表1、表2、表3三个工作表的A列单元格区域,这是工作表单元格地址的命名规则“表名!单元格地址”

实例4、根据下表ABCD四列数据制作二级联动数据有效性,效果如图F列和G列所示。
4.png

操作步骤:
1、选择A1:D1单元格区域,然后在名称框输入“省份”,然后按回车键确认;
4-1.png

2、选择A1:D8单元格区域,然后选择“公式”选项卡,点击“根据所选内容创建”,然后把默认的“最左列”勾选去掉,保留“首行”,点击“确定”;
4-2.png

3、选中F2单元格,然后选择“数据”选项卡,点“数据有效性—设置—(允许)序列”,来源输入“=省份”,然后点击“确定”;
4-3.png

4、选中G2单元格,然后选择“数据”选项卡,点“数据有效性—设置—(允许)序列”,来源输入“=INDIRECT($F$2)”,然后点击“确定”;
4-4.png

5、做完以上4步已经全部完成。第一步定义省份名称,第二步批量定义各个省份的市区名称,第3、第4步分别设置省份和市区单元格的数据有效性。注意设置完省份数据有效性后要先随便选择一个省份,否则设置市区有效性后保存会报错,不过报错也没关系,点确定即可。

实例5、将下表ABCDE五列的姓名合并成一列,效果如G列所示。
5.png

函数公式:G2单元格输入 =INDIRECT(TEXT(SMALL(IF($A$2:$E$11<>"",ROW($2:$11)*100+COLUMN(A:E)),ROW(A1)),"r0c00"),0),数组公式CTRL+SHIFT+回车键三键结束,公式下拉即可
解释说明:
1、首先用IF判断姓名区域是否为空,如果不为空则将姓名所在单元格的行号乘以100再加上其所在列号,否则为空;
2、将所有IF的结果从小到大依次提取出来,这里用了SMALL函数,第2参数为ROW(A1);
3、然后用TEXT函数将表示单元格行号和列号的值用单元格样式“r1c1”样式表示,说到这里可能有人看不懂,没关系我们举个栗子,例如A2单元格不等于空,所以根据判断是将A2单元格的行号乘以100再加上其所在列号,结果为2*100+1=201,然后用TEXT函数将201格式化成“r0c00”格式,就变成了“r2c01”,这是单元格样式;
4、知道了单元格地址后用INDIRECT函数获取该地址内容,例如上面举的栗子,INDIRECT(r2c01,0)可以获取到A2单元格的内容。
1.png
评论一下 分享本文 联系站长
我的Excel
看完文章就评论一下!
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论