这个纯粹基于公式的解决方案对我有用。它分布在几个细胞中。我想您可以将所有公式组合成一个非常长的一个单元格中的一个,但在我看来,最好不要这样做。我只是将中间单元格(在我的示例中为单元格 F12-F17)塞到不碍事的某个地方。
公式:
Cell Formula
---- ---------------------------------------------------------
F12 =CELL("filename",A1)
F13 =MID(F12,FIND("[",F12)+1,FIND("]",F12)-FIND("[",F12)-1)
F14 =LEFT(F13,FIND(CHAR(1),SUBSTITUTE(F13,".",
CHAR(1),LEN(F13)-LEN(SUBSTITUTE(F13,".",""))))-1)
F15 =TEXT(DATE(2000,MONTH(DATEVALUE("1 " & F14))-1,1),"mmmm")
F16 =F15 & MID(F13,FIND(CHAR(1),SUBSTITUTE(F13,".",
CHAR(1),LEN(F13)-LEN(SUBSTITUTE(F13,".","")))),LEN(F13))
F17 =SUBSTITUTE(F12,F13,F16)
F18 =INDIRECT(ADDRESS(1,1,,,F17))
结果,假设当前工作表保存为December.xlsx:
Cell: Value:
----- ---------------------------------------------------------
F12 C:\Users\user.name\Documents\[December.xlsx]Sheet1
F13 December.xlsx
F14 December
F15 November
F16 November.xlsx
F17 C:\Users\user.name\Documents\[November.xlsx]Sheet1
F18 value from cell A1 in November.xlsx!
注意事项:
-
F12 获取当前工作簿的完整路径。可能需要手动更新计算(按 F9)才能刷新此单元格
-
F13 从 '[' 和 ']' 字符之间提取文件名
-
F14 删除扩展名(最后一个 '.' 之后的所有内容)以获取文件的
基本名称(即本月的名称)
-
F15 获取上个月的名称
-
F16 附加之前删除的扩展名,以获取文件名
上个月的工作表。
-
F17 将此文件名替换为当前工作簿的路径。在这里,我们
假设本月的工作簿保存在同一个文件夹中
作为上个月的工作簿。
-
F18 获取上个月工作表中第 1 行第 1 列(单元格 A1)的值