Fórmula do Excel: a correspondência primeiro não começa com -

Índice

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.

Artigos interessantes...