2016-12-05 86 views
0

我有以下excel公式,並不按照我想要的方式工作,我可能寫錯了。Vba + Match + IF

=VLOOKUP(B$22,Scenarios.New!$A$1:$M$211,IF(MATCH(Output!$A35,Scenarios.New!$A$1:$M$1,0)=2,FALSE)) 

我想VLOOKUP的B22如果Output35等於2

enter image description here

enter image description here

因此,如果操作不爲= 2,則VLOOKUP。有任何想法嗎?謝謝!

enter image description here

+0

MATCH返回匹配的相對位置,所以除非B1中的「操作編號」將始終返回false或0並且「0」不能成爲VLOOKUP中的第三個標準。你想要的是和INDEX/MATCH匹配多列的地方。谷歌,你應該得到很多例子。 –

回答

0

你定義它周圍的其他方法。你應該檢查,如果條件爲真,再如果這是真的......「VLOOKUP(......)」,如果不是,任何你想要的。試試看,我認爲它應該做你想做的。

= IF(MATCH(Output!$ A35,Scenarios.New!$ A $ 1:$ M $ 1,0)= 2,FALSE),VLOOKUP(B $ 22,Scenarios.New!$ A $ 1:$ M $ 211 )

+0

謝謝馬丁!它說太少的參數,所以它不能執行.. –

+0

是啊deffinitelly有太少的參數...但功能的定義是有點模糊...有什麼理由你爲什麼使用匹配? 你爲什麼不嘗試... = IF(B35 = 2,VLOOKUP(B $ 22 Scenarios.New $ A $ 1:$ M $ 211 COLUMNARGUMENT,FALSE) –

+0

檢查我的新形象,這個問題我我面對的是,有時我有不止一個動作,所以當我查找數字4,例如,會忽略第二個4,我會錯過一些信息 –