top of page

SI, operadores lógicos, SI.CONJUNTO

Actualizado: 20 feb 2023

Vamos a ver el condicional SI, función importante, porque a partir de una condición, podemos tomar una decisión.


Por ejemplo, en el siguiente modelo, quiero escribir una provincia, y, si la empresa es Sevilla, que ponga visitada, en caso contrario, que ponga no visitada.









En la celda D2, voy a usar el condicional SI, que tiene tres argumentos.


· Prueba lógica, es la pregunta que vamos a formular.

· Valor_si_verdadero, es lo que va a ocurrir si la condición se cumple.

· Valor_si_falso, es lo que va a ocurrir si la condición no se cumple.


Entonces, la sintaxis será:


=SI(B2="Sevilla";"Visitada";"No visitada")


Quiere decir que, si el valor de B2 es igual a Sevilla, pondrá visitada, en caso contrario pondrá no visitada.


Arrastramos la formula hacia abajo.










Y vemos que aparece tres veces Sevilla, por lo que también aparecen tres veces la palabra visitada.


Podríamos aplicarle un formato condicional para que las celdas que sean igual a Sevilla aparezcan de otro color.


Ahora, lo que quiero es que en vez de que me aparezca visitada, me aparezca el nombre del cliente, para ello, debemos de modificar el argumento valor_si_verdadero, y, poner A2, que es donde se encuentra el nombre del cliente.


=SI(B2="Sevilla";A2;"")


Arrastramos la formula.








Ahora, del siguiente modelo queremos saber que provincias de Sevilla tienen una distancia menor a 15 kilómetros.








En este caso, debemos de usar un operador de comparación, que va a ser menor que.


En este caso, debemos de hacer dos preguntas, una que sea de Sevilla, y, otra que la distancia será menor a 15 kilómetros, esto lo resolvemos con lo que se conoce como SI.ANIDADO, es decir, un SI dentro de otro.


Debemos de preguntar si el valor de B12 es igual a Sevilla, si lo es, pues debemos de volver a preguntar si además la distancia es menor a 15, si lo es, pues que ponga, por ejemplo, dentro de los límites.


Entonces, escribimos el primer SI con la primera pregunta.







Si lo es, en el argumento valor_si_verdadero, vamos a realizar la segunda pregunta, que será que el valor de D12 sea menor a 15.






Hay que decir que todos los SI que vayamos abriendo se cierran al final.


Ya hemos hecho la segunda pregunta, ahora viene el argumento valor_si_falso, pero del segundo SI, en este caso, si se cumple, debemos de poner dentro de los límites.


Hay que tener en cuenta, que si entra en el valor_si_verdadero del segundo SI quiere decir que la primera condición se ha cumplido.






Ahora, viene el valor_si_falso del segundo SI, puede ser que cumpla la primera condición, pero que la segunda no se cumple, en ese caso, vamos a poner que ponga un texto en blanco, es decir, comillas dobles por dos veces, y, cerramos este segundo SI.






Ponemos punto y coma, y viene, por último, valor_si_falso, pero del primer SI, que también vamos a poner comillas dobles.


=SI(B12="Sevilla";SI(D12<15;"Dentro de los límites";"");"")


En resumen, pregunta si el valor de B12 es igual a Sevilla, ya sabemos que puede ser la respuesta si o no, en caso de que sea no, se va al valor_si_falso del primer SI, pone un texto en blanco y se sale.


Si la respuesta es SI, entra en valor_si_verdadero, donde se encuentra con otro SI, pues lo ejecuta, donde pregunta si el valor de D12 es menor a 15, si la respuesta es no, se va al argumento valor_si_falso del segundo SI y se sale, si la respuesta es sí, pues pone 15 y se sale.


Arrastramos la fórmula para ver los resultados.


Teniendo un modelo parecido, quiero saber si la distancia hasta Sevilla es mayor que 30 y menor que 150 pues quiero saber el nombre de la localidad.


En este caso, también debemos de usar un SI.ANIDADO, pero sería una sintaxis larga, aquí entra en juego los operadores lógicos, que son Y/O.


OPERADORES LOGICOS Y/O

Lo primero que vamos a hacer es explicar que son y para que valgan los operadores lógicos.


Nosotros vamos a usar los operadores lógicos Y/O.


El operador lógico Y, nos va a permitir escribir una serie de condiciones, y, si todas estas condiciones se cumplen, nos va a devolver VERDADERO.


A diferencia del operador lógico O, que de todas las condiciones que pongamos, con que se cumpla una de ellas ya nos devuelve VERDADERO.


