Excel formula Excel#REF!将工作公式应用于外部文件时出错

Excel formula Excel#REF!将工作公式应用于外部文件时出错,excel-formula,Excel Formula,因此,以下公式正确应用于下图: =ABS(INDEX(B:B, AGGREGATE(15, 7, ROW(INDEX(A:A, MATCH("new york",A:A, 0)):INDEX(A:A, MATCH(1E+99,B:B )))/(LEFT(INDEX(A:A, MATCH("new york",A:A, 0)):INDEX(A:A, MATCH(1E+99,B:B )), LEN("laura"))="laura"), 1))-(RIGHT(INDEX(A:A, AGGREGATE

因此,以下公式正确应用于下图:

=ABS(INDEX(B:B, AGGREGATE(15, 7, ROW(INDEX(A:A, MATCH("new york",A:A, 0)):INDEX(A:A, MATCH(1E+99,B:B )))/(LEFT(INDEX(A:A, MATCH("new york",A:A, 0)):INDEX(A:A, MATCH(1E+99,B:B )), LEN("laura"))="laura"), 1))-(RIGHT(INDEX(A:A, AGGREGATE(15, 7, ROW(INDEX(A:A, MATCH("new york",A:A, 0)):INDEX(A:A, MATCH(1E+99,B:B )))/(LEFT(INDEX(A:A, MATCH("new york",A:A, 0)):INDEX(A:A, MATCH(1E+99,B:B )), LEN("laura"))="laura"), 1)), LEN("(base)")) = "(base)")*100)
但是,当我尝试将其应用于外部文件时,我会得到#REF!错误,尽管数据完全相同

=ABS(INDEX(‘C:\Path\[File]Sheet1’!B:B, AGGREGATE(15, 7, ROW(INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH("new york",’C:\Path\[File]Sheet1’!A:A, 0)):INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH(1E+99,’C:\Path\[File]Sheet1’!B:B )))/(LEFT(INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH("new york",’C:\Path\[File]Sheet1’!A:A, 0)):INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH(1E+99,’C:\Path\[File]Sheet1’!B:B )), LEN("laura"))="laura"), 1))-(RIGHT(INDEX(‘C:\Path\[File]Sheet1’!A:A, AGGREGATE(15, 7, ROW(INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH("new york",’C:\Path\[File]Sheet1’!A:A, 0)):INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH(1E+99,’C:\Path\[File]Sheet1’!B:B )))/(LEFT(INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH("new york",’C:\Path\[File]Sheet1’!A:A, 0)):INDEX(‘C:\Path\[File]Sheet1’!A:A, MATCH(1E+99,’C:\Path\[File]Sheet1’!B:B )), LEN("laura"))="laura"), 1)), LEN("(base)")) = "(base)")*100)
有人知道是什么导致了错误,以及我如何修复它吗


您必须按以下方式进行尝试

不要使用
'C:\Path\[File]Sheet1'
,而是使用
[Book1]Sheet2

例如:[您的文件的名称\u]工作表的名称\u

=ABS(INDEX([Book1]Sheet2!B:B, AGGREGATE(15, 7, ROW(INDEX([Book1]Sheet2!A:A, MATCH("new york",[Book1]Sheet2!A:A, 0)):INDEX([Book1]Sheet2!A:A, MATCH(1E+99,[Book1]Sheet2!B:B )))/(LEFT(INDEX([Book1]Sheet2!A:A, MATCH("new york",[Book1]Sheet2!A:A, 0)):INDEX([Book1]Sheet2!A:A, MATCH(1E+99,[Book1]Sheet2!B:B )), LEN("laura"))="laura"), 1))-(RIGHT(INDEX([Book1]Sheet2!A:A, AGGREGATE(15, 7, ROW(INDEX([Book1]Sheet2!A:A, MATCH("new york",[Book1]Sheet2!A:A, 0)):INDEX([Book1]Sheet2!A:A, MATCH(1E+99, [Book1]Sheet2!B:B )))/(LEFT(INDEX([Book1]Sheet2!A:A, MATCH("new york",[Book1]Sheet2!A:A, 0)):INDEX([Book1]Sheet2!A:A, MATCH(1E+99, [Book1]Sheet2!B:B )), LEN("laura"))="laura"), 1)), LEN("(base)")) = "(base)")*100)

您需要打开一个工作表以引用公式。我的理解是,这只适用于打开的文件。不管怎样,我测试了这个,它仍然给了我REF错误。这个问题似乎与在索引公式中定义数组有关,但我不明白为什么…是的,但是您必须在完成最终版本后打开工作表。虽然上面写着#REF!,一旦您打开相关的第二页,它将获得单元格的实际值。因此,请继续您的工作,最后打开另一个工作表,否则Excel将无法从关闭的文件中获取数据。