2016-12-05 2 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)) 

Я хочу ВПР в B22, если Output35 равно 2.

enter image description here

enter image description here

Так что, если акции нет есть = 2, то ВПР. Есть идеи? Благодаря!

enter image description here

+0

MATCH возвращает относительное положение совпадения, поэтому, если «Номер действия» не находится в B1, он всегда будет возвращать false или 0 и «0» не может быть третьим критерием в VLOOKUP. То, что вы хотите, и INDEX/MATCH, где вы сопоставляете несколько столбцов. Google, и вам нужно получить много примеров. –

ответ

0

Вы определяете его наоборот ... Вы должны проверить, если условие истинно, а затем, если это правда ... «ВПР (....)», если нет, все что пожелаете. Попытайтесь, я думаю, он должен делать то, что вы хотите.

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

+0

спасибо Мартину! В нем указано слишком мало аргументов, поэтому он не может выполнить .. –

+0

Да, у меня слишком много аргументов ... но определение функции немного неоднозначно ... Есть ли причина, по которой вы используете совпадение? Почему бы вам не попробовать ... = IF (B35 = 2, ВПР (B $ 22, Scenarios.New $ A $ 1: $ M $ 211, COLUMNARGUMENT, FALSE) –

+0

Проверьте мой новый образ, проблема я я сталкиваюсь с тем, что иногда у меня есть более одного действия, поэтому, когда я смотрю на номер 4, например, будет игнорировать второй 4, и я пропущу часть информации –