Veamos unos ejemplos para entenderlo mejor.


Tenemos una serie de números.









Vamos a preguntar si el valor de A2 es igual a uno, si el valor de A3 es igual a dos, y, si el valor de A4 es igual a tres, en caso, que se cumplan todas esas condiciones me va a devolver VERDADERO.


La sintaxis seria:

=SI(A2=1;A3=2;A4=3)


Y como resultado tenemos VERDADERO, porque todas las condiciones se cumplen, ¿Qué ocurre si cambiamos un valor?, pues que nos devolverá FALSO, porque de todas las condiciones una de ellas no se cumple.


Hay que decir que estos operadores no suelen usarse solos, sino como refuerzo de otras funciones.


Veamos, ahora, un ejemplo del operador lógico O.


En el siguiente ejemplo, tenemos tres estanterías con productos en tres pasillos.






Todas las estanterías deben de tener como mínimo cinco productos, en caso, de que alguna de ellas tenga menos de cinco productos, nos debe de avisar que revisemos la estantería.


Es decir, que con que una de las estanterías tenga menos de cinco productos ya me debe de avisar, por lo que con que solo una de las condiciones se cumpla, no hace falta que sean las tres condiciones, me debe de devolver VERDADERO, para ello, vamos a usar el operador lógico O de la siguiente manera:


=O(B15<5;C15<5;D15<5)


Arrastramos la formula.


El resultado es que tenemos dos verdaderos, que es en el pasillo1 y el pasillo3, por lo que se debe de revisar, entonces, al operador lógico O lo vamos a acompañar con el condicional SI, donde vamos a preguntar que, si el resultado del operador lógico O es VERDADERO, debe de poner revisar pasillos.





La sintaxis quedaría:


=SI(O(B15<5;C15<5;D15<5)=VERDADERO;"Revisar pasillo";"")


Si el resultado del operador lógico O es verdadero, que ponga revisar pasillo, en caso contrario, que no ponga nada.


El resultado:








Vemos que debemos de revisar tanto el pasillo1 como el pasillo3.


Si queremos que en vez de que ponga revisar pasillo, ponga revisar y el nombre del pasillo, podemos modificar la formula concatenando, o, uniendo, la palabra Revisar con la celda A15, y, arrastramos.


Quedando de la siguiente manera:


=SI(O(B15<5;C15<5;D15<5)=VERDADERO;"Revisar " & A15;"")







SEGUIMOS CON EL EJEMPLO

Bien, sabiendo para que sirven los operadores lógicos Y/O, volvamos al ejemplo anterior, es decir, quiero saber si la distancia hasta Sevilla es mayor que 30 y menor que 150 pues quiero saber el nombre de la localidad.


En este caso, se deben de cumplir dos condiciones, la primera de ellas, que sea mayor a 30, y, la segunda de ellas, que sea menor a 150.


Por lo que como se deben de cumplir las dos condiciones vamos a usar el operador lógico Y de la siguiente manera:


=Y(D22>30;D22<150)


Con esto ya sabemos qué localidad está dentro de los límites, lo siguiente que quiero es que aparezca dicha localidad.


Por lo que el operador lógico Y va a ser el argumento prueba lógica del condicional SI, quedando de la siguiente manera:


=SI(Y(D22>30;D22<150)=VERDADERO;C22;"")


Es decir, que, si el operador lógico Y devuelve VERDADERO, que me ponga el valor de la celda C22, que es la localidad, en caso contrario, que no me ponga nada.


Arrastramos la formula y podemos ver que la única localidad que cumple es Écija.


Debemos de saber que cuando usamos un SI.ANIDADO, es decir, que vamos a poner más de una condición, esas condiciones también las podemos poner usando el símbolo de asterisco de la siguiente manera:


Vamos a probarlo con el ejemplo que acabamos de hacer, voy a borrar la formula y voy a poner lo siguiente:


=SI((D22>30)*(D22<150);C22;"")


Los criterios deben de ir entre paréntesis, podemos fijarnos que entre el primer criterio y el segundo está el símbolo asterisco, también podemos observar que la sintaxis se recorte un poco, el resultado, por supuesto, es el mismo.


SI.CONJUNTO

También, disponemos de la función SI.CONJUNTO.


La función SI.CONJUNTO comprueba si se cumplen una o varias condiciones y devuelve un valor que corresponde a la primera condición VERDADERO. SI.CONJUNTO puede sustituir a varias instrucciones de un SI anidado y es más fácil de leer con varias condiciones.


