Я чувствую себя мошенничеством здесь ..... не задавайте мне никаких вопросов VBA!
Отмечу, что использование MAX
на самом деле означает, что ваша формула (и измененная версия chris) фактически дает последний непустой матч. Вы также можете сделать это с не CSE LOOKUP
формулы, т.е.
=LOOKUP(2,1/(B$2:B$6<>"")/(A$2:A$6=C1),B$2:B$6)
который будет возвращать # N/A, если нет матча
текст «не ровня» вместо то, предполагая, что формула возвращаете текстовые значения, которые вы можете использовать 2003 совместимого
=LOOKUP("zzz",IF({1,0},"No match",LOOKUP(2,1/(B$2:B$6<>"")/(A$2:A$6=C1),B$2:B$6)))
Для первого непробельного матча вы можете использовать INDEX/MATCH
подобным образом, то есть
=INDEX(B$2:B$6,MATCH(1,(B$2:B$6<>"")*(A$2:A$6=C1),0))
подтвердил CTRL + SHIFT + ENTER
Um ... почему испания в списке дважды один раз пустой и один раз с валютой? Устраните пустую проблему и решите проблему ... – xQbert
xQbert сказал вам решение. Объяснение записи: VLOOKUP вернет значение ** first ** matching (которое здесь пусто для Span) – JMax
Ну, на самом деле я привел пример короткого списка. Но мой список имеет значения 10'000 +, и он имеет много раз пустых значений в виде валют (поскольку у нас нет информации). Чтобы быть полным, я затем ставлю 10 лучших расходов в странах и хочу связать их соответствующие валюты. – SammyDow