英文:
EXCEL: Search for a value in a range and return its adjacent value in a particular column
问题
这是我的示例数据:
1 0 11 12 A
2 9 13 14 B
3 8 15 16 C
4 7 17 20 D
5 6 18 19 E
我需要一个Excel公式,当我输入14、13、9或2时,它返回B,类似地,如果我输入1、0、11或12,它应该返回A。
可以有人帮帮我吗?
我尝试使用INDEX和MATCH函数,例如:
=IFERROR(INDEX($E$1:$E$5,MATCH(G1,IF(($B$1:$D$5=G1)+($A$1:$A$5=G1), $B$1:$D$5),0)),"未找到")
我的输入是12,但它给我返回了“未找到”,尽管该值存在。
英文:
this is my sample data
1 0 11 12 A
2 9 13 14 B
3 8 15 16 C
4 7 17 20 D
5 6 18 19 E
I need a excel formula which returns B when i input 14 or 13 or 9 or 2 similarly it should return me A if i input 1 or 0 or 11 or 12.
Can anyone please help me
I tried with INDEX and match functions like
=IFERROR(INDEX($E$1:$E$5,MATCH(G1,IF(($B$1:$D$5=G1)+($A$1:$A$5=G1), $B$1:$D$5),0)),"Not Found")
My input was 12. but its giving me Value not found , though the value is there
答案1
得分: 2
Excel-2007?真的吗?如果是这样,请尝试:
在G2
中的公式:
{=INDEX(E1:E5,MATCH(1,MMULT(N(A1:D5=G1),{1;1;1;1}),0))}
如果支持动态数组:
=CONCAT(REPT(E1:E5,A1:D5=G1))
英文:
Excel-2007? Really? If so, then try:
Formula in G2
:
{=INDEX(E1:E5,MATCH(1,MMULT(N(A1:D5=G1),{1;1;1;1}),0))}
If dynamic arrays are available:
=CONCAT(REPT(E1:E5,A1:D5=G1))
答案2
得分: 2
另一种替代方法是使用<kbd>INDEX( )</kbd>、<kbd>MAX( )</kbd>和<kbd>ROW( )</kbd>。
• 单元格<kbd>H2</kbd>中使用的公式:
=INDEX($E$1:$E$5,MAX(--(H1=A1:D5)*(ROW(A1:D5))))
**注意:**由于您标记为Excel-2007
,不要忘记在退出编辑模式时按<kbd>CTRL</kbd>+<kbd>SHIFT</kbd>+<kbd>ENTER</kbd>。
英文:
Another alternative approach using <kbd>INDEX( )</kbd>, <kbd>MAX( )</kbd> & <kbd>ROW( )</kbd>
• Formula used in cell <kbd>H2</kbd>
=INDEX($E$1:$E$5,MAX(--(H1=A1:D5)*(ROW(A1:D5))))
Caveat: Since you have tagged as Excel-2007
don't forget to hit <kbd>CTRL</kbd>+<kbd>SHIFT</kbd>+<kbd>ENTER</kbd> while exiting the edit mode.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论