SUBTOTALES (SUBTOTAL) es una función de Excel que resume una lista vertical de datos y adapta el resultado cuando aplicas un filtro. En este tutorial usarás una hoja de ventas para sumar importes visibles, contar registros y calcular promedios sin rehacer la fórmula cada vez. Está disponible en Excel 2016, 2019, 2021, 2024 y Microsoft 365; la página oficial también la documenta para Excel para Mac.
Qué es SUBTOTALES y cuándo conviene usarla
Imagina que registras ventas por vendedor, producto e importe. Cuando quieres saber cuánto vendió Ana, seleccionas «Ana» en el filtro y necesitas que el total cambie automáticamente. SUBTOTALES hace ese trabajo: calcula sobre las filas visibles y deja fuera las que el filtro ocultó.
No es lo mismo que SUMA. Una fórmula con SUMA sigue sumando todas las celdas del rango, aunque algunas estén ocultas por un filtro. SUBTOTALES, en cambio, está pensada para informes y listas de datos. Puedes elegir entre promedio, conteo, suma, máximo, mínimo, producto, desviación y varianza.
En este libro la usarás en la hoja Ventas, con seis ventas y una celda de total debajo. Más adelante ampliarás el mismo libro con un selector para cambiar entre suma, conteo y promedio. Los datos están comprobados en octubre de 2026.
La sintaxis de SUBTOTALES y sus dos argumentos
La forma general es:
=SUBTOTALES(núm_función;ref1;[ref2];…)
núm_función indica qué cálculo se realiza y cómo se tratan las filas ocultadas manualmente. ref1 es el primer rango que se resume. Puedes añadir más rangos opcionales separados por punto y coma.
Por ejemplo, esta fórmula suma los importes de las ventas:
=SUBTOTALES(9;C2:C7)
Si el filtro deja visibles cuatro ventas, la fórmula mostrará únicamente la suma de esas cuatro. La función está documentada oficialmente por Microsoft en SUBTOTALES.
núm_función: el código del 1 al 11 y del 101 al 111
| Código | Cálculo | Filas ocultadas manualmente |
|---|---|---|
| 1 / 101 | PROMEDIO | Incluidas con 1; excluidas con 101 |
| 2 / 102 | CONTAR | Incluidas con 2; excluidas con 102 |
| 3 / 103 | CONTARA | Incluidas con 3; excluidas con 103 |
| 4 / 104 | MAX | Incluidas con 4; excluidas con 104 |
| 5 / 105 | MIN | Incluidas con 5; excluidas con 105 |
| 6 / 106 | PRODUCTO | Incluidas con 6; excluidas con 106 |
| 7 / 107 | DESVEST | Incluidas con 7; excluidas con 107 |
| 8 / 108 | DESVESTP | Incluidas con 8; excluidas con 108 |
| 9 / 109 | SUMA | Incluidas con 9; excluidas con 109 |
| 10 / 110 | VAR | Incluidas con 10; excluidas con 110 |
| 11 / 111 | VARP | Incluidas con 11; excluidas con 111 |
Para una lista que usa filtros, los códigos 101-111 suelen ser una elección práctica porque también omiten las filas ocultadas a mano. Los códigos 1-11 no las eliminan.
ref1 y los rangos adicionales: hasta 254
ref1 puede ser un rango vertical como C2:C7. También puedes escribir varios rangos opcionales: hasta 254 referencias adicionales. La sintaxis general admite referencias separadas por punto y coma, pero la función está diseñada para datos verticales; no la uses como solución general para rangos horizontales.
Por ejemplo, si otra columna contiene importes y quieres sumar ambas columnas en un subtotal:
=SUBTOTALES(9;C2:C7;E2:E7)
Por qué la fila filtrada cambia el resultado y la oculta a mano no siempre
Las filas excluidas por un filtro no se calculan con ningún código de SUBTOTALES. Por eso, SUBTOTALES(9;…) y SUBTOTALES(109;…) cambian al filtrar: ambas ignoran las ventas que el filtro ocultó.
La diferencia aparece cuando ocultas filas con el menú contextual o con Inicio > Formato > Ocultar y mostrar > Ocultar filas. En ese caso:
- Los códigos 1-11 mantienen las filas ocultas dentro del cálculo.
- Los códigos 101-111 las eliminan.
- Las filas ocultas mediante un filtro siguen excluidas en ambos grupos.
Esta diferencia se nota cuando quieres un total visible estrictamente. Por eso, en una hoja con filtros y groupings, utiliza 109 para sumar, 102 para contar o 101 para promediar.
Una suma que sigue a tu filtro en una hoja de ventas
En esta práctica partirás de la hoja Ventas. Escribe los datos exactamente así:
| A | B | C | |
|---|---|---|---|
| 1 | Vendedor | Producto | Importe |
| 2 | Ana | Cuaderno | 120,00 |
| 3 | Bruno | Bolígrafo | 45,50 |
| 4 | Ana | Folder | 80,00 |
| 5 | Carla | Cuaderno | 65,00 |
| 6 | Bruno | Borrador | 30,50 |
| 7 | Ana | Bolígrafo | 25,00 |
| 8 | Total | 366,00 |
- Selecciona la celda C8 y escribe
=SUBTOTALES(9;C2:C7). - Presiona Entrar.
- Selecciona una celda de la columna A, por ejemplo A2, y abre el filtro.
- En el filtro de Vendedor, activa únicamente Ana.
- Lee de nuevo C8.
| A | B | C | |
|---|---|---|---|
| 1 | Vendedor | Producto | Importe |
| 2 | Ana | Cuaderno | 120,00 |
| 3 | Bruno | Bolígrafo | 45,50 |
| 4 | Ana | Folder | 80,00 |
| 5 | Carla | Cuaderno | 65,00 |
| 6 | Bruno | Borrador | 30,50 |
| 7 | Ana | Bolígrafo | 25,00 |
| 8 | Total visible | 225,00 |
Con el filtro de Ana, solo se suman 120,00, 80,00 y 25,00. La fórmula sigue siendo la misma.
Cambiar entre contar, sumar y promediar cambiando solo el primer argumento
Ahora añade tres celdas de resumen en E1:E4. Mantén la misma hoja Ventas, con los seis registros anteriores.
| A | B | C | E | |
|---|---|---|---|---|
| 1 | Vendedor | Producto | Importe | Resumen |
| 2 | Ana | Cuaderno | 120,00 | Contar |
| 3 | Bruno | Bolígrafo | 45,50 | 6 |
| 4 | Ana | Folder | 80,00 | Sumar |
| 5 | Carla | Cuaderno | 65,00 | 366,00 |
| 6 | Bruno | Borrador | 30,50 | Promediar |
| 7 | Ana | Bolígrafo | 25,00 | 61,00 |
- En E1 escribe Resumen.
- En E2 escribe
=SUBTOTALES(2;C2;C7). Cambia el rango a=SUBTOTALES(2;C2:C7)y devuelve 6. - En E3 escribe
=SUBTOTALES(9;C2:C7)y devuelve 366,00. - En E4 escribe
=SUBTOTALES(1;C2:C7)y devuelve 61,00.
Con el filtro de Ana, estos códigos pasan a 3, 225,00 y 75,00. El filtro cambia los tres resultados porque los cálculos se rehacen sobre las filas visibles.
Un menú desplegable que elige entre SUMA, CONTAR y PROMEDIO
Completa el libro con un selector en D1. Para crear la lista desplegable, selecciona D1 y abre:
En el cuadro, usa una lista con estas cuatro opciones:
En D2 escribe una fórmula que use SI anidados:
=SI(D1="Suma";SUBTOTALES(9;C2:C7);SI(D1="Contar";SUBTOTALES(2;C2:C7);SI(D1="Promediar";SUBTOTALES(1;C2:C7);SUBTOTALES(109;C2:C7))))
Selecciona D1 y prueba cada opción:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Vendedor | Producto | Importe | Cálculo |
| 2 | Ana | Cuaderno | 120,00 | Suma |
| 3 | Bruno | Bolígrafo | 45,50 | =SI(D1="Suma";SUBTOTALES(9;C2:C7);SI(D1="Contar";SUBTOTALES(2;C2:C7);SI(D1="Promediar";SUBTOTALES(1;C2:C7);SUBTOTALES(109;C2:C7)))) |
| 4 | Ana | Folder | 80,00 | 366,00 |
| 5 | Carla | Cuaderno | 65,00 | |
| 6 | Bruno | Borrador | 30,50 | |
| 7 | Ana | Bolígrafo | 25,00 |
Al elegir «Contar», D2 muestra 6; al elegir «Promediar», muestra 61,00. La lista no calcula por sí sola: solo proporciona el texto que lee la fórmula.
Por qué SUBTOTALES devuelve #¡NUM! o un resultado raro
Hay tres fallos habituales al usar SUBTOTALES. El primero aparece cuando la referencia es horizontal. El segundo sucede cuando la fórmula incluye su propia celda. El tercero ocurre al intentar combinar hojas con una referencia 3D.
Estos casos no dependen de un problema de configuración del filtro. Revisa primero la forma del rango y qué celdas estás intentando resumir.
La función está documentada junto con sus límites en Límites de las fórmulas.
Referencias horizontales en vez de verticales
Si los datos están en una fila, esta fórmula no calcula el subtotal vertical que necesitas:
| C | D | E | F | G | |
|---|---|---|---|---|---|
| 1 | Importe 1 | Importe 2 | Importe 3 | Importe 4 | Importe 5 |
| 2 | 120,00 | 45,50 | 80,00 | 65,00 | 30,50 |
| 3 | 25,00 |
La causa es que SUBTOTALES está diseñada para columnas o rangos verticales. Transpón los datos para que cada importe esté en una columna y usa un rango como C2:C7, o utiliza SUMA si solo necesitas sumar esa fila.
Una SUBTOTALES dentro del propio rango que cuenta doble
Este diseño es incorrecto:
| A | B | C | |
|---|---|---|---|
| 1 | Vendedor | Producto | Importe |
| 2 | Ana | Cuaderno | 120,00 |
| 3 | Bruno | Bolígrafo | 45,50 |
| 4 | Ana | Folder | 80,00 |
| 5 | Carla | Cuaderno | 65,00 |
| 6 | Bruno | Borrador | 30,50 |
| 7 | Ana | Bolígrafo | 25,00 |
| 8 | Total | 366,00 |
SUBTOTALES omite otros resultados SUBTOTALES que encuentra dentro de las referencias, pero no conviertas la fila del total en parte del rango que quieres resumir. Corrige el rango a C2:C7.
Referencias 3D entre varias hojas que dan #¡NUM!
La fórmula siguiente intenta resumir la misma columna en varias hojas:
=SUBTOTALES(9;Hoja1:Hoja3!C2:C7)
Excel devuelve #¡NUM! porque SUBTOTALES no admite referencias 3D de esta forma. Si cada hoja tiene su propio subtotal, suma esos resultados con SUMA en otra celda. Para combinar datos de varias hojas de forma más autónoma, usa Power Query; su disponibilidad depende de la versión y de la licencia.
Lo que SUBTOTALES no hace y qué usar en su lugar
SUBTOTALES no trabaja de forma confiable con rangos horizontales. Tampoco distingue si una columna está oculta: su lógica de visibilidad se aplica a las filas. No recibe condiciones como «vendedor = Ana»; su rango se define por referencias.
Para sumar con condiciones, utiliza SUMAR.SI (SUMIF) o, con varios criterios, SUMAR.SI.CONJUNTO (SUMIFS). Para comparar ventas por vendedor o categoría en varios criterios, una tabla dinámica puede ser más adecuada.
Si necesitas resumir los datos visibles y agregar una fila Total, convierte el rango en una tabla con Ctrl+T. Después activa la fila Total y elige la columna Importe. La tabla conserva los datos como registros y facilita los filtros.
Lo que ya sabes hacer con SUBTOTALES y el siguiente paso
- SUBTOTALES calcula once operaciones mediante un código del 1 al 11 o del 101 al 111.
- Las filas ocultadas por filtros nunca entran en el resultado.
- Los códigos 1-11 incluyen las filas ocultadas manualmente; los códigos 101-111 las excluyen.
- Las referencias deben ser verticales y el rango no debe incluir el propio total.
- Para cambiar entre suma, conteo y promedio, puedes combinar SUBTOTALES con SI y una lista desplegable.
El siguiente paso es convertir tu hoja Ventas en una tabla: selecciona A1:C7, pulsa Ctrl+T, activa la fila Total y configura la columna Importe para mostrar la suma. Así conserving los datos y podrás seguir filtrando sin rehacer el resumen.
Dudas al usar SUBTOTALES en Excel
1. ¿Puedo usar SUBTOTALES en Excel con condiciones?
La fórmula tiene la forma =SUBTOTALES(núm_función;ref1;[ref2];…). Para sumar se usa 9 o 109; para contar, 2 o 102; para promediar, 1 o 101. El 9 incluye las filas ocultadas manualmente y el 109 las excluye; ambos ignoran las filas ocultas por un filtro.
Fuentes
- MicrosoftFunción SUBTOTALES – Microsoft Supportconsultado el 22/10/2026
- MicrosoftF4 · fijar referencias (y repetir la última acción) — documentación oficialconsultado el 22/10/2026
- MicrosoftCómo se escribe un formato personalizado — documentación oficialconsultado el 22/10/2026
- MicrosoftCOVARIANZA.M — documentación oficialconsultado el 22/10/2026
- MicrosoftRENDTO.DESC — documentación oficialconsultado el 22/10/2026