viernes, 3 de febrero de 2012

FUNCIONES LÓGICAS: SI Y SI ANIDADOS, OPERADORES Y/O

La función Si es una de las funciones lógicas que podemos utilizar en Excel, resulta sumamente útil en los casos en los que queremos que el programa realice una u otra acción según sea una condición previamente fijada. Su sintaxis es:
=Si( prueba lógica; valor verdadero; valor falso)
  • ·         Prueba lógica: Es la comprobación que le pedimos al programa que haga, en función del resultado el programa mostrará un valor u otro.
  • ·         Valor verdadero: es el valor que se devuelve si la prueba lógica es verdadera
  • ·         Valor falso: es el valor que se devuelve si la prueba lógica es falsa.
Cuando existen varios valores posibles a elegir se pueden anidar más de una función si: supongamos un ejemplo en el que se da un premio a unos vendedores en función de las pólizas vendidas: al que venda menos de 5 se le dan 2 €,entre 5 y 10 pólizas 5€ y a los de más de 10 pólizas 10€. La sintaxis de la función sería:

=si( número de pólizas<5;2;si(nºde pólizas>10;10;5))

Veamos el ejemplo resuelto en Excel:
La tabla con la que vamos a trabajar es la siguiente:
La tabla de color rosa contiene las bonificaciones referidas al número de pólizas que deben ser vendidas, la usaremos para referir dichos valores a esas celdas de forma que si en el futuro cambiasen las bonificaciones solo deberíamos cambiar el valor en una celda y no todas las fórmulas.
Ahora nos situaremos en la celda C2 e introduciremos la fórmula:
  =SI(B2<$B$7;$C$7;SI(B2>$B$9;$C$9;$C$8))
Los dólares son para mantener fijas las celdas que estamos usando como referencia (las que contienen el número de pólizas que es necesario vender) y las que contienen el importe de la bonificación, de forma que luego podamos arrastrar por el botón de autollenado y el resto de las fórmulas sean correctas. La hoja quedará con el siguiente aspecto.
Otra posible opción sería que el programa escribiese un texto en vez del contenido de una celda, modificaremos nuestro ejemplo de forma que se clasifique a los vendedores en buenos, malos o medios en función del mismo criterio anterior. Primero añadiremos una columna titulada TIPO DE VENDEDOR y luego añadiremos la fórmula:
=SI(B2<$B$7;"MALO";SI(B2>$B$9;"BUENO";"MEDIO"))


Debemos subrayar que para que el ordenador sepa que debe escribir un texto determinado, éste debe ir entre comillas. El aspecto de la hoja será el siguiente:

Si lo que queremos es que el ordenador realice una operación con unas celdas, ésta se escribe en los valores verdadero o falso, siguiendo con nuestro ejemplo, supongamos que cada vendedor recibe 300€ en concepto de salario fijo y la bonificación es la misma de antes multiplicada por el número de pólizas vendidas. Modificaremos la hoja añadiendo una columna donde se calcule esta suma y quitando la anterior columna donde se calculaba la bonificación:
Nos situaremos en la celda D1 e introduciremos la siguiente fórmula:
=SI(B2<$B$7;$E$7+B2*$C$7;SI(B2>$B$9;$E$7+B2*$C$9;$E$7+B2*$C$8))
Las partes subrayadas son la fórmula que hemos introducido para calcular el salario en función del número de pólizas vendidas, el salario fijo se ha puesto en la celda E7, el aspecto de la hoja queda:
Si lo que necesitamos es evaluar dos condiciones que se pueden cumplir o bien a la vez o bien una de ellas necesitamos recurrir a dos operadores lógicos de Excel que son el Y y el O.
  • ·         Y : devuelve el valor verdadero cuando se cumplen todas las condiciones especificadas a la vez, si solo una de ellas no se cumple devuelve el valor falso.
  • ·         O: devuelve el valor verdadero en el caso de que se cumpla al menos una de las condiciones especificadas o todas ellas.
La sintaxis de la función sería:
=Si(operador lógico(prueba1;prueba2;prueba3….);valor verdadero;valor falso)
En nuestro ejemplo añadiremos una columna en la que pondremos la población de las ciudades donde trabajan los vendedores y una segunda columna que llamaremos plus, en esa columna introduciremos una fórmula que ponga 300€ en caso de que el vendedor sea bueno y trabaje en una ciudad de más de 600.000 habitantes, nos situaremos en la celda F2 e introduciremos la siguiente fórmula:
=SI(Y(C2="BUENO";E2>600000);300;0)
Con lo que el aspecto de la hoja quedará:
En el caso de que el plus se diese con que sólo una de las dos condiciones se cumpliese la fórmula sería exactamente igual, cambiando el Y por O

2 comentarios:

  1. y cual es la formula para valores logicos entre 3 celdas que si es menor a cero de cero, o si es mayor nos de el total?

    ResponderEliminar
  2. Necesito una pequeña aclaración, cuando dices: "valores lógicos entre tres celdas que si es menor a cero" a qué te refieres, que la suma de las celdas sea menor que cero, que todas las celdas sean menores que cero, etc...
    En el primero de los dos casos ( suma de las 3 celdas menor que cero) y suponiendo que las que contienen los datos son las celdas A1, B1 y C1, nos situaríamos en la celda en la que queramos meter la fórmula y pondríamos =SI(SUMA(A1:C1)<0;0;SUMA(A1:C1))
    Para el segundo caso (las tres celdas sean menores a cero) y suponiendo que nuestros datos están en A1, B1 y C1 tendríamos que usar el operador lógico Y ,de forma que nos quedaría =SI(Y(A1<0;B1<0;C1<0);0;SUMA(A1:C1))
    Espero que te sirva, si no, no dudes en volver a preguntar.
    Un saludo:
    Diablillo

    ResponderEliminar