Se você não estiver configurando no vlookup um valor Range_lookup ou seja, false, então a primeira coluna no array Table precisará ser ordenada ascendente alfabética ou numericamente.
De acordo com este e o meu próprio teste, o uso do VLOOKUP pode ser comparado para um valor específico dentro de IF.
g .: = IF(VLOOKUP(...) = 20, [then value], [else value])
funciona.
Mas se eu comparar o resultado do VLOOKUP com o valor em uma determinada célula, ele não retornará um valor:
IF(VLOOKUP(...) = E$1, [then value], [else value])
Parece que o IF não avalia a comparação, mas apenas o VLOOKUP. Adicionar colchetes não ajuda:
IF((VLOOKUP(...) = E$1), [then value], [else value])
também não funciona.
No primeiro exemplo, eu comparo VLOOKUP a 20. No segundo exemplo, quero compará-lo com o valor em E1. (E1 tem um valor estático, mas eu quero usar a fórmula em uma matriz onde cada campo compara o resultado de VLOOKUP com o título da coluna e retorna um valor diferente se eles corresponderem ou não.)
Como posso fazer isso funcionar?
Edit: Eu confundi os valores que eu comparo o resultado do VLOOKUP para. A fórmula funciona; você só tem que usar as células certas.
Se você não estiver configurando no vlookup um valor Range_lookup ou seja, false, então a primeira coluna no array Table precisará ser ordenada ascendente alfabética ou numericamente.
VLOOKUP retorna um valor,
IF (VLOOKUP returned value = "Something" , [TRUE? Then This Value] , [FALSE? Then This Value] )
Portanto, você precisa comparar o valor retornado do Vlookup a outro valor. Se o seu Vlookup está simplesmente retornando a palavra True of False, então você não precisa compará-lo a nada, pois o Vlookup fornece o teste lógico necessário.
Se você não estiver usando apenas números, será necessário colocar as strings entre aspas
=IF(VLOOKUP("a",F1:G2,2,FALSE)=6,"yay","nay")
ou =IF(VLOOKUP(B1,F1:G2,2,FALSE)=A1,"yay","nay")