Función SI: Fórmulas anidadas y cómo evitar problemas

Función SI: Fórmulas anidadas y cómo evitar problemas

La función SI le permite realizar una comparación lógica entre un valor y el resultado que espera probando una condición y devolviendo un resultado si es Verdadero o Falso.

  • =SI(Algo es Verdadero, hacer algo; de lo contrario hacer algo diferente)

Por esto, una instrucción SI puede tener dos resultados. El primer resultado es si la comparación es Verdadera y el segundo si la comparación es Falsa.

Las instrucciones SI son extremadamente sólidas y forman la base de muchos modelos de hoja de cálculo, pero también son la causa principal de muchos de los problemas en las hojas de cálculo. Lo ideal es que una instrucción SI se aplique a condiciones mínimas, como Hombre/Mujer, Sí/No/Quizás, por nombrar algunos ejemplos, pero a veces es posible que deba evaluar escenarios más complejos que requieren el anidamiento* de más de 3 funciones SI juntas.

* “Anidamiento” hace referencia a la práctica de unir varias funciones en una fórmula.

Use la función SI, una de las funciones lógicas, para devolver un valor si una condición es verdadera y otro si es falsa.

Sintaxis

SI(prueba_lógica; valor_si_verdadero; [valor_si_falso])

Por ejemplo:

  • =SI(A2>B2,"Presupuesto excedido";"Correcto")

  • =SI(A2=B2,B4-A4,"")

Nombre del argumento

Descripción

prueba_lógica   

(obligatorio)

El valor que quiere probar.

valor_si_verdadero   

(obligatorio)

El valor que desea devuelto si el resultado de prueba_lógica es VERDADERO.

valor_si_falso   

(opcional)

El valor que desea devuelto si el resultado de prueba_lógica es FALSO.

Observaciones

Aunque Excel permite anidar hasta 64 funciones SI distintas, no se recomienda hacerlo. ¿Por qué?

  • El uso de varias instrucciones SI requiere una cuidada planificación para crearlas correctamente y asegurarse de que su lógica puede calcular sin errores cada una de las condiciones hasta llegar al final. Si no anida su fórmula con una precisión absoluta, podría funcionar en el 75 % de los casos pero devolver resultados inesperados en el 25 % restante. Lamentablemente, las probabilidades de detectar ese 25 % de casos son muy escasas.

  • El mantenimiento de varias instrucciones SI puede resultar muy difícil, especialmente si pasado un tiempo intenta averiguar lo que usted o, peor todavía, otra persona, estaba intentando hacer.

Si se encuentra con una instrucción SI que parece que no para de crecer, es el momento de soltar el mouse y volver a pensar en su estrategia.

A continuación encontrará instrucciones sobre cómo crear correctamente una instrucción SI anidada compleja con varios SI y cómo reconocer que es el momento de usar otra herramienta en su arsenal de Excel.

Ejemplos

A continuación encontrará un ejemplo de una instrucción SI anidada relativamente estándar para convertir resultados de exámenes en su equivalente de la calificación mediante letras.

Instrucción SI anidada compleja: la fórmula de la celda E2 es =SI(B2>97;"A+";IF(B2>93;"A";SI(B2>89;"A-";SI(B2>87;"B+";SI(B2>83;"B";SI(B2>79;"B-";SI(B2>77;"C+";SI(B2>73;"C";SI(B2>69;"C-";SI(B2>57;"D+";SI(B2>53;"D";SI(B2>49;"D-";"F"))))))))))))
  • =SI(D2>89,"A",SI(D2>79,"B",SI(D2>69,"C",SI(D2>59,"D","F"))))

    Este instrucción SI anidada compleja sigue una lógica sencilla:

  1. Si el resultado (en la celda D2) es mayor que 89, la calificación es A

  2. Si el resultado es mayor que 79, la calificación es B

  3. Si el resultado es mayor que 69, la calificación es C

  4. Si el resultado es mayor que 59, la calificación es D

  5. En caso contrario, la calificación es F

