Condiciones y funciones lógicas

Hola jóvenes

En esta entrada aprenderemos a construir condiciones simples y complejas.
Para las condiciones simples emplearemos operadores relacionales, y para las condiciones complejas se emplearan las funciones de la categoría lógicas: Y() y O().

La finalidad de las condiciones es lograr construir formulas complejas que contengan la función lógica Si().



Las funciones Lógicas trabajan con argumentos cuya evaluación da como resultado un valor de Verdad (verdadero o falso), así mismo, estas funciones devuelven un valor de verdad como resultado. Por ello es necesario empezar a comprender que los valores de verdad son resultado de la evaluación de expresiones que emplean operadores relacionales, y a este tipo de expresiones se les conoce como Expresiones condiciones o simplemente Condiciones.

Las condiciones 

Las condiciones se construyen empleando operadores relacionales o también llamados operadores e comparación. El resultado de dicha comparación será un valor de verdad (verdadero o falso).

Las expresiones condicionales se pueden clasificar en simples y complejas.


Expresiones condicionales simples

Se forman con operadores relacionales que unen dos operandos, en donde estos pueden ser constantes o variables (es decir valores almacenados en alguna celda).

Sirven para comparar valores comunes: numéricos o cadenas de caracteres (se les llama de tipo carácter). Sin embargo las comparaciones serán siempre entre dos valores de tipo numérico o entre dos valores de tipo carácter.

Para escribir este tipo de expresiones simples se emplea la forma 

Operando1 OperadorRelacional Operando2 

Donde:
  • Operando1 y Operando2 son los valores constantes o variables del mismo tipo de dato.
  • OperadorRelacional puede ser cualquiera de los siguientes operadores relaciones:

Debe aclararse que todos los operadores pueden emplearse para comparar valores numéricos, sin embargo, los valores de tipo carácter solo pueden compararse usando los operadores de igualdad (=) o de diferencia(<>). 
Ejemplos usando constantes:

Ejemplo usando un valor almacenado en una celda (valor variable o dinámico ya que el valor de la celda puede cambiarse en cualquier momento sin necesidad de modificar la condición), y comparándolo contra un valor constante, lo común siempre es que el valor constante sea el operando2 y el valor variable el operando1.

En la celda A1 se almacena el valor 5:

Se puede escribir esta expresión directamente en una celda de una hoja de cálculo y será evaluada:

No es una norma poner el valor constante del lado derecho, por lo que debe poner especial atención a la comparación que se está realizando, ya que el cambio de posición de los participantes en la condición altera considerablemente el resultado a obtener. Observe lo siguiente:

El hecho de cambiar de posición los operandos (observe en la figura anterior la condición C1 >10    y la condición   C1<10), o el hecho de invertir los signos, hace que las condiciones se vuelvan contrarias. Por lo tanto, si cambio de posición los operandos de una condición, también debo invertir el signo, para que la condición alterna siga indicando el mismo rango de valores que aceptaba la condición original.

En el caso de los operadores relacionales = o <> el intercambio de la posición no afecta el resultado final, sin embargo, con los demás operadores relacionales el intercambio de la posición si es significativo y altera el valor resultante, ya sea comparando un valor de una celda contra un valor constante, o dos valores almacenados en celdas.

Ejemplo usando valores almacenados en celdas: en la celda B3 guarde el valor 10 y en la celda C3 guarde el valor 3. Si se escribe la expresión condicional B3 < C3 el resultado es Falso.

Ahora bien, si se decide mantener el operador de comparación, pero se invierte la posición de los operandos, el resultado será totalmente diferente:
Recuerden que al manejar cadenas de caracteres las comparaciones solo pueden ser por igualdad (=) o por diferencia (<>). Vea los siguientes dos ejemplos:



Expresiones condicionales complejas

Estas condiciones se formulan empleando operandos booleanos (valores de verdad resultado de una condición simple) los cuales se comparan usando en este caso operadores lógicos, pero en el caso de las hojas de cálculo no existen operadores lógicos, sino que se tienen dos funciones lógicas que hacen el trabajo: Y(), O().

Para escribir este tipo de expresiones se emplea la forma:

OperandoBoleano1 FunciónLógica OperandoBoleano2 

