Excel 在vlookup中使用文件名

Excel 在vlookup中使用文件名,excel,excel-formula,Excel,Excel Formula,我试图找到一个非vba的解决方案,通过vlookup获得一个值。vlookup应使用图纸名称作为搜索条件。图纸名称格式为“00000” 当将“12345”写入单元格N1时,它工作得非常好 在单元格N1中写入时: =MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]", CELL ("filename",A1))-FIND("[",CELL("filename",A1))-6) 单元格也返回“12345”,但VLOOKU

我试图找到一个非vba的解决方案,通过vlookup获得一个值。vlookup应使用图纸名称作为搜索条件。图纸名称格式为“00000”

当将“12345”写入单元格N1时,它工作得非常好 在单元格N1中写入时:

=MID(CELL("filename",A1),FIND("[",CELL("filename",A1))+1,FIND("]", CELL
("filename",A1))-FIND("[",CELL("filename",A1))-6)
单元格也返回“12345”,但VLOOKUP不再工作

为什么这与直接将值放入单元格不同? 我如何解决这个问题

解决方案:
将VALUE()环绕MID()

如果要引用从字符串生成的位置,应使用
INDIRECT()
如下所示:

=INDIRECT("[otherfilename.xlsx]othersheetname!$A$3:$C$10000")

这将返回所需工作表中范围内的值。

尝试将
VALUE()
环绕
MID(…)
“12345”
的文本表示形式与数值
12345
不同,
VLOOKUP
对差异很敏感。请检查其中一个是否被视为数字(而不是由数字组成的文本字符串),谢谢Peter!中值()左右()解决了这个问题!
=INDIRECT("[otherfilename.xlsx]othersheetname!$A$3:$C$10000")