Excel 如何从另一个单元格中查找 table 和 return 中的值
Excel how to look for value in table and return value from another cell
我在 excel 中遇到问题,我无法将其设置为 return 特定值。
我有一个 table 这样的数据
Week N1 N2 N3
w0 6 15 24
w1 5 8 9
w2 3 8 17
w3 20 23 31
w4 13 21 23
w5 6 12 15
w6 2 5 20
w7 10 20 21
N1 N2 和 N3 中的数字可以更改并且是随机的。
我需要做的是查找 table 中的任意数字和 return 周列中的值。
例如,如果我正在寻找数字 20,它会 return w6.
我尝试过各种 vlookups、Hlookups、Index 和 Match 变体,但似乎无法让这个相当简单的东西发挥作用。
在我爆炸之前,任何人都可以帮助我。
试试这个:
= INDEX($A:$A,MATCH(1,MMULT(($B:$D=20)+0,{1;1;1}),0))
编辑 稍微好一点的公式:
= INDEX($A:$A,MATCH(TRUE,MMULT(($B:$D=20)+0,{1;1;1})>0,0))
它 returns 在 table 中找到匹配项的第一个 Week
。
显然只需将上面的 20
替换为您要查找的任何值即可。
请参阅下面的示例。
编辑
更一般地说,您可以将其动态化,而不是将 {1;1;1}
硬编码到公式中,例如
= INDEX($A:$A,MATCH(1,MMULT(($B:$D=20)+0,TRANSPOSE((COLUMN($B:$D)>0)+0)),0))
此外,如果您想从左到右而不是从上到下搜索 table,请执行以下操作:
= INDEX($A:$A,MATCH(1,MMULT(TRANSPOSE((ROW($A:$A)>0)+0),($B:$D=20)+0),0))
注意,这两个现在都是数组公式(必须用Ctrl+Shift+Enter[输入=49=] 而不是 输入 .
另一种方法,
=index(A:A, iferror(match(G5, B:B, 0), iferror(match(G5, C:C, 0), match(G5, D:D, 0))))
我在 excel 中遇到问题,我无法将其设置为 return 特定值。
我有一个 table 这样的数据
Week N1 N2 N3
w0 6 15 24
w1 5 8 9
w2 3 8 17
w3 20 23 31
w4 13 21 23
w5 6 12 15
w6 2 5 20
w7 10 20 21
N1 N2 和 N3 中的数字可以更改并且是随机的。
我需要做的是查找 table 中的任意数字和 return 周列中的值。
例如,如果我正在寻找数字 20,它会 return w6.
我尝试过各种 vlookups、Hlookups、Index 和 Match 变体,但似乎无法让这个相当简单的东西发挥作用。
在我爆炸之前,任何人都可以帮助我。
试试这个:
= INDEX($A:$A,MATCH(1,MMULT(($B:$D=20)+0,{1;1;1}),0))
编辑 稍微好一点的公式:
= INDEX($A:$A,MATCH(TRUE,MMULT(($B:$D=20)+0,{1;1;1})>0,0))
它 returns 在 table 中找到匹配项的第一个 Week
。
显然只需将上面的 20
替换为您要查找的任何值即可。
请参阅下面的示例。
编辑
更一般地说,您可以将其动态化,而不是将 {1;1;1}
硬编码到公式中,例如
= INDEX($A:$A,MATCH(1,MMULT(($B:$D=20)+0,TRANSPOSE((COLUMN($B:$D)>0)+0)),0))
此外,如果您想从左到右而不是从上到下搜索 table,请执行以下操作:
= INDEX($A:$A,MATCH(1,MMULT(TRANSPOSE((ROW($A:$A)>0)+0),($B:$D=20)+0),0))
注意,这两个现在都是数组公式(必须用Ctrl+Shift+Enter[输入=49=] 而不是 输入 .
另一种方法,
=index(A:A, iferror(match(G5, B:B, 0), iferror(match(G5, C:C, 0), match(G5, D:D, 0))))