如何根据Sheet1单元格H1的值动态引用Sheet2对应行数据?
实现Excel动态行号引用的方法
当然可以实现啦!这在Excel里是很常见的动态引用需求,给你两种实用的方法,按需选择就行:
方法一:使用INDIRECT函数
这个函数的作用是把文本字符串转换成有效的单元格引用,刚好能满足你的需求。公式如下:
=INDIRECT("Sheet2!A"&Sheet1!H1)
- 原理:
&符号会把"Sheet2!A"这个文本和Sheet1!H1里的数值拼接成完整的单元格地址(比如H1是6时,就变成"Sheet2!A6"),INDIRECT会识别这个地址并返回对应单元格的值。 - 注意:如果你的工作表名包含空格或者特殊字符,需要给表名加上单引号,比如:
=INDIRECT("'Sheet 2'!A"&Sheet1!H1)
方法二:使用INDEX函数(更推荐)
INDEX函数本身就支持通过行号/列号来引用单元格,而且它不是易失函数(不会在每次工作表计算时都重新运行,性能更好)。公式更简洁:
=INDEX(Sheet2!A:A, Sheet1!H1)
- 原理:第一个参数
Sheet2!A:A指定了要引用的列(Sheet2的A列),第二个参数Sheet1!H1就是你要动态获取的行号,直接传入数值就行,完全不需要拼接文本,用起来更直观。
不管用哪种方法,只要你修改Sheet1!H1里的数值,公式都会自动引用Sheet2中对应行的A列单元格内容,比如H1改成8,就会自动获取Sheet2!A8的值啦!
内容的提问来源于stack exchange,提问作者user3354777




