Aprende cuándo y cómo usar las expresiones IF
, IFS
y SWITCH
en AppSheet para tomar decisiones en tus apps de forma lógica, ordenada y eficiente.
🔹 IF: Condición única (ideal para decisiones simples)
IF([Estado]="Activo", "Permitido", "No permitido")
🔹 IFS: Múltiples condiciones evaluadas una por una
IFS(
[Estado]="Activo", "Acceso permitido",
[Estado]="Inactivo", "Sin acceso",
[Estado]="Pendiente", "En revisión",
[Estado]="Suspendido", "Acceso bloqueado"
)
🔹 SWITCH: Comparación directa de un valor contra varios posibles resultados
SWITCH(
[Estado],
"Activo", "Acceso permitido",
"Inactivo", "Sin acceso",
"Pendiente", "En revisión",
"Suspendido", "Acceso bloqueado",
"Estado desconocido"
)
Asignando Números a los Días de la Semana en AppSheet: Comparando IF, IFS y SWITCH

En AppSheet, a menudo necesitamos traducir datos textuales a valores numéricos para facilitar cálculos o la lógica de nuestra aplicación. Un ejemplo común es asignar un número a cada día de la semana. A continuación, exploraremos cómo lograr esto utilizando las expresiones IF
, IFS
y SWITCH
, mostrando cómo cada una puede ser utilizada para el mismo resultado, pero con diferencias importantes en su aplicación, orden y potencial de error.
Asumiremos que tienes una columna en tu tabla llamada DIA
que contiene los nombres de los días de la semana (Lunes, Martes, etc.). Crearemos tres columnas virtuales para demostrar cada método.
1. Usando la Expresión IF
(Anidado)
La expresión IF
es la más básica para tomar decisiones condicionales. Evalúa una sola condición y devuelve un valor si es verdadera, y otro si es falsa. Para asignar números a los siete días con IF
, necesitamos anidar varias expresiones IF
una dentro de otra.
Cómo funciona: Se evalúa la primera condición. Si es verdadera, se asigna el valor y el proceso termina para esa fila. Si es falsa, pasa a la siguiente condición anidada, y así sucesivamente hasta encontrar una coincidencia o llegar al valor por defecto.
IF([DIA]="Lunes", 1,
IF([DIA]="Martes", 2,
IF([DIA]="Miércoles", 3,
IF([DIA]="Jueves", 4,
IF([DIA]="Viernes", 5,
IF([DIA]="Sábado", 6,
IF([DIA]="Domingo", 7, 0)
)
)
)
)
)
)
Ventajas:
- Fácil de entender para condiciones simples: Para dos o tres condiciones, es muy legible.
Desventajas:
- Anidamiento complejo: Para muchas condiciones, como en este caso (7 días), la fórmula se vuelve muy larga, difícil de leer y mantener.
- Mayor probabilidad de error: Es fácil equivocarse al cerrar los paréntesis o al establecer la secuencia correcta en un anidamiento tan profundo.
2. Usando la Expresión IFS
La expresión IFS
(Ifs, en plural) te permite evaluar múltiples condiciones en secuencia. Devuelve el valor asociado a la primera condición que sea verdadera.
Cómo funciona: AppSheet revisa cada par de condición, resultado
en el orden en que los defines. Tan pronto como encuentra una condición verdadera, devuelve el resultado correspondiente y detiene la evaluación para esa fila. Si ninguna condición es verdadera, IFS
no devuelve nada a menos que se especifique una condición TRUE
al final para un valor por defecto.
IFS(
[DIA]="Lunes", 1,
[DIA]="Martes", 2,
[DIA]="Miércoles", 3,
[DIA]="Jueves", 4,
[DIA]="Viernes", 5,
[DIA]="Sábado", 6,
[DIA]="Domingo", 7,
TRUE, 0 // Valor por defecto si no coincide con ningún día
)
Ventajas:
- Más ordenada que IF anidado: Es mucho más legible y fácil de gestionar que anidar múltiples
IF
. - Soporta múltiples condiciones: Ideal cuando necesitas evaluar varias reglas que pueden aplicarse en un orden específico.
Desventajas:
- Evaluación secuencial: Aunque es una ventaja para algunas lógicas, si tienes muchas condiciones, AppSheet seguirá evaluándolas hasta encontrar la primera verdadera, lo que podría ser menos eficiente que
SWITCH
para comparaciones directas. - Requiere
TRUE
para valor por defecto: Si olvidas la condiciónTRUE
al final, y ninguna de las condiciones anteriores se cumple, la expresión no devolverá nada, lo cual puede ser un comportamiento inesperado.
3. Usando la Expresión SWITCH
La expresión SWITCH
es ideal cuando tienes una única expresión (en este caso, la columna DIA
) y quieres comparar su valor contra una serie de valores predefinidos, asignando un resultado diferente para cada coincidencia. También permite especificar un valor por defecto si no hay ninguna coincidencia.
Cómo funciona: SWITCH
toma un valor de entrada ([DIA]
). Luego lo compara directamente con cada valor_a_comparar
. Si encuentra una coincidencia, devuelve el resultado_correspondiente
. Si no encuentra ninguna coincidencia, devuelve el valor_por_defecto
.
SWITCH(
[DIA],
"Lunes", 1,
"Martes", 2,
"Miércoles", 3,
"Jueves", 4,
"Viernes", 5,
"Sábado", 6,
"Domingo", 7,
0 // Valor por defecto si [DIA] no coincide con ningún día
)
🎥 Aprende esto y mucho más en mi canal de YouTube
Todo lo que te he explicado aquí lo muestro paso a paso en mi canal de YouTube, con ejemplos prácticos y visuales para que lo entiendas fácilmente. Aquí te dejo el video:
Este video es parte de un curso completo sobre expresiones en AppSheet, donde te enseño todas las funciones más utilizadas y cómo combinarlas para crear apps realmente potentes.
🧠 Al final del curso podrás rendir un examen de conocimiento y, si lo apruebas, recibirás un certificado que avala tu dominio en Expresiones en AppSheet. Perfecto para mejorar tu perfil profesional o mostrar tus habilidades como desarrollador de aplicaciones sin código.
📥 Base de Datos para Practicar
Haz clic en el siguiente enlace para acceder a la hoja de cálculo (base de datos) que utilizamos en este curso. Recuerda que debes hacer una copia en tu propio Google Drive para poder editarla y conectarla a tu app en AppSheet.
➡️ Haz clic aquí para abrir la base de datos
(Sigue el ejemplo que ves en la imagen de abajo para hacer tu copia correctamente)
