如何在Excel中插入当前文件名?

tim*_*lau 15 microsoft-excel

我正在尝试使用公式查看我在感兴趣的 Excel 电子表格中处理的文件名。例如,如果文件名为 workbook1.xlsx,那么我希望单元格 A1 显示“workbook1.xlsx”

Microsoft 的帮助站点提供的公式不起作用:http : //office.microsoft.com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in- a-cell-HA010103010.aspx#BMinsert3

=MID(CELL("filename"),SEARCH("[",CELL("filename"))+1, SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename") "))-1)

mto*_*one 15

它在这里工作,我刚刚在 Excel 2007 (XP) 和 Excel 2013 (Windows 8) 上进行了测试。

=CELL("filename")先单独尝试以帮助排除故障。

  • 确保您已将工作簿保存到磁盘。如果您将公式放在一个新的未保存的工作簿中,它将不会显示“Book1”。

  • 您是否在计算机上使用非英语区域设置?某些语言需要调整函数名称和公式语法(例如,在法语中,逗号必须替换为分号)。

  • 您使用的是个人电脑还是工作场所的电脑?如果它是一台工作计算机,则可能存在导致问题的用户权限限制。

当你说“它不起作用”时,你能更具体一点吗?它是否接受输入的公式?单元格是否为空,显示“#VALUE!”等?刚使用时会发生什么=CELL("filename")


bar*_*ini 10

请注意,这=CELL("filename")为您提供了最后一个工作簿/工作表更改的路径,因此如果您打开了 2 个工作簿,abc 和 xyz 并且您的公式在 abc 中,如果您上次更改了 xyz 中的值,则 abc 中的公式将反映并返回xyz.xlsx

出于这个原因,通常最好包含一个单元格引用(任何单元格引用),例如

=CELL("文件名", A1 )

使用该版本意味着您只能获得公式所在工作簿的工作簿名称。

你可以使用这个稍短的版本

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")