上下文如下:
Sheet 1 :
A1 = "50255"
A2 = "Soccer players"
A3 = The cell I'm having a problem with
Sheet 2 :
A1:A5 : List of soccer plays (Ronaldo, Zidane...)
Sheet 3 :
A lot of datas in which I can possibly find my Sheet1!A1 value
我希望能够做到这一点:
If A1<>"" then Vlookup in Sheet 3 and print my value "50255".
If A1="" then diplay the list of possible values you can set for Sheet2!Soccer players (Ronaldo, Zidane...)
问题:我可以在两个不同的单元格中完成这两件事,但我无法在一个单元格中完成我想做的事情...
综上所述:我想要获得 Vlookup
的结果或(如果为空)可能值的列表。
我在数据验证方面尝试过:
=SI($E$31<>"";RECHERCHEV($E$31;'1 - Data players'!$G:$XFD;EQUIV('2 - OD'!$E38;'1 - Data players'!$G$6:$EX$6;0);FAUX);indirect($E$38))
英文Excel公式:
=IF($E$31<>"",VLOOKUP($E$31,'1 - Data players'!$G:$XFD,MATCH('2 - OD'!$E38,'1 - Data players'!$G$6:$EX$6,0),FALSE),INDIRECT($E$38))
你能帮我吗?
最佳答案
您可以将 vlookup 公式和验证放入同一单元格中。唯一的问题是,如果您使用下拉菜单设置值,它会覆盖公式。出于您的目的,您是否需要稍后返回公式?如果没有,那么以下解决方案可能是合适的。
请注意,要使用来自不同工作表的验证,您需要首先将范围名称应用于值列表,然后在数据验证中引用范围名称。
我已按照您的示例设置了 3 个工作表。我已将“玩家”设置为包含玩家名称列表的 Sheet2 上 A1:A3 的范围名称。然后我将 vlookup 公式放入 A3 中:
=IFERROR(VLOOKUP(A1,Sheet3!$A$1:$B$3,2,0),"")
然后使用 List 选项向 A3 添加数据验证:
=IF($A$1="",Players,"")
如果我清除 A1 中的值,则会出现下拉菜单:
关于Excel 数据验证以另一个单元格值为条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42157144/