La función SUM() en AppSheet es una de las más utilizadas cuando necesitas obtener el total de valores numéricos de una columna. Es ideal para aplicaciones como control de gastos, ventas, ingresos, inventarios y más.
Una forma sencilla de usarla es así:
SUM(GASTOS[Monto])
📌 Esta fórmula suma todos los valores de la columna Monto dentro de la tabla GASTOS, sin aplicar ningún filtro. Es útil cuando deseas conocer el total general de todos tus registros de gasto.

¿Vale la Pena Usar SUM(GASTOS[Monto]) en AppSheet?
La sintaxis SUM(GASTOS[Monto]) permite sumar todos los valores de la columna Monto en la tabla GASTOS, y es una forma muy directa de usar la función SUM().
Sin embargo, en la mayoría de casos, esta fórmula no es necesaria, ya que AppSheet nos ofrece herramientas como Group Aggregate en las vistas tipo tabla o deck. Con esta opción, puedes agrupar datos (por ejemplo, por categoría o por mes) y automáticamente mostrar la suma del monto sin necesidad de crear una columna virtual ni escribir una fórmula.
✅ Entonces, cuándo evitar SUM(GASTOS[Monto]) directamente?
- Cuando solo necesitas ver el total agrupado en una vista.
- Cuando no necesitas hacer cálculos más complejos o filtrados.
💡 La función SUM() sigue siendo fundamental, especialmente cuando la usamos junto a SELECT() u otras funciones que permiten aplicar filtros. Pero la sintaxis básica SUM(GASTOS[Monto]) puede considerarse innecesaria en muchos casos prácticos dentro de AppSheet.

💡 Mostrar la suma por meses en AppSheet
Para sumar los montos de gastos correspondientes a un mes específico, podemos usar la siguiente fórmula:
SUM(SELECT(Gastos[Monto], [Mes] = [_THISROW].[Mes]))
¿Qué hace esta fórmula?
Esta fórmula realiza la suma total de los gastos correspondientes a un mes específico. Pero no suma todos los registros indiscriminadamente; filtra los datos por mes y luego aplica la suma únicamente a aquellos que coinciden con el mes de la fila actual.
Es muy útil cuando tienes, por ejemplo, una tabla de totales mensuales y necesitas calcular automáticamente cuánto se gastó en cada mes sin tener que hacerlo manualmente.
🔍 Desconstruyendo la fórmula paso a paso
Vamos a ver en detalle cómo funciona cada parte de esta fórmula y qué está haciendo exactamente.
🔸 _THISROW
_THISROW significa «esta fila». Se refiere directamente a la fila donde se está ejecutando la fórmula. Por ejemplo, si estás en la fila correspondiente a «Julio», todo lo que pongas como _THISROW.[Mes] va a devolver el valor «Julio».
En resumen:
_THISROW.[Mes]
➡️ Significa: “El valor del mes en la fila actual”.
🔸 SELECT(Gastos[Monto], [Mes] = [_THISROW].[Mes])
Esta parte es fundamental. Vamos a separarla por partes:
📌 Gastos[Monto]
Indica que queremos extraer datos de la columna Monto que pertenece a la tabla Gastos.
📌 [Mes] = [_THISROW].[Mes]
Es la condición del filtro. Dice:
Solo quiero los montos cuyo campo [Mes] (de la tabla Gastos) sea igual al mes que tengo en esta fila (_THISROW).
Esto significa que, si la fila actual representa el mes de “Agosto”, entonces la fórmula buscará todos los registros en la tabla Gastos cuyo campo [Mes] también sea “Agosto”.
En resumen:
SELECT(Gastos[Monto], [Mes] = [_THISROW].[Mes])
➡️ Devuelve una lista de montos (de la tabla Gastos) filtrados por el mes de la fila actual.
🔸 SUM(...)
Una vez que tienes la lista filtrada por mes gracias a SELECT, la función SUM(...) suma todos los valores de esa lista.
Así que en conjunto:
SUM(SELECT(Gastos[Monto], [Mes] = [_THISROW].[Mes]))
➡️ Devuelve la suma total de los gastos registrados en el mismo mes que el mes de esta fila.
✅ ¿Para qué sirve realmente?
Sirve, por ejemplo, para una tabla que muestre los totales de cada mes, como este ejemplo:
| Mes | Total Gastado |
|---|---|
| Enero | $120.00 |
| Febrero | $245.50 |
| Marzo | $198.00 |
Cada valor en la columna “Total Gastado” sería generado por esta fórmula, sumando automáticamente todos los gastos de ese mes sin que tú tengas que calcularlo manualmente.
🟡 Importante: ¿Es necesario usar esta fórmula?
Aunque esta fórmula es muy útil, no siempre es necesaria. AppSheet te permite hacer esto directamente desde una vista tipo “Table” o “Deck” usando la opción de «Group aggregate». Si agrupas por mes, puedes indicar que AppSheet muestre automáticamente la suma de los montos, sin necesidad de crear una columna virtual con esta fórmula.
Entonces, usar esta fórmula tiene sentido si:
- Necesitas usar el total mensual en otras fórmulas.
- Quieres personalizar el resultado en una columna virtual.
- O necesitas mostrar el total en una tabla que no es directamente la de gastos.