Este ejemplo concreto es relativamente seguro porque no es probable que la correlación entre resultados de exámenes y calificaciones mediante letras cambie, por lo que no requiere mucho mantenimiento. Pero, ¿qué pasaría si necesita aplicar grados a las calificaciones, es decir, A+, A y A-, y así sucesivamente? En ese caso, es necesario volver a escribir la instrucción SI con cuatro condiciones para que pase a tener 12. Este es el aspecto que tendría la fórmula:

  • =SI(B2>97,"A+",SI(B2>93,"A",SI(B2>89,"A-",SI(B2>87,"B+",SI(B2>83,"B",SI(B2>79,"B-", SI(B2>77,"C+",SI(B2>73,"C",SI(B2>69,"C-",SI(B2>57,"D+",SI(B2>53,"D",SI(B2>49,"D-","F"))))))))))))

Sigue siendo precisa y funcionará según lo previsto, pero lleva mucho tiempo escribirla y más tiempo probarla para asegurarse de que hace lo que se quiere. Otro problema obvio es que ha tenido que escribir a mano las puntuaciones y las correspondientes calificaciones con letras. ¿Cuáles son las probabilidades de que tenga accidentalmente un error tipográfico? Imagine ahora que intenta hacer esto 64 veces con condiciones más complejas. Por supuesto que es posible, pero, ¿realmente quiere tener que realizar este tipo de esfuerzo y exponerse a probables errores que serán muy difíciles de detectar?

Sugerencia: Todas las funciones de Excel requieren paréntesis de apertura y cierre (). Excel intentará ayudarle a averiguar cómo están organizadas coloreando diferentes partes de la fórmula cuando la edita. Por ejemplo, si fuese a editar la fórmula anterior, a medida que moviese el cursor por encima de cada uno de los paréntesis finales ")", el paréntesis de apertura correspondiente pasaría a ser del mismo color. Esto puede ser especialmente útil en fórmulas anidadas complejas cuando intente averiguar si tienen el mismo número de paréntesis de apertura que de cierre.

Ejemplos adicionales

A continuación encontrará un ejemplo muy común sobre cómo calcular la Comisión de ventas basándose en los niveles de Ingresos obtenidos.

La fórmula de la celda D9 es SI(C9>15000;20%;SI(C9>12500;17,5%;SI(C9>10000;15%;SI(C9>7500;12,5%;SI(C9>5000;10%;0)))))
  • =SI(C9>15000,20%,SI(C9>12500,17.5%,SI(C9>10000,15%,SI(C9>7500,12.5%,SI(C9>5000,10%,0)))))

