我正在处理包含两个工作表的电子表格。工作表 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 范围内的行数的风险。