在两张表之间使用索引/匹配返回#SPILL

在两张表之间使用索引/匹配返回#SPILL

我正在处理包含两个工作表的电子表格。工作表 1 包含一个表格,其中包含采购订单号的行和每个月的列,标题下方包含财务数据。该表格是从另一个 Excel 工作簿导入的。

工作表 2 有一列采购订单,其排列顺序与工作表 1 不同,因此我使用 Index/Match 重新排列数据。我使用了下面的公式,但它只返回 #SPILL 错误。我花了几天时间修复,但似乎毫无进展。

=INDEX(Sheet1[23-Apr], MATCH(Sheet2!A:A,Sheet2[PO'#],0))

非常感谢您的帮助。谢谢。

答案1

您正在迭代一整列,Sheet2!A:A 因此您需要将其放在空列的第 1 行。这将在有空白的地方返回错误。

而是在将列放入 MATCH 之前对其进行过滤。

=INDEX(Sheet1[23-Apr], MATCH(FILTER(Sheet2!A:A,Sheet2!A:A<>""),Sheet2[PO'#],0))

这假定中的行数Sheet2[PO'#]与的行数匹配Sheet1[23-Apr],否则您将面临从 MATCH 返回的相对引用超出 INDEX 范围内的行数的风险。

相关内容