excel 如何顺序引用上一工作表的数据?

来源:百度知道 编辑:UC知道 时间:2024/09/24 23:49:07
不是简单的sheet!1,我是想有一个普遍的公式,根据当前任一sheet序号,引用上一工作表的数据?
首先明白如何获得当前sheet的序号,然后如何引用上一sheet?
如果能写出VBA程序,小弟将不胜感激。

我来告诉你吧:
首先定义名称如下:
获取表名
=RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename")
取得表号
=MID(获取表名,MATCH(TRUE,ISNUMBER(1*MID(获取表名,ROW($1:$9),1)),0),COUNT(1*MID(获取表名,ROW($1:$9),1)))
引用公式

=IF(取得表号-1=0,"已经是最初表",INDIRECT(SUBSTITUTE(获取表名,取得表号,"")&取得表号-1&"!"&ADDRESS(ROW(),COLUMN())))

公式说明:
1.你的表名应该是sheet1...sheet999,或者是:工资发放表1.....工资发放表9999 等这样形式,也就是前面文字任意,但后面必须是数字,数字后无文字。
2.假设表2的B2单元格输则引用的是上一表的B2单元格,C2则引用表1的C2,若要更改引用单元格,直接在row()和column()上加减数据.
3.若序号不连续,如你公式在“表32”,但工作薄无“表31”则公式出错

在通常状态下函数公式内是不能含有变量的
只能通过VBA来实现