使用MATCH从另一列和工作表返回一个值

时间:2018-05-09 10:38:31

标签: excel excel-formula

我有一张工作表,我需要填写从其他工作表中引用的数据。

我需要将主表上的值与另一张表上的值匹配,一旦找到单元格,我需要将不同单元格的值偏移1行向上,向左5列。我知道我需要哪些列,但我需要MATCH来返回初始行。

MATCH将为我提供我需要的第一行 ADDRESS意味着我可以构建单元格引用 如果我有原始单元格地址,OFFSET允许我引用另一个单元格。

然而,ADDRESS函数只会将地址作为文本字符串返回,而不是作为可在OFFSET公式中使用的引用。

有没有人知道如何使这项工作?

亲切的问候

马特

1 个答案:

答案 0 :(得分:2)

如果主工作表上的值位于单元格Sheet1!A1中,匹配值位于列Sheet2!J:J中的某处。

MATCH公式将返回行号:
=MATCH($A$1,Sheet2!$J:$J,0)

你想要一行,所以公式将是:
=MATCH($A$1,Sheet2!$J:$J,0)-1
确保不低于1

要返回对您使用INDEX的其他单元格的引用,因为这是非易失性的,除非您更改其使用的数字,否则不会尝试重新计算。 它返回对给定一系列单元格,行号和列号的单元格的引用 您的列始终位于左侧五列,因此如果您在列J中匹配,则需要来自E列的数字。

e.g。如果您想要E列中的第5行,则使用=INDEX($E:$E,5)

用您的Match公式替换行号,然后得到您想要的数字:
=INDEX($E:$E,MATCH($A$1,Sheet2!$J:$J,0)-1)