Excel拖拽公式时锁定行号、切换列的跨表取数问题咨询
解决Excel跨工作表固定行、逐列取数的拖拽问题
嘿,我来帮你搞定这个公式引用的难题!根据你的描述,你在Sheet2需要从Sheet1的第81行取数,希望向下拖拽公式时,行号牢牢锁定在81,但列能从A81依次切换到J81(比如Sheet2的A1对应Sheet1!A81,A2对应Sheet1!B81,以此类推),下面给你两种实用的解决方案:
方案一:用INDEX+ROW函数(推荐,非易失性更稳定)
直接在Sheet2的目标单元格(比如A1)输入这个公式:
=INDEX(Sheet1!$81:$81, ROW(A1))
原理拆解:
Sheet1!$81:$81:这里的$符号是绝对引用标记,锁定了Sheet1的第81整行,不管你怎么拖拽公式,行号都不会变ROW(A1):返回当前单元格的行序号,在A1时返回1(对应Sheet1第81行的第1列,也就是A81);向下拖拽到A2时,ROW(A2)返回2(对应B81),直到拖到第10行时,就会对应J81啦
方案二:用INDIRECT函数(写法直观,易理解)
如果觉得INDEX函数有点绕,也可以用INDIRECT来实现,公式如下:
=INDIRECT("Sheet1!"&CHAR(64+ROW(A1))&"81")
原理拆解:
CHAR(64+ROW(A1)):利用ASCII码生成列标,大写字母A的ASCII码是65,ROW(A1)=1时,64+1=65,CHAR(65)就是"A";ROW(A2)=2时,CHAR(66)就是"B",以此类推生成A到J的列标- 把字符串拼接成
Sheet1!A81、Sheet1!B81这样的引用格式,INDIRECT会自动解析成实际的单元格引用
额外注意:
如果你的Sheet1名称包含空格,记得给工作表名加上单引号,比如:
=INDEX('Sheet 1'!$81:$81, ROW(A1))
或者
=INDIRECT("'Sheet 1'!"&CHAR(64+ROW(A1))&"81")
内容的提问来源于stack exchange,提问作者Andrew Pritzlaff
相关产品推荐
相关产品推荐

