在其他工作表中使用“文件名”更新的Excel公式

我有我的选项卡命名为月末date,我经常忘记更新date单元格(这是变得重要,当我必须打印)。 所以我想我会使用'Filename'属性, 左/右/中期function ,和datefunction自动设置date单元格。 这就是我想到的:

 =DATE(RIGHT(RIGHT(CELL("filename"),8),4),LEFT(RIGHT(CELL("filename"),8),2),MID(RIGHT(CELL("filename"),8),3,2)) 

内部“ RIGHT ”抓取文件名(工作表标题)的最后8个字符,然后外部子string函数将其分开,以便它可以用作“ DATE ”函数的参数。 这工作正常。 当我尝试从工作表复制到工作表时,问题来了。

首先,我确定我的标签不分组。

但是,每当我计算其中一个包含文件名属性的单元格时,它会更新所有工作表以使用最后一个工作表的date来计算。

IE我计算工作表“05312013”​​中的date单元格,它将所有月份的date单元格更改为“05/31/2013”而不是只是一个预定的表。

发生了什么,如何解决?

要使CELL函数始终引用公式所在的工作表,您需要在每个CELL函数中使用单元格引用 (任何单元格引用,但A1是默认选项),即

=DATE(RIGHT(CELL("filename",A1),4),LEFT(RIGHT(CELL("filename",A1),8),2),MID(RIGHT(CELL("filename",A1),8),3,2))

如果你不这样做,那么它指的是最后一张工作表的改变 – 这显然不是你想要的