Donde: OperandoBoleano1 y OperandoBoleano2 son expresiones condicionales simples que proporcionan un valor verdadero (V) o falso (F).

Antes de escribir condiciones complejas analicemos primero las funciones lógicas Y() y O().

Función Y( )

La función devuelve VERDADERO si todos los argumentos son VERDADEROS. Si uno de los elementos es FALSO, esta función devuelve el valor FALSO. Los argumentos son expresiones condicionales simples que devuelven valores lógicos. Sintaxis:

Y(ValorLógico1; ValorLógico2... ValorLógico30) 

Donde: ValorLógico1; ValorLógico2 ...ValorLógico30 son las condiciones simples que se deben comprobar. Condiciones que devuelven valores VERDADERO o FALSO. 

Función O( )

La función devuelve VERDADERO si al menos uno de los argumentos es VERDADERO. Esta función devuelve el valor FALSO si todos los argumentos tienen el valor lógico FALSO. Los argumentos son expresiones condicionales simples que devuelven valores lógicos. Sintaxis:

O(ValorLógico1; ValorLógico2... ValorLógico30) 

Donde: ValorLógico1; ValorLógico2 ...ValorLógico30 son las condiciones simples que se deben comprobar. Condiciones que devuelven valores VERDADERO o FALSO.



Para entender las expresiones complejas, es necesario seguir las reglas de verdad de los operadores lógicos, las cuales son aplicables a las funciones lógicas Y() y O(). Para entender la idea general de cómo trabajan dichas funciones, observe la siguiente tabla, en la cual se muestra un resumen global, para lo cual se emplea P para representar al OperadorBoleano1 y q para representar el OperadorBoleano2

En primer lugar veamos algunos ejemplos con la función Y()  usando constantes:

Si se escribe la condición compleja usando la función Y() se tiene: =Y(12<13; 14>12) Observe a continuación el resultado en la hoja de cálculo:


La ventaja de las condiciones complejas es que pueden agregarse la cantidad de operandosBoleanos (condiciones simples) que sean necesarias a evaluar con la función Y().

Veamos otro ejemplo, para ello añadiremos una nueva comparación (7 < 6) a lo ya trabajado en el ejemplo anterior.


Cabe señalar que al escribir la formula la última condición agregada será evaluada después de haber evaluado las dos primeras con Y(), y dicho resultado ahora será evaluado contra el resultado devuelto por la última condición simple agregada.

Veamos ahora un ejemplo empleando referencias de celdas: en A1 inserte el valor 20, en A2 el valor 54, por ello escriba la función: =Y(A1<10;A2>20)

A continuación analicemos algunos ejemplos empleando la función O( ), empecemos  usando constantes


Al escribir la condición compleja usando la función O() se tiene: =O(12<13; 14>12) Observe a continuación el resultado en la hoja de cálculo:



Agrandemos el ejemplo añadiendo una nueva comparación (7 < 6) a lo ya trabajado en el ejemplo anterior.
Al igual que con la función Y(), al escribir la formula con la función O(), al añadir la última condición, ésta se evalúa después de haber evaluado las dos primeras, cuyo resultado es evaluado contra el resultado devuelto por la última condición simple agregada, así se tiene que en la hoja de cálculo la función a insertar es: =O(12<13; 14>12; 7<6) observe el resultado a continuación:


No olvide que el mayor poder de las fórmulas se tiene al usar referencias de celdas. Veamos el siguiente ejemplo, en A1 inserte el valor 20, en A2 el valor 54, por ello escriba la función:  =O(A1<10;A2>20)




Para comprender mejor la construcción de condiciones, siempre es mejor comenzar por darle significado a lo que queremos que evalúen las condiciones que escribimos.
  • Para una mejor explicación de la construcción de condiciones complejas haga clic aquí para descargar un documento de programación en general, que le permitirá comprender mejor las implicaciones que se deben tener en cuenta al momento de querer que una condición compleja se haga verdadera solo con algunos valores deseados, es decir, que solo se haga verdadera con un rango de valores concreto (analice lo señalado a partir de la hoja numerada como 56 en el documento). Cabe aclarar que en los ejemplos se emplean variables (que es lo que se usa en  el caso de los lenguajes de programación), por lo que debe tener presente que para el caso de las hojas de calculo las variables de los ejemplos pueden ser sustituidas por referencia a celdas.

