给定工作簿的文件名列表,编写公式以引用指定工作簿中的特定单元格值。
A----------B-------C-----D--------------------------------E----------
workbook1 sheet1 A1 '[workbook1.xlsx]sheet1'!$A$1 =(????
workbook2 sheet1 A1 '[workbook2.xlsx]sheet1'!$A$1
workbook3 sheet1 A1 '[workbook3.xlsx]sheet1'!$A$1
鉴于A,B和C,我可以创建D,但我发现无法在E中的公式中使用它。
我无法在公式中引用D中的上述字符串。 INDIRECT也不起作用。
答案 0 :(得分:1)
根据Excel 2007帮助INDIRECT:
如果ref_text引用另一个工作簿(外部引用),则必须打开另一个工作簿。如果源工作簿未打开,则INDIRECT返回#REF!错误值。
是否打开了相关文件选项?
如果没有,听起来可能需要一些脚本......
答案 1 :(得分:0)
我认为你只需要摆脱使用INDIRECT的单引号字符。适用于Windows NT上的Excel 2003。
A13 ---- ---- B13 C13 - D13 ---------------------- E13 ---------- -
w1.xls Sheet1 $ A $ 1 =“[”& A13&“]”& B13&“!”& C13 = INDIRECT(D13)
答案 2 :(得分:0)
感谢大家的贡献和进一步的实验,我现在可以断言: 必须有一系列因素可供外部参考工作。
例如,如果w1.xls和w 2.xls都打开,我可以创建一个包含以下内容的新工作簿:
A---------B-------C-----D-------------------------E---------------------------------
w1.xlsx sheet1 $A$1 ="["&A13&"]"&B13&"!"&C13 =INDIRECT(D13) 'will work
w 2.xlsx sheet1 $A$1 ="["&A14&"]"&B14&"!"&C14 =INDIRECT(D14) 'Does NOT work
到目前为止,这种方法的最大限制是所有工作簿都必须打开,工作簿名称不能包含空格。