作者:乔山办公网日期:
返回目录:excel表格制作
公式改成: 右拉下拉就行了
=INDIRECT("'"&$F$2&"'!"&ADDRESS(ROW(A4),COLUMN(A1)))
公式=INDIRECT("'"&I$2&"'!"&$P$2&ROW())
表示:引用以I2单元格中内容为工作表名,以P2单元格中的字符为列标,当前行号为行号的单元格数据。
首先要理解这个公式e79fa5e98193e59b9ee7ad94338要先了解INDIRECT函数
INDIRECT(ref_text,a1)
INDIRECT函数包括两个参数
参数1:Ref_text 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果 ref_text 不是合法的单元格的引用,函数 INDIRECT 返回错误值 #REF!。
•如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。
参数2:a1 为一逻辑值,指明包含在单元格 ref_text 中的引用的类型。
•如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。
•如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。
其次,讲一下A1-样式的引用与R1C1-样式的引用的区别,举个例子吧:
如果A1单元格的内容是100,在B1输入=indirect("a1")同时在C1输入=indirect("R1C1",0)这样B1和C1都会得到A1的内容100.从公式的结构中我们可以看到区别。
•注意A1单元格为R1C1,A2是R2C1,这里面R代表行(Row的首字母)C代表列(Column的首字母)两种样式之间的联系就在于此
最后,讲一下你的公式的意思:
1,它是一个R1C1-样式的引用,
2,它要引用一个单元格的内容放到公式所在单元格
3,它要引用的是第AI2+1行(就是AI2单元格的数字再加1的行)和第COLUMN()-34列(这里面有一个COLUMN()函数,表示返回公式单元格所在列的列数,如果公式在A列column()返回1,在B列返回2,在C列返回3,依次类推,列数再减去34,所以你的公式所在列肯定大于34,至少是AI列以后了)交叉的单元格
4,indirect函数找到“第AI2+1行”和“第COLUMN()-34列”交叉的单元格,就把它的内容显示在你这个公式放置的单元格里面
啰嗦了这么多,希望可以解决你的问题:)
INDIRECT("'"&I$2&"'!"&$P$2&ROW())
公式表示:引用I2单元格为知表道名的对应P2单元格的列版名及ROW()的当前行对应的单元格。
如果I2单元格为“Sheet2”,P2中为字母A,当权前行号为2,那么相当于表示
=Sheet2!A2