Excel表格里,如何使公式里引用的数据下拉时只改变列数不改变行数?

Excel表格里,我用的公式是【='(表2-3)利润表明细'!D37】,下拉出现的是【='(表2-3)利润表明细'!D38】和【='(表2-3)利润表明细'!D39】,如何改变使下拉结果是【='(表2-3)利润表明细'!E37】和【='(表2-3)利润表明细'!F37】这种?同理还有【='(表3-1)间接费'!D60/10000】和【=('(表3-1)间接费'!D68-'(表3-1)间接费'!D60)/10000】这两个公式,如何使公式里引用的数据下拉时只改变列数不改变行数?我不太懂怎么引用,麻烦直接把改变后的公式写给我,谢谢!

第1个回答  2020-08-30
=INDIRECT("'(表2-3)利润表明细'!"&CHAR(64+ROW(E1))&37)
要用indirect函数
CHAR(64+ROW(E1))
下拉就是E,F,G......追问

另外两个公式怎么改?【=indirect(“'(表3-1)间接费'!”&CHAR(64+ROW(D1))&60)/10000】和【=(indirect(“'(表3-1)间接费'!”&CHAR(64+ROW(D1))&68)-indirect(“'(表3-1)间接费'!”&CHAR(64+ROW(D1))&60))/10000】?

追答

=INDIRECT("'(表3-1)间接费'!"&CHAR(64+ROW(D1))&60)/10000
CHAR(64+ROW(D1))
就是D
下拉就是E,F,G......

追问

CHAR(64+ROW(D1)) 这个公式似乎只能A-Z,后面AA\AB之类的怎么弄

第2个回答  2020-08-30
建议这样操作:公式先横拉,然后横向复制公式----选择粘贴,公式,转置。就达到目的。

【='(表2-3)利润表明细'!D37】---【='(表2-3)利润表明细'!E37】追问

转置的话,一方面数据太多不好操作,另一方面转置之后列数不是我需要的列

追答

哦,先横拉,得到正确的公式,然后查找---替换,把公式中的 = 号换成空值,再复制这些去了等号的数据区域----选择性粘贴---转置, 最后再批量加=号实现公式运算。

本回答被提问者采纳
第3个回答  2020-08-30
indiret("'(表2-3)利润表明细'! "&char(code ("D") +row(D1) -1)&"37")

indiret("'(表3-1)间接费'! "&char(code ("D") +row(D1) -1)&"60") /10000

indiret("'(表3-1)间接费'! "&char(code ("D") +row(D1) -1)&"68") -indiret("'(表3-1)间接费'! "&char(code ("D") +row(D1) -1)&"60") /10000追问

提示不是公式

追答

现在可以了

相似回答