Agrupar y sumar columnas específicas con AGRUPARPOR y ELEGIRCOLS
Un miembro de la comunidad necesita agrupar datos de una hoja de seguimiento y sumar solo determinadas columnas, sin incluir todas las del rango. Fernando sugiere usar APILARH para seleccionar las columnas de interés antes de agrupar.
John aporta la solución definitiva combinando AGRUPARPOR con ELEGIRCOLS para seleccionar exactamente qué columnas sumar:
``
=AGRUPARPOR(SEGUIMIENTO!A:A;ELEGIRCOLS(SEGUIMIENTO!C:F;1;2;4);SUMA;3)
`
Con ELEGIRCOLS(SEGUIMIENTO!C:F;1;2;4) se eligen las columnas 1, 2 y 4 del rango C:F (es decir, C, D y F, saltando la E). Luego AGRUPARPOR agrupa por la columna A y aplica SUMA` a las columnas seleccionadas. El tercer argumento (3) controla las opciones de ordenación.
Como buena práctica, John recomienda no usar columnas completas (A:A, C:F) sino rangos acotados, para mejorar el rendimiento.
AGRUPARPOR resuelve en una fórmula lo que antes pedía una tabla dinámica: agrupa por una columna y agrega el resto. El problema aparece cuando no quieres agregar todas las columnas del rango. Es lo que planteó un miembro de la comunidad con su hoja de seguimiento: necesitaba sumar unas columnas sí y otras no, sin que las intermedias se colaran en el resultado.
El primer enfoque: montar el rango a mano
Fernando apuntó la dirección correcta: si el rango de valores no puede ser continuo, constrúyelo tú antes de agrupar. Con APILARH puedes juntar las columnas que te interesan, en el orden que quieras, y pasarle a AGRUPARPOR ese bloque ya preparado.
Es una solución válida y muy explícita: se ve de un vistazo qué columnas entran. El inconveniente es que la fórmula se alarga en cuanto son varias, y que hay que repetir la referencia a la hoja en cada trozo.
La solución de John: ELEGIRCOLS dentro de AGRUPARPOR
=AGRUPARPOR(SEGUIMIENTO!A:A; ELEGIRCOLS(SEGUIMIENTO!C:F; 1; 2; 4); SUMA; 3)La pieza interesante es la del medio. ELEGIRCOLS(SEGUIMIENTO!C:F; 1; 2; 4) toma el rango C:F y se queda con sus columnas primera, segunda y cuarta, es decir, C, D y F, saltándose la E. El resultado es un bloque de tres columnas que AGRUPARPOR agrega sin enterarse de que en el origen no eran contiguas.
Lo que hace elegante a esta versión es el detalle de la numeración relativa: los índices que le pasas a ELEGIRCOLS no son columnas de la hoja, son posiciones dentro del rango que le das. En C:F, la posición 1 es C y la 4 es F. Si mañana mueves el bloque de datos, los índices siguen siendo correctos mientras la estructura interna no cambie.
El orden también es tuyo: si escribes 4; 1; 2 obtendrás las mismas columnas colocadas de otra forma en el resultado. ELEGIRCOLS selecciona y reordena en la misma pasada.
Los argumentos opcionales de AGRUPARPOR
En la fórmula aparece un 3 después de SUMA. AGRUPARPOR tiene varios argumentos opcionales tras la función de agregación —relacionados con las cabeceras de campo, los totales, el orden y un filtro— y merece la pena revisarlos con calma en la ayuda de la función, porque cambian bastante el aspecto del resultado. Es de las funciones donde los opcionales hacen tanto trabajo como los obligatorios.
El apunte de rendimiento
John cerró con una recomendación que aplica a casi todas las fórmulas de matriz dinámica: no uses columnas completas. Referencias como A:A o C:F obligan a Excel a considerar más de un millón de filas por columna, aunque tu tabla tenga trescientas. En una fórmula suelta se nota poco; en una hoja con decenas de fórmulas de este tipo, la diferencia es evidente.
Las dos alternativas razonables:
- Acota el rango a lo que ocupa realmente la tabla y revísalo cuando crezca.
- Convierte el origen en tabla y usa referencias estructuradas, que se ajustan solas al añadir filas y son la opción más cómoda a medio plazo.
Funciones clave
AGRUPARPOR: agrupa por uno o varios campos y aplica una función de agregación a las columnas de valores.ELEGIRCOLS: extrae columnas concretas de un rango por su posición relativa dentro de ese rango, y permite reordenarlas.APILARH: junta bloques de columnas en horizontal; la alternativa más explícita para montar el rango de valores.SUMA: aquí se pasa como función de agregación, sin envolverla enLAMBDA.
Conclusión
La idea que conviene llevarse es que AGRUPARPOR no exige que los datos vengan como están en la hoja. Puedes preparar el rango de valores en la propia fórmula —seleccionando columnas con ELEGIRCOLS o montándolas con APILARH— y pasarle exactamente lo que quieres agregar. Es un patrón que evita muchísimas columnas auxiliares.
Este tipo de afinados salen constantemente en la comunidad de InflueXcel: alguien pregunta cómo saltarse una columna y la respuesta acaba siendo una función que no conocía.
Más casos con estas funciones
Más contenido de Excel en InflueXcel
- Resumen mensual ordenado cronológicamente con una sola fórmula AGRUPARPOR CasoDesde Lima, un miembro de la comunidad plantea un problema muy habitual: tiene datos con fechas y valores, y quiere hacer un resumen por mes
- Error #CALC! con MAP y AGRUPARPOR: solución con REDUCE+APILARV CasoNuevo reto de Excel resuelto por la comunidad: un usuario necesita aplicar AGRUPARPOR de forma iterativa sobre un rango de códigos de cuenta
- Agrupar textos por categoría con AGRUPARPOR y MATRIZATEXTO CasoJuan tiene un "diario" en Excel donde apunta anotaciones con una categoría asociada, y quiere consolidar todas las anotaciones de la misma c
- SUMAR.SI.CONJUNTO en Excel: las 5 dudas más buscadas, resueltas (y por qué no acepta ELEGIRCOLS) TutorialLe pregunté a Copilot cuáles son las 5 dudas que más se buscan sobre la función SUMAR.SI.CONJUNTO y las resuelvo una a una en Excel, cada un
- CONTAR.SI no acepta ELEGIRCOLS: por qué las funciones .SI exigen una referencia y no una matriz CasoHay errores de Excel que te mandan a buscar en la dirección equivocada, y este es de manual. Joan Recasens llega al grupo con una fórmula qu
- Regularización trimestral con AGRUPARPOR y ARCHIVOMAKEARRAY: del caos a una fórmula CasoCaso fresquito de la comunidad. Juan plantea un problema contable: tiene una tabla de movimientos (Nombre, Concepto, Importe, Cuenta, Fecha)
- Precio más reciente por artículo: REDUCE, AGRUPARPOR y números complejos CasoNuevo reto interesante planteado por Miki: dada una tabla con artículos y sus precios históricos por año (múltiples filas por artículo), obt
- Formato dinámico AGRUPARPOR PIVOTARPOR TutorialAplicar formato condicional a las matrices calculadas es fundamental para conseguir que su legibilidad sea óptima
- Consolidar datos repetidos con REDUCE, APILARV y PIVOTARPOR CasoLa comunidad aborda un caso de consolidación de datos donde hay tareas con encabezados repetidos que necesitan combinarse dinámicamente. El
- Distribución equitativa con LAMBDA, REDUCE y ALEATORIO CasoHéctor plantea la necesidad de repartir un conjunto de líneas (tareas, actividades) entre varios grupos de forma equitativa y aleatoria. Ide