Esta fórmula indica que SI(C9 es mayor de 15.000, debe devolver un 20 %, SI(C9 es mayor de 12.500, debe devolver un 17, 5%, y así sucesivamente...

Aunque es muy similar al anterior ejemplo de las calificaciones, esta fórmula es un buen ejemplo de lo difícil que resulta mantener instrucciones SI de gran tamaño. ¿Qué tendría que hacer si la organización decidiese agregar nuevos niveles de compensación y puede que incluso cambiar los valores de porcentaje o de dólar existentes? Tendría una gran cantidad de trabajo entre manos.

Sugerencia: Puede insertar saltos de línea en la barra de fórmulas para facilitar la lectura de las fórmulas largas. Solo tiene que pulsar Alt+ENTRAR antes del texto que desea ajustar a una nueva línea.

Aquí tiene un ejemplo del escenario de comisión con una lógica extraña:

La fórmula de la celda D9 no funciona =SI(C9>5000;10%;SI(C9>7500;12,5%;SI(C9>10000;15%;SI(C9>12500;17,5%;SI(C9>15000;20%;0)))))

¿Puede ver qué está mal? Compare el orden de las Comparaciones de ingresos en el ejemplo anterior. ¿Qué orden sigue este? En efecto, va de abajo hacia arriba (5000 $ a 15 000 $), no al revés. Pero, ¿por qué es tan importante el orden? Es muy importante porque la fórmula no puede pasar la primera evaluación para cualquier valor superior a 5000 $. Supongamos que tiene unos ingresos de 12 500 $: la instrucción SI devolverá 10 % porque es mayor que 5000 $ y se detendrá allí. Esto puede resultar muy problemático porque en muchas situaciones estos tipos de errores pasan desapercibidos hasta que han tenido un impacto negativo. Por lo tanto, sabiendo que hay algunas dificultades graves con las instrucciones SI anidadas complejas, ¿qué puede hacer? En la mayoría de los casos, puede usar la función BUSCARV en lugar de crear una fórmula compleja con la función SI. Cuando usa BUSCARV, tiene que crear primero una tabla de referencia:

La fórmula de la celda D2 es =BUSCARV(C2;C5:D17;2;VERDADERO)
  • =BUSCARV(C2,C5:D17,2,VERDADERO)

Esta fórmula indica que debe buscarse el valor de C2 en el rango C5:C17. Si se encuentra el valor, devuelve el valor correspondiente de la misma fila en la columna D.

La fórmula de la celda C9 es =BUSCARV(B9;B2:C6;2;VERDADERO)
  • =BUSCARV(B9,B2:C6,2,VERDADERO)

De forma similar, esta fórmula busca el valor de la celda B9 en el rango B2:B22. Si se encuentra el valor, devuelve el valor correspondiente de la misma fila en la columna C.

Nota: Ambas funciones BUSCARV usan el argumento VERDADERO al final de las fórmulas, lo que significa que se está buscando una coincidencia aproximada. Es decir, hará coincidir valores exactos en la tabla de búsqueda, así como los valores comprendidos entre ellos. En este caso, las tablas de búsqueda deben ordenarse en forma ascendente, de menor a mayor.

Encontrará más detalles sobre BUSCARV aquí, pero puede tener la seguridad de que es mucho más sencillo que una instrucción SI anidada compleja de 12 niveles. También hay otras ventajas menos obvias:

  • Las tablas de referencia de BUSCARV están a simple vista.

  • Los valores de tabla se pueden actualizar fácilmente y nunca tendrá que tocar la fórmula si las condiciones cambian.

  • Si no desea que las personas puedan ver o interferir con la tabla de referencia, basta con colocarla en otra hoja de cálculo.

¿Sabía que...?

Ahora hay una función SI.CONJUNTO que puede reemplazar varias instrucciones SI anidadas por una sola función. Por lo tanto, en lugar de nuestro ejemplo de calificaciones inicial, que tiene cuatro funciones SI anidadas:

  • =SI(D2>89,"A",SI(D2>79,"B",SI(D2>69,"C",SI(D2>59,"D","F"))))

Se puede crear una fórmula mucho más sencilla con una sola función SI.CONJUNTO:

  • =SI.CONJUNTO(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",VERDADERO,"F")

La función SI.CONJUNTO es muy útil porque no es necesario preocuparse por todas las instrucciones SI y sus paréntesis correspondientes.

Nota: Esta característica solo está disponibles si se tiene una suscripción a Office 365. Si es suscriptor de Office 365, asegúrese de tener la versión más reciente de Office.

Probar Office 365 o la última versión de Excel

¿Necesitas más ayuda?

Siempre puede preguntar a un experto en Excel Tech Community, obtener soporte técnico en la Comunidad de respuestas o sugerir una característica nueva o mejora en el UserVoice de Excel.

Temas relacionados

Vídeo: Funciones SI avanzadas
Función SI.CONJUNTO (Office 365, Excel 2016 y posterior)
La función CONTAR.SI contará los valores según un solo criterio
La función CONTAR.SI.CONJUNTO contará los valores según varios criterios
La función SUMAR.SI sumará los valores según un solo criterio
La función SUMAR.SI.CONJUNTO sumará los valores según varios criterios
Función Y
Función O
Función BUSCARV
Información general sobre las fórmulas de Excel
Cómo evitar la ruptura de las fórmulas
Detectar errores en las fórmulas con la comprobación de errores
Funciones lógicas
Funciones de Excel (por orden alfabético)
Funciones de Excel (por categoría)

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×