Fórmula de Excel: obtenga el primer valor que no esté en blanco en una lista -

Tabla de contenido

Fórmula genérica

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

Resumen

Para obtener el primer valor que no está en blanco (texto o número) en un rango de una columna, puede usar una fórmula de matriz basada en las funciones INDICE, COINCIDIR e ISBLANCO. En el ejemplo que se muestra, la fórmula en D10 es:

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

Nota: esta es una fórmula de matriz y debe ingresarse con Control-Shift-Enter.

Explicación

Entonces, la esencia del problema es la siguiente: queremos obtener la primera celda que no esté en blanco, pero no tenemos una forma directa de hacerlo en Excel. Podríamos usar BUSCARV con un comodín * (ver enlace a continuación), pero eso solo funcionará para texto, no para números.

Entonces, necesitamos construir la funcionalidad que necesitamos anidando fórmulas. Una forma de hacerlo es usar una función de matriz que "prueba" celdas y devuelve una matriz de valores VERDADERO / FALSO que podemos introducir en la función COINCIDIR.

Trabajando desde adentro hacia afuera, la función ESBLANCO evalúa las celdas en el rango B3: B11 y devuelve una matriz que se ve así:

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

Cada FALSO representa una celda del rango que no está en blanco.

A continuación, COINCIDIR busca FALSO dentro de la matriz y devuelve la posición de la primera coincidencia encontrada, en este caso 2. En este punto, la fórmula del ejemplo ahora se ve así:

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

Finalmente, la función INDICE toma el control y obtiene el valor en la posición 2 en la matriz, que es 10.

Primer valor de longitud distinto de cero

Para obtener el primer valor de longitud distinto de cero, puede incluir la función LEN así:

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

Primer valor numérico

Para obtener el primer valor numérico en una lista, puede adaptar la fórmula para usar la función ISNUMBER, luego cambiar la lógica para que coincida con VERDADERO en lugar de FALSO:

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

Esta también es una fórmula de matriz y debe ingresarse con control + shift + enter.

Buenos enlaces

Encuentra el primer elemento que no esté en blanco en una lista (chandoo)

Articulos interesantes...