Curso
Los usuarios de Excel a menudo necesitan formas flexibles de resumir datos que respondan a filtros o agrupaciones. Las funciones tradicionales como SUM()
, AVERAGE()
, o COUNT()
calculan los resultados basándose en todas las celdas de un rango, independientemente de si algunas filas están ocultas o filtradas. La función SUBTOTAL()
ofrece una alternativa dinámica que ajusta automáticamente sus cálculos en función de lo que esté visible en ese momento en tu hoja de cálculo.
Si eres nuevo en Excel y quieres construir una base sólida antes de explorar funciones avanzadas como SUBTOTAL()
, nuestrocurso de Introducción a Excel cubre habilidades esenciales como la navegación por hojas de cálculo, fórmulas básicas y técnicas de formateo de datos que te prepararán para un trabajo en Excel más sofisticado.
¿Qué es la función SUBTOTAL() en Excel?
La función SUBTOTAL()
calcula valores agregados como suma, media, recuento y otras operaciones estadísticas sobre un conjunto de datos. Lo que la diferencia de las funciones estándar de Excel es que funciona dinámicamente, cambiando su resultado en función de lo que esté visible o filtrado. La función puede ignorar tanto las filas ocultas manualmente como las ocultas mediante filtros, dependiendo del número de función que especifiques.
Cuando aplicas un filtro a tus datos u ocultas manualmente determinadas filas, SUBTOTAL()
ajusta automáticamente su cálculo para incluir sólo las celdas visibles. Este comportamiento lo convierte en una opción excelente para crear filas de resumen en conjuntos de datos filtrados, construir cuadros de mando interactivos o generar informes que deban actualizarse en función de las selecciones del usuario.
La función admite las mismas operaciones estadísticas que las funciones estándar de Excel -incluidas suma, media, recuento, máximo, mínimo y varias más-, pero las agrupa en una única función sensible al contexto que se adapta al estado actual de tus datos.
Sintaxis y operaciones admitidas
La función SUBTOTAL()
sigue una estructura sintáctica sencilla:
=SUBTOTAL(function_num, ref1, [ref2], ...)
El primer parámetro, function_num
determina tanto el tipo de cálculo como la forma en que la función trata las filas ocultas. El resto de parámetros (ref1
, ref2
, etc.) son los rangos de celdas que quieres incluir en el cálculo. Puedes especificar hasta 254 rangos diferentes.
Los números de función se dividen en dos categorías distintas según cómo traten las filas ocultas manualmente:
Número de función |
Operación |
Incluye filas ocultas manualmente |
Excluye las filas ocultas manualmente |
1 / 101 |
MEDIA |
1 |
101 |
2 / 102 |
COUNT |
2 |
102 |
3 / 103 |
COUNTA |
3 |
103 |
4 / 104 |
MAX |
4 |
104 |
5 / 105 |
MIN |
5 |
105 |
6 / 106 |
PRODUCTO |
6 |
106 |
7 / 107 |
STDEV |
7 |
107 |
8 / 108 |
STDEVP |
8 |
108 |
9 / 109 |
SUM |
9 |
109 |
10 / 110 |
VAR |
10 |
110 |
11 / 111 |
VARP |
11 |
111 |
Las funciones números 1-11 incluyen en sus cálculos las celdas de las filas ocultas manualmente, mientras que las funciones números 101-111 las excluyen. Sin embargo, ambos rangos siempre ignoran las filas ocultas por los filtros.
Por ejemplo, SUBTOTAL(9, A2:A10)
calcula la suma de A2:A10 incluyendo las filas ocultas manualmente, mientras que SUBTOTAL(109, A2:A10)
excluye las filas ocultas manualmente del cálculo de la suma. En ambos casos, las filas filtradas se excluyen automáticamente del resultado.
Ejemplo de la función SUBTOTAL() en acción
Veamos cómo funciona SUBTOTAL()
con un ejemplo práctico utilizando datos de ventas de una tienda de electrónica y muebles.
Conjunto de datos sin filtrar. Imagen del autor.
Nuestros datos de muestra contienen siete productos de dos categorías: cuatro artículos de electrónica (ordenador portátil, teléfono, tableta, monitor) y tres artículos de mobiliario (escritorio, silla, lámpara). Sin aplicar filtros, tanto la fórmula SUBTOTAL(109,C2:C8)
como la fórmula normal SUM(C2:C8)
muestran el mismo resultado: 3525 (el total de todas las ventas).
Conjunto de datos filtrado. Imagen del autor.
Ahora hemos aplicado un filtro para mostrar sólo los productos Electrónicos, ocultando las tres filas de Muebles. Observa la diferencia clave en los resultados de nuestros cálculos:
- Fórmula SUBTOTAL muestra 3000 - ajustándose automáticamente para sumar sólo las filas visibles de Electrónica
- Fórmula SUMA normal sigue mostrando 3525 - al seguir incluyendo los elementos ocultos de Muebles
Esta comparación paralela demuestra la principal ventaja de SUBTOTAL()
: responde dinámicamente a los filtros y a los cambios de visibilidad de los datos, mientras que las funciones tradicionales como SUM()
permanecen estáticas. Cuando filtras datos u ocultas filas, SUBTOTAL()
recalcula instantáneamente para reflejar sólo lo que está visible en ese momento, lo que lo hace esencial para cuadros de mando con capacidad de respuesta e informes interactivos.
Cómo funciona SUBTOTAL() con datos ocultos y filtrados
La función SUBTOTAL()
maneja distintos tipos de datos ocultos de formas específicas, por lo que es esencial que comprendas estos comportamientos cuando construyas tus fórmulas.
SUBTOTAL() con filas filtradas
Cuando aplicas un filtro a tu conjunto de datos, SUBTOTAL()
siempre excluye de sus cálculos las filas filtradas, independientemente del número de función que utilices. Este comportamiento es automático y coherente en todos los números de función (tanto en los rangos 1-11 como 101-111).
Por ejemplo, si tienes datos de ventas de enero a diciembre y aplicas un filtro para mostrar sólo los meses del T1 (enero, febrero, marzo), SUBTOTAL(9, B2:B13)
calculará la suma sólo para esos tres meses visibles, ignorando los datos filtrados del T2 al T4.
SUBTOTAL() con filas ocultas manualmente
Las filas ocultas manualmente se gestionan de forma diferente según el número de función que elijas. Cuando haces clic con el botón derecho en los números de fila y seleccionas "Ocultar", estás ocultando manualmente esas filas.
Utilizar los números de función 1-11 incluye estas filas ocultas manualmente en los cálculos. Utilizar los números de función 101-111 los excluye. Esto te permite controlar si los datos ocultos deben afectar a tus resultados.
SUBTOTAL() con rangos horizontal y vertical
La función SUBTOTAL()
funciona mejor con rangos de datos verticales (columnas de datos). Aunque puede manejar rangos horizontales, su comportamiento de ocultación está optimizado para operaciones basadas en filas, ya que las funciones de filtrado y ocultación de filas de Excel funcionan verticalmente.
Cuando anidas fórmulas de SUBTOTAL()
dentro del mismo rango, la función omite automáticamente otros resultados de SUBTOTAL()
para evitar el doble recuento. Esto es especialmente útil cuando creas resúmenes jerárquicos o subtotales dentro de grupos, asegurándote de que tus totales reflejan con precisión cada agrupación distinta sin duplicación.
Usos avanzados de la función SUBTOTAL()
Crear un resumen dinámico desplegable con SUBTOTAL()
Puedes combinar SUBTOTAL()
con la función IF()
para crear resúmenes interactivos que cambien en función de la selección del usuario. Este enfoque utiliza una lista desplegable para que los usuarios puedan cambiar entre distintos tipos de cálculo.
Para crear un resumen desplegable dinámico, configura primero un desplegable en la celda D1
con opciones como "Sum"
, "Average"
, "Count"
, y "Max"
.
A continuación, utiliza la siguiente fórmula en otra celda (por ejemplo, D2
) para ajustar dinámicamente el cálculo en función de la selección del usuario:
=IF(D1="Sum",SUBTOTAL(109,A2:A10),
IF(D1="Average",SUBTOTAL(101,A2:A10),
IF(D1="Count",SUBTOTAL(103,A2:A10),
IF(D1="Max",SUBTOTAL(104,A2:A10),"Select Option"))))
Esta fórmula evalúa la selección desplegable y aplica la función SUBTOTAL()
correspondiente. Los usuarios pueden cambiar entre tipos de cálculo sin editar las fórmulas, lo que hace que los informes sean más interactivos y fáciles de usar.
SUBTOTAL() en tablas y esquemas de Excel
Las tablas de Excel utilizan automáticamente SUBTOTAL()
en la función Fila Total. Cuando conviertes tu rango de datos en una Tabla (Ctrl+T) y activas la Fila Total, Excel inserta por defecto SUBTOTAL(109, …)
para los cálculos de suma. Esta Fila Total se actualiza dinámicamente cada vez que se filtran filas, ajustando instantáneamente los resultados para reflejar sólo los datos visibles.
Puedes cambiar el tipo de cálculo haciendo clic en la flecha desplegable de cualquier celda de Fila Total y seleccionando distintas opciones como Recuento, Media, Máx o Mín. Excel actualiza automáticamente el número de función manteniendo la estructura SUBTOTAL()
.
La función Esquema (Datos > Subtotal) también se basa en fórmulas de SUBTOTAL()
. Cuando agrupas datos e insertas subtotales, Excel coloca automáticamente las funciones SUBTOTAL()
en cada salto de grupo. Esto crea resúmenes jerárquicos que responden correctamente cuando expandes o contraes niveles de esquema, ya que la función ignora los resultados de subtotales anidados.
Errores y limitaciones habituales
Comprender los errores comunes y las limitaciones de SUBTOTAL()
te ayuda a evitar errores de cálculo y a elegir el enfoque adecuado para tus necesidades de análisis de datos.
-
Error #¡VALOR! con números de función no válidos: El error más frecuente se produce al utilizar un número de función no válido.
SUBTOTAL()
sólo acepta los números de función 1-11 y 101-111. Si utilizas números como 12, 50 o 200, se produce un error #¡VALOR! Comprueba siempre que tu número de función corresponde a una operación válida de las gamas admitidas.
-
Comportamiento de columnas ocultas frente a filas ocultas: Mientras que
SUBTOTAL()
responde a las filas ocultas en función del número de función que elijas, no tiene el mismo comportamiento con las columnas ocultas. La función incluye los datos de las columnas ocultas en todos los cálculos, independientemente de si utilizas los números de función 1-11 o 101-111. Esta limitación significa que necesitas enfoques alternativos cuando trabajes con conjuntos de datos en los que la visibilidad de las columnas afecte a tu análisis.
-
No se admiten referencias 3D: A diferencia de muchas funciones de Excel,
SUBTOTAL()
no puede hacer referencia a rangos de varias hojas de cálculo. Las fórmulas comoSUBTOTAL(109, Sheet1:Sheet3!A1:A10)
devuelven errores. Como solución, puedes calcular primero sumas u otros agregados por separado en cada hoja utilizando funciones estándar comoSUM()
, y luego consolidar estos resultados intermedios con un único SUBTOTAL en una hoja resumen.
-
Los valores de error permanecen en los cálculos:
SUBTOTAL()
no ignora las celdas que contienen valores de error como #N/A, #DIV/0! o #VALOR! Estos errores se propagan a través de tus cálculos de subtotales, invalidando potencialmente resultados enteros. Limpia tus datos de errores antes de aplicarSUBTOTAL()
, o considera la posibilidad de utilizar la funciónAGGREGATE()
, que puede omitir los valores de error.
-
La orientación vertical de los datos funciona mejor: Aunque
SUBTOTAL()
puede manejar rangos horizontales, su diseño está optimizado para estructuras de datos verticales. Las funciones de filtrado, ordenación y ocultación de Excel funcionan fila a fila, lo que hace que las disposiciones verticales sean más compatibles con el comportamiento previsto de la función.
Subtotal() vs. AGREGAR()
La función AGGREGATE()
sirve como alternativa mejorada a SUBTOTAL()
, con capacidades adicionales para tratar errores y más operaciones estadísticas. Mientras que SUBTOTAL()
ofrece 11 operaciones básicas, AGGREGATE()
proporciona 19 funciones diferentes, incluyendo cálculos de percentiles, cuartiles y medianas.
La principal ventaja de AGGREGATE()
reside en su capacidad de gestión de errores. A diferencia de SUBTOTAL()
, que incluye los valores de error en los cálculos, AGGREGATE()
puede omitir automáticamente las celdas que contengan errores como #N/A
, #DIV/0!
o #VALUE!
. Esto lo hace especialmente útil para conjuntos de datos con datos incompletos o problemáticos.
AGGREGATE()
también ofrece un control más granular sobre qué ignorar. Puedes configurarlo para que omita filas ocultas, subtotales anidados, valores de error o cualquier combinación de estos elementos utilizando su parámetro opciones.
Consejos profesionales al utilizar SUBTOTAL()
Ordena siempre primero
Cuando utilices la función integrada de Excel Datos > Subtotal, ordena primero tus datos por la columna de agrupación. Esto garantiza que todos los registros relacionados aparezcan juntos, creando rupturas de grupo limpias para tus cálculos de subtotales. Los datos sin clasificar producen subtotales dispersos que no proporcionan resúmenes significativos.
Utiliza etiquetas en la primera fila de columnas
Coloca cabeceras descriptivas en la primera fila de tu rango de datos antes de aplicar los subtotales. Excel utiliza estas etiquetas para crear descripciones de subtotales significativas y facilita la interpretación de tus informes. Los encabezados de columna claros también ayudan al seleccionar rangos para las fórmulas manuales de SUBTOTAL()
.
Ten en cuenta la colocación del sumario (por encima o por debajo)
La herramienta Subtotal de Excel coloca por defecto filas de resumen debajo de cada grupo, pero puedes elegir colocarlas encima. Ten en cuenta el uso previsto de tu informe al hacer esta elección. Las filas de resumen por encima de los grupos funcionan bien para los cuadros de mando ejecutivos, mientras que las filas de resumen por debajo de los grupos se ajustan a los formatos contables tradicionales.
Ocultar o filtrar filas para un control preciso
Comprende la diferencia entre filtrar y ocultar filas manualmente para obtener los resultados esperados. Utiliza filtros cuando quieras que SUBTOTAL()
ignore temporalmente determinados datos. Utiliza la ocultación manual (botón derecho del ratón > Ocultar) cuando quieras exclusiones más permanentes, luego elige los números de función 101-111 para respetar el estado oculto.
Este enfoque te proporciona un control por capas: filtra para las vistas temporales de datos, oculta manualmente para las exclusiones semipermanentes y selecciona los números de función adecuados para cumplir tus intenciones de ocultación.
Conclusión
Aprender a utilizar SUBTOTAL()
con eficacia transforma tu forma de abordar el análisis de datos en Excel. En lugar de crear cálculos estáticos que se rompen cuando cambian los datos, puedes construir fórmulas resistentes que se adapten automáticamente a las acciones del usuario y a las modificaciones de los datos. Esta habilidad resulta especialmente valiosa cuando se trabaja con grandes conjuntos de datos o se crean informes que varios usuarios filtrarán y manipularán a lo largo del tiempo.
Para adquirir una amplia experiencia en Excel más allá de funciones individuales como SUBTOTAL()
, nuestroprograma de habilidades Fundamentos de Excel ofrece un itinerario de aprendizaje estructurado de 16 horas que te lleva desde la preparación de datos hasta técnicas avanzadas de análisis y visualización. Para los lectores dispuestos a explorar inmediatamente las aplicaciones analíticas, nuestro curso Análisis de Datos en Excel enseña a dominar las Tablas Dinámicas y las funciones lógicas avanzadas para profundizar en el conocimiento.
Como profesional experto en Ciencia de Datos, Aprendizaje Automático e IA Generativa, Vinod se dedica a compartir conocimientos y a capacitar a los aspirantes a científicos de datos para que tengan éxito en este dinámico campo.
Preguntas frecuentes
¿Por qué debo utilizar el número de función 109 en lugar de 9 en SUBTOTAL()?
La función número 9 incluye las filas ocultas manualmente en los cálculos, mientras que la 109 las excluye. Elige 109 cuando quieras que se ignoren tanto las filas filtradas como las ocultadas manualmente.
¿Cuál es la diferencia entre SUBTOTAL() y SUMA() en Excel?
SUBTOTAL()
excluye automáticamente las filas filtradas de los cálculos, mientras que SUM()
incluye todas las celdas independientemente del filtrado. SUBTOTAL()
también ignora otras fórmulas de subtotal para evitar el doble cómputo.
¿Puede SUBTOTAL() trabajar con datos de varias hojas de cálculo?
No, SUBTOTAL()
sólo funciona con rangos dentro de la misma hoja de cálculo y no admite referencias 3D. Utiliza funciones alternativas como SUM()
para cálculos en varias hojas.
¿Puedo utilizar SUBTOTAL() con rangos de datos horizontales?
Sí, pero SUBTOTAL()
funciona mejor con datos verticales, ya que las funciones de filtrado y ocultación de Excel operan sobre filas. Los rangos horizontales pueden no comportarse como se espera con la lógica de visibilidad de la función.
¿Cuántos rangos puedo incluir en una sola fórmula SUBTOTAL()?
Puedes especificar hasta 254 rangos diferentes en una fórmula SUBTOTAL()
. Cada rango se añade como un parámetro independiente después del número de función.
¿Cuándo debo elegir AGREGAR() en lugar de SUBTOTAL()?
Utiliza AGGREGATE()
cuando tus datos contengan valores de error que deban excluirse o cuando necesites funciones estadísticas más allá de las 11 operaciones básicas que ofrece SUBTOTAL()
. SUBTOTAL()
es más sencillo para conjuntos de datos limpios con cálculos estándar.