Esta función nos permite probar hasta 127 condiciones diferentes, sin embargo, no es recomendable anidar demasiadas condiciones con las instrucciones SI o SI.CONJUNTO, el motivo de ello es que varias condiciones deben especificarse en un orden concreto y puede resultar difícil probarlas y actualizarlas.


Sintaxis

SI.CONJUNTO(prueba_lógica1, valor_si_verdadero1, [prueba_lógica2, valor_si_verdadero2], [prueba_lógica3, valor_si_verdadero3],...)

· Prueba_logica1 – condición que se evalúa como VERDADERO o FALSO.

· Valor_si_verdadero – valor que se devuelve si prueba_logica1, devuelve VERDADERO.


Los demás argumentos, hasta 127 condiciones, tienen el mismo funcionamiento.


Veamos un ejemplo, tenemos los días de la semana.









Quiero que al poner un numero de día de la semana me devuelva el nombre del día, es decir, que, si en la celda C2 escribo el número 2, me debe de devolver martes.


Para ello, vamos a usar SI.CONJUNTO de la siguiente manera:


=SI.CONJUNTO(C2=1;A2


Con esto, preguntamos que, si el valor de la celda C2 es igual a uno que ponga el valor de la celda A2, es decir, lunes.


La función completa quedaría:


=SI.CONJUNTO(C2=1;A2;C2=2;A3;C2=3;A4;C2=4;A5;C2=5;A6;C2=6;A7;C2=7;A8)


Los demás argumentos son los mismos que hemos puesto para lunes, lo único que debemos de cambiar son los números y las celdas que debe de devolver.


Si probamos veremos que al poner un numero nos aparece el día de la semana.


Formato condicional con operador lógico Y/O

Vamos a ver un ejemplo donde vamos a usar una función dentro de formato condicional.


El ejemplo consiste en que tenemos en vertical centros comerciales, y, en horizontal los años.


Mediante una lista desplegable vamos a seleccionar un centro comercial y un año, y, queremos que quede señalado el año dentro de los datos.









Creamos una lista para seleccionar un centro.


Creamos una lista para seleccionar un año.


Seleccionamos un centro y una provincia.


Hay que decir que la función que usemos en formato condicional debe de ser una, que nos devuelva VERDADERO, o, FALSO.


Por lo que no podríamos usar la función INDICE junto con COINCIDIR para señalar el valor.


En este caso, vamos a usar el operador lógico Y, donde vamos a preguntar que, si el valor de A5 es igual al centro seleccionado, y, el valor de B4 es igual al año seleccionado, en caso, que ambas coincidencias se den, nos devolverá verdadero.


En la celda H5 vamos a poner esta expresión.


=Y(A5=B2;B4=D2)


Ahora, debemos de arrastrar hacia la derecha y hacia abajo.


Por lo que debemos de fijar celdas, la celda A5, debemos de filas la columna, para que al copiar hacia la derecha no se actualice la columna, B2 lo debemos de fijar, B4 debemos de fijar la fila, y, D2 lo debemos de fijar.


=Y($A5=$B$2;B$4=$D$2)


Arrastramos hacia la derecha y hacia abajo.


Tenemos falsos y un solo verdadero que es donde hay coincidencia.






Pues esta es la expresión que vamos a usar en formato condicional.


Seleccionamos el modelo donde aplicar la regla de formato condicional.


Copiamos la expresión.


Desplegamos formato condicional.


Elegimos nueva regla.


Pegamos la formula.


Damos un formato.


Aceptamos.


Y vemos como queda resaltado el valor correspondiente.


Ahora, lo que queremos es señalar dos años seleccionados, para ello, vamos a usar el operador lógico O, junto con el operador lógico Y.


Primero, vamos a usar el operador lógico O para preguntar si en el rango de años se encuentra algunos de los seleccionados, fijamos celdas, y, arrastramos.


=O (B$18=$D$16; B$18=$F$16)


Este operador lógico O, va a ser la primera condición del operador lógico Y, donde añadimos la condición del año.


=Y(O(B$18=$D$16;B$18=$F$16);$A19=$B$16)


Aceptamos, y, podemos ver como quedan señalados los años del centro seleccionado.


Ejemplo de las funciones SI.CONJUNTO y SI

Vamos a ver un ejemplo con la función SI.CONJUNTO.


Tenemos los siguientes datos:

















En una celda tenemos el promedio de los valores.


Vamos a preguntar si el valor de la celda B2 es menor al promedio, que ponga “Menor”, y, si es mayor que ponga “Mayor”.


=SI.CONJUNTO(B2<$F$1;"Menor";B2>$F$1;"Mayor")


Fijamos F1.


Arrastramos.


Vemos la palabra menor donde es menor al promedio, y, la palabra mayor donde es mayor al promedio.
















Nos colocamos en la celda C2, donde tenemos la primera función.


Vamos a la pestaña de fórmulas.


Hacemos clic en evaluar formula.


En la ventana de evaluación, vemos subrayado B2.






Hacemos clic en:






Vemos una ventana inferior con el valor de B2.








Hacemos clic en:





Vemos que ahora aparece subrayado la celda F1, donde tenemos el promedio.






Hacemos clic en:






Aparece subrayada la primera condición, traduciendo cada celda a su valor.







Hacemos clic en:






Nos aparece en la primera condición VERDADERO, quiere decir que se cumple, y, marcado la segunda referencia B2.







Hacemos clic en:






Vemos de nuevo una ventana inferior con el valor de B2.








Hacemos clic en:






Ahora, queda señalada la celda F1, la celda del promedio.







Hacemos clic en:






Vemos los valores a comparar de la segunda condición.








Hacemos clic en:







Vemos toda la expresión subrayada, con el resultado de la última condición que es falso.

Hacemos clic en:






Vemos el resultado devuelto, que, en este caso, es menor.







Esto quiere decir que si en la función, suprimo la primera referencia (B2) por verdadera, y, la segunda por falso, obtendré el mismo resultado.


=SI.CONJUNTO(VERDADERO;"Menor";FALSO;"Mayor")


Aceptamos, y, vemos que sí.


Pero esto nos valdría solo para la primera condición, ya que el resto de los valores cambian.


Pero si podría dejar la primera referencia, y, poner la segunda como verdadero.


=SI.CONJUNTO(B2<$F$1;"Menor";VERDADERO;"Mayor")


Y ¿Cómo funciona?


Bien, comprueba la primera condición, si devuelve verdadero, ya no comprueba la segunda condición, sino que se sale.


En caso de que la primera condición devuelva falso, por lógica, se espera que la última condición sea verdadera, es decir, espera un verdadero, que es lo que hemos puesto.


Aceptamos, y, arrastramos, y, vemos que tenemos los mismos resultados.


Para verlo algo más claro, voy a seleccionar la celda C8, que contiene el valor de 88, y, como resultado tenemos mayor.


Selecciono la primera condición, y, pulso F9.


Vemos que nos devuelve falso, porque no hay coincidencia.





Selecciono la segunda condición, y, pulso de nuevo F9.


Vemos que nos devuelve verdadero, si no se cumple la primera condición, se tiene que cumplir la segunda, o, si no es A es B.




Es justamente lo que hemos hecho, poner verdadero en la segunda condición, en otras palabras, si llega a la segunda condición, es porque la primera condición no se ha cumplido.


Pulsamos CTRL más Z para deshacer.


Lo podemos hacer también con el condicional SI, pero he usado SI.CONJUNTO, porque quizás es más fácil de leer.


Ahora tenemos los siguientes datos, donde tenemos dos columnas con provincias, donde algunas de ellas, coinciden en las dos columnas.



Tenemos también el promedio.


Queremos que, si la provincia de la columna 1 y de la columna 2 son iguales, y, está por debajo del promedio, pues igual que antes que nos ponga menor, en caso contrario, que ponga mayor.


Voy a escribir el signo igual, abro un paréntesis y pregunto que, si el valor de A2 es igual al valor de B2, y, cierro el paréntesis.


=(A2=B2)


Arrastramos.


Tenemos verdadero donde hay coincidencia, y, falso donde no la hay.














Pero tenemos una segunda condición, que es que sea menor al promedio.


Para agregar una segunda condición, debemos de usar el símbolo de asterisco, que es igual que el operador lógico Y, abrir un paréntesis y poner la condición.


=(A2=B2)*(C2<$H$1)


En este caso, nos devuelve 1, quiere decir que hay coincidencia.


Arrastramos.














Y tenemos 1 y 0.


Ahora, simplemente, con un SI vamos a preguntar que, si es igual a 1, que ponga menor, en caso contrario, que ponga mayor.


=SI((A2=B2)*(C2<$H$1);"Menor";"Mayor")


Aceptamos, arrastramos, y, ya lo tenemos.


Miguel Angel Franco Garcia

 
 
 

Comments


© 2019 Miguel Ángel Franco García

bottom of page