viernes, 12 de junio de 2020

EXCEL: Calcular solo si no está en blanco

Excel formula: Only calculate if not blank

Fórmula genérica

=SI(criteria,formula(),"")

Explicación

Para ejecutar una fórmula solo cuando una o más celdas no están en blanco, puede usar la función SI con un criterio lógico apropiado. En el ejemplo que se muestra, la fórmula en E5 es:

=SI(CONTAR(C5:C7)=3,SUMA(C5:C7),"")

Como C7 no tiene ningún valor en la pantalla anterior, la fórmula no muestra ningún resultado. En la siguiente pantalla, C7 contiene un número y se muestra la suma:

Same formula with calculation

Cómo funciona esta fórmula

El objetivo de este ejemplo es verificar la entrada antes de calcular un resultado. El punto clave a entender es que cualquier fórmula válida puede ser sustituida. La función SUMA se usa solo como ejemplo. La lógica también se puede ajustar de muchas maneras para adaptarse a la situación.

En el ejemplo que se muestra, estamos usando la función SI junto con la función CONTAR. El criterio es una expresión basada en la función CONTAR, que solo cuenta valores numéricos:

CONTAR(C5:C7)=3 // returns TRUE or FALSE

Siempre que el rango contenga tres números (es decir, las 3 celdas no están en blanco), el resultado es VERDADERO y SI ejecutará la función SUMA. Si no, el resultado es FALSO y SI devuelve una cadena vacía (""). Como C7 no tiene ningún valor en la pantalla anterior, la fórmula no muestra ningún resultado.

Hay muchas formas de verificar las celdas en blanco, y varias opciones se explican a continuación.

Con CONTAR.BLANCO

La función CONTAR.BLANCO cuenta las celdas vacías en un rango, por lo que podemos escribir una fórmula un poco más compacta como esta:

=SI(CONTAR.BLANCO(C5:C7),"",SUMA(C5:C7))

Si CONTAR.BLANCO devuelve cualquier número excepto cero, la función SI se evaluará como VERDADERO y no devolverá nada (""). Si CONTAR.BLANCO devuelve cero, SI evalúa como FALSO y devuelve la suma.

Con ESBLANCO

En el ejemplo que se muestra, las celdas de entrada están todas en el mismo rango contiguo. En los casos en que las celdas no están juntas, puede una fórmula como esta:

=SI(O(ESBLANCO(C5),ESBLANCO(C6),ESBLANCO(C7)),"",SUMA(C5:C7))

Este ejemplo adopta un enfoque literal con la función ESBLANCO. Como queremos verificar las tres celdas al mismo tiempo, necesitamos usar ESBLANCO tres veces dentro de la función O. Esta es la prueba lógica dentro de SI:

Cuando O devuelve VERDADERO (al menos una celda está vacía), SI devuelve una cadena vacía (""). Cuando O devuelve FALSO (no hay celdas en blanco), SI ejecuta la función SUMA y devuelve el resultado:

SUMA(C5:C7)

Con operadores lógicos

La función ESBLANCO se puede reemplazar con operadores lógicos estándar como este:

=SI(O(C5="",C6="",C7=""),"",SUMA(C5:C7))

Alternativamente, podemos combinar el operador no igual a (<>) con la función Y de esta manera:

=SI(Y(C5<>"",C6<>"",C7<>""),SUMA(C5:C7),"")

Observe que la función SUMA se ha movido al resultado VERDADERO. Solo se ejecutará si C5 y C6 y C5 no están vacíos.

Con CONTARA

Finalmente, puede usar la función CONTARA para verificar la entrada numérica o de texto:

=SI(CONTARA(C5:C7)=3,SUMA(C5:C7),"")

Mientras el rango C5: C5 contenga tres valores (números o texto), el resultado será VERDADERO y se ejecutará la función SUMA. Esto realmente no tiene sentido para el ejemplo que se muestra (que requiere una entrada numérica) pero puede usarse en otras situaciones.


Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT