2013-08-11

Lógica de Boole en lugar de la función SI -Parte 1

SI() es una de las funciones más útiles y utilizadas en Excel. Básicamente, comprueba si se cumple una condición y devuelve un valor si se evalúa como VERDADERO y otro valor si se evalúa como FALSO. Sin embargo, en muchas ocasiones podemos obtener los mismos resultados de una manera más sencilla: usando la lógica de Boole.

Comparamos si A3 es mayor que B1.
=SI(A3>$B$1;VERDADERO;FALSO) 'Usando la función SI
=A3>$B$1                     'Usando lógica de Boole
Ambas fórmulas nos devolverán VERDADERO o FALSO. Pero la segunda fórmula, es más corta y clara, y Excel la calcula más rápidamente.


Puede ser útil tener esas expresiones lógicas evaluadas como 1 (VERDADERO) o 0 (FALSO). Excel trata los valores de Boole como 1 o 0 cuando los combinamos con operaciones matemáticas.
=(A3>$B$1)*1   'Multiplicando por 1       
=--(A3>$B$1)   'Usando dos signos negativos (operador unario)


También podemos asignar usar la misma lógica en lugar de SI anidados. Por ejemplo, asignar una ganancia cuando las cifras anteriores alcanzan unos objetivos:


Opción 1 - SI anidados
=SI(A3>50000;1000;SI(A3>45000;750;SI(A3>35000;750;SI(A3>25000;250;0))))) 'SI
Evalua cada condición secuencialmente de izquierda a derecha, y si se cumple alguna condición se detiene.

Opción 2 -Boole
=(A3>25000)*250+(A3>35000)*250+(A3>45000)*250+(A3>55000)*250        'Boole
Evalua toda la expresión a la vez sin detenerse. Por ejemplo si A3>35000, cumple las dos primeras condiciones.
=(VERDADERO)*250 + (VERDADERO)*250 + (FALSO)*250+ (FALSO)*250




=(1)*250 + (1)*250 + (0)*250+ (0)*250 




=500
Por esa razón, porque se acumulan las condiciones cumplidas, indicamos los incrementos de la ganancia entre cada intervalo en lugar del total de la ganancia.

Esta segunda opción es más breve, más rápida de calcular por Excel, y más fácil de escribir y de leer que la función SI anidada.

Entradas relacionadas:

Lógica de Boole en lugar de la función SI -Parte 2

No hay comentarios:

Publicar un comentario

Nube de datos