Correspondência retornando # N / A

1

Eu tenho um valor na célula G5:

I~W478i~100

E uma matriz na F31: F43:

I~W478i~100
II~W707a~79
I~W621c~97.5
II~W693a~81.5
I~W452n~80
I~W693a~71.5
II~W707a~64
I~W478i~75
II~W724a~100
I~W707a~79
I~W693a~91.5
I~W587a~69
III~W724a~75

Eu sou a fórmula MATCH para determinar a posição do valor na matriz:

=MATCH(G5,F31:F43,0)

Isso está retornando # N / A.

Acredito que o valor em F31 deve corresponder ao do G5. Para verificar novamente, criei outra fórmula:

=IF(G5=F31,TRUE,FALSE)

Que retorna VERDADEIRO. No entanto, a função MATCH ainda retorna # N / A. Verifiquei o valor e a matriz e ambos são Tipo de dados "Geral".

Quais são as possíveis causas deste problema?

    
por branches 05.03.2018 / 19:25

1 resposta

6

O problema é que o caractere "~" é um caractere especial quando usado no primeiro parâmetro da função MATCH . Ele é usado para indicar que o caractere após o "~" não é um caractere curinga (consulte a documentação ). Se você quiser que o primeiro parâmetro inclua caracteres "~", será necessário usar dois caracteres "~".

Portanto, se você alterar o valor em G5 de I~W478i~100 para I~~W478i~~100 , sua função MATCH retornará 1 em vez de # N / A.

Como Scott Craner (agradece Scott) aponta em um comentário sobre a questão, você também pode deixar o G5 como está e usar SUBSTITUTE para inserir os caracteres extras "~" como parte da fórmula.

=MATCH(SUBSTITUTE(G5,"~","~~"),F31:F43,0)

Se os valores em F31: F43 também puderem conter caracteres "*" ou "?" , você também precisará alterar cada "*" para "~*" e cada "?" para "~?" .

    
por 05.03.2018 / 19:59