![](https://cdn.wiki-base.com/7335597/excel_formula_match_first_does_not_begin_with__2.png.webp)
Fórmula genérica
(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))
Resumo
Para corresponder ao primeiro valor que não começa com uma string específica, você pode usar uma matriz baseada nas funções MATCH e LEFT. No exemplo mostrado, a fórmula em F5 é:
(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))
onde "código" é o intervalo nomeado B5: B12.
Observação: esta é uma fórmula de matriz e deve ser inserida com control + shift + enter.
Explicação
A chave para esta fórmula é a matriz ou valores TRUE e FALSE construídos com esta expressão:
LEFT(code,1)"N"
Aqui, cada valor no intervalo nomeado "código" é avaliado com o teste lógico "a primeira letra não é N". O resultado é uma matriz ou valores TRUE e FALSE como este:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)
Esta matriz é alimentada na função MATCH como a matriz de pesquisa. O valor de pesquisa é TRUE e o tipo de correspondência é definido como zero para forçar uma correspondência exata. A função MATCH retorna a posição do primeiro valor que não começa com a letra "N" (Z09876), que é 5.
INDEX e MATCH
Para recuperar um valor associado à posição retornada por MATCH, você pode adicionar a função INDEX. No exemplo mostrado, a fórmula em F6 é:
(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))
Observe que estamos usando a mesma fórmula MATCH acima para fornecer um número de linha para INDEX, com a matriz definida para o intervalo nomeado "valor". Como antes, MATCH retorna 5. INDEX e então retorna o valor naquela posição, -23.
Como antes, esta é uma fórmula de matriz e deve ser inserida com control + shift + enter.