Recordemos que se señalo al inicio que la finalidad de aprender a construir condiciones es lograr construir formulas complejas que empleen el poder de la función lógica Si().

En esta entrada comprenderemos la sintaxis  y se mostrarán solo algunos ejemplos, pero en posteriores entradas abordaremos ejemplos de mayor complejidad.

Función SI( )

Esta función específica una prueba lógica que se desea efectuar. La función permite realizar una de dos acciones, todo depende de la evaluación de la condición. Sintaxis: 

SI(Prueba; Valor_si_verdadero; Valor_si_falso)

Donde:

  • Prueba es cualquier valor o expresión que pueda ser VERDADERO o FALSO. Es decir, una condición simple o compleja que arroja un valor de verdad.
  • Valor_si_verdadero (opcional) es el valor que se devuelve si la prueba lógica es VERDADERA (es decir si la evaluación de la condición devuelve el valor de verdad: Verdadero). 
  • Valor_si_falso (opcional) es el valor que se devuelve si la prueba lógica es FALSO (es decir si la evaluación de la condición devuelve el valor de verdad: Falso). 

Comencemos a entender algunos ejemplos simples.

Si se escribe la función: =SI(A18>5;100;"demasiado pequeño") Se debe entender que lo que se pretende evaluar es lo siguiente: Si el valor en A1 es mayor que 5, entonces la función devuelve el valor 100, el cual se introduce en la celda donde se encuentra escrita la formula; en caso contrario (si da falso), se devuelve el texto “demasiado pequeño”. Observe los resultados de la formula capturando los valores 4 y 150:


Veamos otro ejemplo en el que se omite el segundo argumento de la función, por ello solo se indica acción en caso de que de falso. Se desean dividir dos valores, sin embargo si el divisor es cero, se debe evitar el realizar la división de forma que no arroje el error #DIV/0!. Para ello escriba la función: =SI(B29=0;"";B28/B29) puede ver que en caso de ser verdadero la función no realiza la división y simplemente devuelve cadena de texto vacía.


Si se introduce un divisor diferente de cero, se realiza la operación aritmética:


Al escribir la función: =Si(A22= “F”; “Mujer”; “Hombre”) se espera que al insertar en A22 la letra F entonces el resultado que devuelva la función sea: Mujer


Ahora bien, si por el contrario, en A22 se introduce cualquier otra letra entonces el resultado será: Hombre


En caso que lo que se desee sea que al insertar la letra M devuelva: Hombre, lo que debe hacer es escribir una función SI() adicional incluida como tercer argumento de la función SI() original, de forma que cualquier valor que no sea “F” o “M” sea señalado como un valor incorrecto. La función quedaría sería: =SI(A22="F";"Mujer"; SI(A22="M";"Hombre";"Valor incorrecto")) observe a continuación el resultado devuelto, si se introduce una M o cualquier otro valor no contemplado:





  
Veamos un último ejemplo: se desea saber si Pedro vendió más kilos de arroz que Juan, por lo que en B4 inserte el valor 20 (la venta de Pedro), en B5 el valor 54 (la venta de Juan), por ello escriba la función: =SI(B4>B5; "Pedro vendió más kg de arroz"; "Juan vendió más kg de arroz")


Ahora bien, un último ejemplo: si se desea saber si Pedro vendió mas kilos de arroz que Juan y José, entonces se puede escribir una condición compleja usando la función Y(), y esta usarla dentro de la función SI(): 
=SI(Y(D4>D5; D4>D6); "Pedro vendió más kg de arroz"; "Pedro NO vendió más kg de arroz")



Esto es todo por el momento, analicen y practiquen lo señalado en la entrada, a fin de comprender la construcción de condiciones simples y complejas, así mismo encuentren diversos ejemplos de la vida real, con los que puedan reflexionar sobre el uso de las condiciones. Piensen igualmente en que casos resulta necesaria la función SI(). En su debido momento se abordarán otros ejemplos que permitan usar funciones SI() de mayor complejidad.

Para descargar el material proporcionado en la presente entrada haga clic aquí.
 
Saludos

M.C. Bertha López Azamar




P.D. Alumno UNPA, si ya leíste la entrada, pon la letra de tu grupo y las iniciales de tus apellidos primero y luego de tu nombre en un comentario de esta entrada.