Está en la página 1de 3

Funciones lgicas y condicionales

El uso de funciones condicionales en modelos de hojas de clculo permite dotar a stos de una gran
flexibilidad, ya que van a posibilitar que una celda o rango adopten distintos valores en funcin de
cules sean los valores de otras celdas (sea de la misma hoja, de otras hojas del mismo libro o,
incluso, de libros diferentes). En su formato ms simple, la sintaxis de la funcin condicional es:
=SI (condicin; accin l; accin 2)
As, el valor que se le asignar a la celda que contenga esta frmula ser el que se derive de la
accin 1 si la condicin es cierta y el de la accin 2 en caso de que la condicin sea falsa. La
condicin puede ser ms o menos simple; algo similar ocurre con las acciones. Analicmoslo ms
detenidamente.
Condiciones
Para construir las condiciones se usan los operadores lgicos:
mayor mayor o igual igual menor o igual menor distinto
> >= = <= < <>
Excel evala la condicin y devuelve VERDADERO si la condicin se cumple o FALSO en caso
contrario (puede comprobarlo escribiendo en cualquier celda la expresin =5>4, por ejemplo).
Podemos usar nmeros, rtulos o frmulas para construir condiciones; todo depender del problema
concreto que nos estemos planteando. A continuacin mostramos algunos ejemplos:
A3<7 (1000/B6)*SUMA(A1:B4)<>F5+F8 G6="Contado"
Adems, podemos disear una condicin que sea la unin de varias condiciones simultneamente;
para ello, usamos las funciones lgicas Y y O
funcin lgica Y
=SI(Y(subcondicin l; subcondicin 2; ... ; subcondicin 30); accin l; accin 2)
Cada subcondicin puede ser verdadera o falsa; para que el resultado conjunto de la condicin Y sea
verdadero, todas las subcondiciones han de ser verdaderas; dicho de otro modo, basta con que una
de las subcondiciones sea falsa para que el resultado global sea falso, tal como se muestra en la
tabla de verdad.
cond1 cond2 Y
FFF
FVF
VFF
VVV
tabla de verdad de la funcin lgica Y

Si el resultado global es falso, se ejecuta la accin 2 y la accin 1 en caso contrario.


funcin lgica O
=SI(O(subcondicin l; subcondicin 2; ... ; subcondicin 30); accin l; accin 2)
En esta ocasin, la evaluacin de la condicin difiere: para que el resultado conjunto sea verdadero,
al menos una de las subcondiciones ha de serlo, ejecutndose la accin l. Slo en el caso de que
todas las subcondiciones sean falsas, el resultado conjunto lo ser y se ejecutar la accin 2.
cond1 cond2 O
FFF
FVV

VFV
VVV
tabla de verdad de la funcin lgica O

Existe una tercera funcin lgica denominada NO cuya misin es alterar el sentido de la condicin o
subcondicin: NO(condicin) devuelve verdadero si la condicin es falsa y viceversa.
cond NO
FV
VF
tabla de verdad de la funcin lgica NO

Como puede observarse, esta funcin es perfectamente eludible, ya que podemos hacer lo mismo
mediante el uso correcto de los operadores lgicos, como vemos en el ejemplo siguiente:
NO(A 1 >B 1) es igual que A 1 <=B1 NO(A 1 =B 1) es igual que A 1 <>B 1
Acciones
Las acciones son las que van a asignar los valores a las celdas en donde se encuentren escritas las
funciones lgicas. Esta asignacin puede ser muy simple (haz que la celda tome el valor 100), o
muy compleja, mediante el uso de funciones que pueden, a su vez, incluir funciones condicionales:
de esta manera, podemos anidar (es decir, usar una funcin condicional como argumento de otra
funcin condicional) hasta siete funciones condicionales, de forma que la flexibilidad a la hora de
resolver los modelos de hoja de clculo es muy amplia.

Imaginemos que la accin1 de una condicional es, a su vez, otra condicional. Se trata, en otras
palabras, de una anidacin de dos condicionales: en caso de que la condicin1 sea cierta tendremos
que ver qu ocurre con la condicin2; si sta es verdadera se ejecuta la accin1 y la accin2 si fuera
falsa. La accin3 se ejecutar slo cuando la condicin1 haya resultado ser falsa; cada una de estas
acciones podran, a su vez, ser otras funciones condicionales, de manera que podemos anidar, como
anteriormente comentamos, hasta siete de estas funciones.
Para construir funciones lgicas correctas es preciso dominar la sintaxis de las mismas y ser lgicos
en el diseo; es muy comn que se cometan fallos como los indicados a continuacin:
=SI(C7>C8; 1;SI(C7<=C8;0;2))

En esta funcin lgica comparamos el contenido de las celdas C7 y C8, de manera que, en el caso
de que C7 sea mayor que C8 se asigne el valor l; en caso contrario, comparamos si C7 es menor o
igual que C8: podemos observar como esta ltima comparacin carece de lgica, ya que siempre se
cumplir. En otras palabras, nunca se asignar al valor 2 en la condicional anterior.
=SI(A1>B1;"Al es mayor que B1";SI(Al=B1;"A1 es igual que B1";SI(A1<B1;"Al es menor que B1
";"Y aqu qu pongo?"))
En esta funcin sobra la ltima condicional ya que siempre se cumplir: en el caso de que las dos
primeras sean falsas, por tanto Al no sea ni mayor ni igual que Bl, la tercera condicin (A1 < B1)
siempre ser cierta (es decir, Al ser menor que B1). La construccin correcta ser:
=SI(A 1 >B 1;"A 1 es mayor que B1 ";SI(A1 =B 1;"A1 es igual que B1 "; "Al es menor que B1"))

También podría gustarte