viernes, 12 de junio de 2020

EXCEL: Si no está en blanco varias celdas

Excel formula: If not blank multiple cells

Fórmula genérica

=SI(A1<>"",A1,SI(B1<>"",B1,SI(C1<>"",C1,SI(D1<>"",D1,"no value"))))

Explicación

Para probar varias celdas y devolver el valor de la primera celda no en blanco, puede usar una fórmula basada en la función SI. En el ejemplo que se muestra, la columna D contiene las fechas de finalización de la tarea. La fórmula en la celda F5 es:

=SI(B5<>"",B5,SI(C5<>"",C5,SI(D5<>"",D5,SI(E5<>"",E5,"no value"))))

que devuelve un valor de la primera celda no en blanco, B5, C5, D5 o E5, respectivamente. Cuando todas las celdas están en blanco, la fórmula devuelve "sin valor". El valor devuelto cuando todas las celdas están en blanco se puede ajustar como se desee.

Cómo funciona esta fórmula

En Excel, las comillas dobles vacías ("") significan una cadena vacía. El símbolo <> es un operador lógico que significa "no es igual a", por lo que la siguiente expresión significa "A1 no está vacío":

=A1<>"" // A1 is not empty

Esta expresión se usa cuatro veces en la fórmula que se muestra en el ejemplo, para probar cuatro celdas diferentes en un orden particular.

La estructura general de esta fórmula es lo que se llama una "fórmula SI anidada". Cada instrucción SI verifica una celda para ver si no está vacía. Si no está vacío, el SI devuelve el valor de esa celda. Si la celda está vacía, la instrucción SI entrega el procesamiento a otra instrucción SI:

=SI(B5<>"",B5,SI(C5<>"",C5,SI(D5<>"",D5,SI(E5<>"",E5,"no value"))))

El flujo de un SI anidado es más fácil de visualizar si agrega saltos de línea a la fórmula. A continuación, se han agregado saltos de línea a la fórmula para alinear las declaraciones SI:

=
SI(B5<>"",B5,
SI(C5<>"",C5,
SI(D5<>"",D5,
SI(E5<>"",E5,
"no value"))))

Con ESBLANCO

Excel contiene la función ESBLANCO, que devuelve VERDADERO cuando una celda está en blanco:

=ESBLANCO(A1) // A1 is blank

El comportamiento se puede "revertir" anidando la función ESBLANCO dentro de la función NO:

=ESBLANCO(A1) // A1 is not blank

La fórmula anterior se puede volver a escribir para usar ESBLANCO de la siguiente manera:

=SI(NO(ESBLANCO(B5)),B5,SI(NO(ESBLANCO(C5)),C5,SI(NO(ESBLANCO(D5)),D5,SI(NO(ESBLANCO(E5)),E5,"novalue"))))

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT