Agrupar y limpiar referencias con AGRUPARPOR, DIVIDIRTEXTO y APILARV

Interesante problema de un miembro que trabaja con una tabla de "Push Money cancelado" con más de 150 productos. Las referencias vienen duplicadas con formato "CÓDIGO-CÓDIGO" (ej: LABU11000-LABU11000) y necesita agrupar por referencia limpia y fabricante, sumando los importes.

El reto tiene doble vertiente: limpiar la referencia (quedarse con la parte antes del guion) y agrupar los datos filtrando por fabricante. La comunidad aportó tres enfoques distintos, cada uno con sus ventajas.

Solución 1: AGRUPARPOR + TEXTOANTES

Gerson propuso usar AGRUPARPOR con la función SINGLE como agregador, y luego limpiar las referencias con TEXTOANTES:

``
=LET(
a; AGRUPARPOR(
TablaPushMoney[[Referencia]:[Fabricante]];
TablaPushMoney[Push Money cancelado];
SINGLE;; 0;;
TablaPushMoney[Fabricante]="ABUELO"
);
TEXTOANTES(a; "-";; ;; a)
)
`

AGRUPARPOR agrupa por las columnas Referencia y Fabricante, aplicando SINGLE como función (devuelve el valor tal cual cuando no hay duplicados) y filtrando solo el fabricante deseado. Después, TEXTOANTES limpia las referencias quitando todo a partir del guion — y el último argumento a actúa como valor por defecto si no hay guion.

Solución 2: LET + DIVIDIRTEXTO

Otra propuesta más compacta usando DIVIDIRTEXTO para descomponer la tabla completa:

`
=LET(m; DIVIDIRTEXTO(TablaPushMoney&"-"; "-"); SI.ERROR(--m; m))
`

Un enfoque elegante que concatena un guion extra a toda la tabla y luego divide por "-", convirtiendo los resultados numéricos con --. Ojo: DIVIDIRTEXTO tiene un límite de ~32.000 caracteres, así que esta solución puede fallar con tablas muy grandes.

Solución 3: APILARV + TEXTOANTES + APILARH

Un tercer enfoque más explícito reconstruyendo la tabla columna a columna:

`
=APILARV(
TablaPushMoney[#Encabezados];
APILARH(
TEXTOANTES(TablaPushMoney[Referencia]; "-";;;; TablaPushMoney[Referencia]);
TablaPushMoney[Fabricante];
TablaPushMoney[Push Money cancelado]
)
)
`

Aquí se limpia la columna de referencias con TEXTOANTES, se reensambla la tabla horizontalmente con APILARH y se añaden los encabezados originales con APILARV`. Más verbose pero muy claro de leer.

Más contenido de Excel en InflueXcel