Fórmula do Excel: obtenha o primeiro valor não vazio em uma lista -

Índice

Fórmula genérica

(=INDEX(range,MATCH(FALSE,ISBLANK(range),0)))

Resumo

Para obter o primeiro valor não vazio (texto ou número) em um intervalo de uma coluna, você pode usar uma fórmula de matriz com base nas funções INDEX, MATCH e ISBLANK. No exemplo mostrado, a fórmula em D10 é:

(=INDEX(B3:B11,MATCH(FALSE,ISBLANK(B3:B11),0)))

Nota: esta é uma fórmula de matriz e deve ser inserida com Control-Shift-Enter.

Explicação

Portanto, a essência do problema é esta: Queremos obter a primeira célula que não está em branco, mas não temos uma maneira direta de fazer isso no Excel. Poderíamos usar PROCV com um caractere curinga * (veja o link abaixo), mas isso só funcionará para texto, não para números.

Portanto, precisamos construir a funcionalidade de que precisamos aninhando fórmulas. Uma maneira de fazer isso é usar uma função de matriz que "testa" as células e retorna uma matriz de valores TRUE / FALSE que podemos alimentar na função MATCH.

Trabalhando de dentro para fora, a função ISBLANK avalia as células no intervalo B3: B11 e retorna uma matriz semelhante a esta:

(TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)

Cada FALSE representa uma célula do intervalo que não está em branco.

Em seguida, MATCH procura FALSE dentro da matriz e retorna a posição da primeira correspondência encontrada, neste caso 2. Neste ponto, a fórmula no exemplo agora se parece com isto:

(=INDEX(B3:B11,2,0)))

Finalmente, a função INDEX assume e obtém o valor na posição 2 na matriz, que é 10.

Primeiro valor de comprimento diferente de zero

Para obter o primeiro valor de comprimento diferente de zero, você pode incluir a função LEN como esta:

(=INDEX(range,MATCH(TRUE,LEN(range)>0,0)))

Primeiro valor numérico

Para obter o primeiro valor numérico em uma lista, você pode adaptar a fórmula para usar a função ISNUMBER e, em seguida, alterar a lógica para corresponder a TRUE em vez de FALSE:

(=INDEX(range,MATCH(TRUE,ISNUMBER(range),0)))

Esta também é uma fórmula de matriz e deve ser inserida com control + shift + enter.

Bons links

Encontre o primeiro item não vazio em uma lista (chandoo)

Artigos interessantes...