Sumar desde otra tabla en AppSheet
A veces necesitamos sumar datos que no están directamente en la misma tabla donde estamos trabajando. Y sí, se puede hacer sin complicaciones.
✅ Ejemplo: SUM(SELECT(Gastos[Monto], [Categoria] = [_THISROW].[Categoria]))
Esta fórmula la estoy realizando desde una tabla llamada Totales, nos permite sumar todos los montos de la tabla Gastos que pertenecen a una categoría específica, comparando el campo [Categoria] de mi tabla Totales con el de la fila actual. Es decir, esta fórmula me permite aplicar un filtro porque en ambas tablas existe una columna con datos iguales. Luego, puedo realizar una suma en base a esos datos coincidentes. Este tipo de estructura se utiliza comúnmente con columnas tipo ID, como podrás comprobar más abajo.
📌 Por ejemplo:
Si la fila actual representa la categoría «Comida», esta fórmula sumará todos los gastos registrados en esa categoría.


Cabe mencionar que no siempre es necesario tener una misma columna en ambas tablas para poder hacer una suma. Si lo que se necesita es simplemente obtener el total de una columna sin aplicar filtros, podemos usar directamente la función SUM(GASTOS[Monto]), como vimos en la parte superior. Esta opción es útil cuando no requerimos condicionar la suma a ningún valor específico.
📅 Sumar por un rango de fechas
Ahora vamos un paso más allá. Supongamos que queremos sumar todos los gastos dentro de un rango de fechas, por ejemplo del 1 al 15 de mayo. Para eso usamos esta fórmula:
SUM(
SELECT(
Gastos[Monto],
AND(
[Fecha] >= [_THISROW].[Fecha_Inicio],
[Fecha] <= [_THISROW].[Fecha_Fin]
)
)
)
🧩 Descomponiendo la fórmula paso a paso
🔹 [_THISROW].[Fecha_Inicio] y [_THISROW].[Fecha_Fin]
Estos valores vienen de la tabla actual y representan el rango de fechas que queremos evaluar. El usuario puede elegir estas fechas, o pueden generarse automáticamente.
🔹 AND([Fecha] >= ..., [Fecha] <= ...)
Esta parte define el filtro lógico:
Solo se seleccionarán los registros de la tabla Gastos cuya fecha esté dentro del rango establecido.
🔹 SELECT(Gastos[Monto], ...)
Una vez definido el filtro con AND(...), esta función selecciona los valores de la columna Monto de la tabla Gastos, solo si cumplen con el filtro de fechas.
🔹 SUM(...)
Finalmente, la función SUM(...) toma esa lista filtrada de montos y devuelve la suma total.
🧠 Resultado final
Con esta fórmula, obtienes la suma total de los montos registrados entre dos fechas específicas, incluso si esos datos están en otra tabla.
💡 Consejo
Al permitir que el usuario seleccione una fecha de inicio y una fecha final, puedes crear reportes o paneles totalmente dinámicos. Esta técnica es ideal para:
- Reportes mensuales
- Comparativas semanales
- Resúmenes personalizados
- Filtrar gastos por periodos específicos

¿Cómo sumar desde varias tablas relacionadas usando el mismo ID?
Cuando trabajamos con tablas relacionadas en AppSheet, es común tener una tabla principal (también llamada “padre”) y una o varias tablas hijas. En este caso, tenemos una tabla principal llamada PAGOS, y dos tablas hijas: PAGOS_BANCO y PAGOS_VIVIENDA. Ambas están referenciadas a la tabla PAGOS mediante la columna ID_Pagos, que actúa como vínculo entre ellas.
Supongamos que queremos saber el total de los pagos que se han registrado en ambas tablas hijas (banco y vivienda) para una entrada específica en la tabla PAGOS. Para lograrlo, podemos usar esta fórmula:
SUM(SELECT(PAGOS_BANCO[Monto], [ID_Pagos] = [_THISROW].[ID_Pagos]))
+
SUM(SELECT(PAGOS_VIVIENDA[Monto], [ID_Pagos] = [_THISROW].[ID_Pagos]))
¿Qué hace esta fórmula?
Esta fórmula realiza dos operaciones por separado, y luego suma sus resultados:
- Primera parte – Banco:
SUM(SELECT(PAGOS_BANCO[Monto], [ID_Pagos] = [_THISROW].[ID_Pagos]))
- Se seleccionan todos los valores de la columna
Montodentro de la tablaPAGOS_BANCO. - Pero solo se incluyen aquellos registros donde
ID_Pagos(en la tablaPAGOS_BANCO) coincida con elID_Pagosdel registro actual en la tablaPAGOS. - Luego se realiza la suma de esos valores.
Segunda parte – Vivienda:
SUM(SELECT(PAGOS_VIVIENDA[Monto], [ID_Pagos] = [_THISROW].[ID_Pagos]))
- Esta parte hace exactamente lo mismo, pero en la tabla
PAGOS_VIVIENDA.
- Resultado final:
- Se suman ambas cantidades para obtener el total general de pagos desde las dos tablas hijas.
¿Por qué usar esta estructura?
- Porque estás trabajando con tablas hijas que dependen de una tabla padre.
- Todas las filas hijas relacionadas tienen un
ID_Pagosque apunta al registro correspondiente de la tablaPAGOS. - De este modo, puedes consolidar los datos distribuidos en varias tablas sin tener que duplicar la información en la tabla padre.
Ventajas
- Te permite mantener tu base de datos organizada, con cada tabla enfocada en un tipo de pago.
- Evita redundancia de información.
- Facilita futuras consultas más complejas.

📥 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)







