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.
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
Donde:
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:
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.
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(<>).
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
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:
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.
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.
Veamos otro ejemplo, para ello añadiremos una nueva comparación (7 < 6) a lo ya trabajado en el ejemplo anterior.
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)
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.
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:
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
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")
=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.
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.