Repetir valores N veces: tres enfoques con REDUCE, SCAN y ARCHIVOMAKEARRAY
Joan Recasens plantea un problema clásico: tiene una lista de categorías (A, B, C) con el número de repeticiones de cada una (4, 2, 3) y quiere generar la secuencia expandida (A A A A B B C C C) en celdas individuales.
Tres miembros aportan soluciones usando tres LAMBDAs de orden superior distintas:
Leo con REDUCE — acumula los valores iterando sobre las categorías:
``
=LET(
a; A2:A4;
b; B2:B4;
EXCLUIR(
REDUCE(""; SECUENCIA(FILAS(a));
LAMBDA(x;y; APILARV(x; REPETIR(INDICE(a;y); INDICE(b;y))))
);
1
)
)
`
Nacho con SCAN — usa la suma acumulada como índice inverso:
`
=LET(
a; SCAN(0; B2:B4; LAMBDA(a;b; a+b));
BUSCARX(SECUENCIA(MAX(a)); a; A2:A4;; 1)
)
`
La idea es que SCAN genera la suma acumulada (4, 6, 9) y luego BUSCARX con modo de coincidencia 1 (siguiente mayor o igual) mapea cada número del 1 al 9 a su categoría correspondiente.
Andrés con ARCHIVOMAKEARRAY — construye una matriz y la aplana:
`
=LET(
cats; A2:A4;
nums; B2:B4;
ENCOL(
ARCHIVOMAKEARRAY(FILAS(cats); MAX(nums);
LAMBDA(f;c; SI(c<=INDICE(nums;f); INDICE(cats;f); ""))
);
3
)
)
`
Leo también aporta una alternativa sin LAMBDA usando MMULT para la suma acumulada:
`
=LET(
a; A2:A4;
b; B2:B4;
f; FILAS(a);
s; SECUENCIA(f);
BUSCARX(SECUENCIA(SUMA(b)); MMULT(N(s>=ENFILA(s)); b); a;; 1)
)
`
Esta técnica de multiplicar una matriz triangular inferior (N(s>=ENFILA(s))) por el vector de valores es lo que John Vergara bautizó como "ETA LAMBDA": conseguir el efecto de SCAN sin usar LAMBDA`.
Más contenido de Excel en InflueXcel
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- ¡Excel PowerQuery Hack! Conexiones con rutas relativas en 10 minutos! Tutorial¿Harto de ajustar las conexiones en PowerQuery cada vez que compartes tu archivo de Excel? 🙄 Convierte las conexiones de PowerQuery con ruta
- Mejora un 90% el rendimiento de Power Query con SQLite TutorialPower Query es una herramienta potente para consolidar, combinar y calcular datos, pero cuando trabajamos con millones de registros y calcul
- Nueva Función IMPORTTEXT TutorialNueva función IMPORTTEXT en Excel!! https://techcommunity.microsoft.com/blog/microsoft365insiderblog/bring-data-into-excel-with-the-new-impo
- ¿Columnas con nombres distintos en Power Query? Tutorial¿Columnas con nombres distintos en Power Query? Aquí tienes la solución definitiva para normalizar tus datos y evitar errores al combinar fi
- BUSCARX con valor devuelto dinámico: elige la columna con un botón o un segmentador CasoUna integrante de la comunidad planteó un reto muy habitual al trabajar con tablas de varias columnas: tiene una lista de municipios con cua
- Saldo acumulado por mes: tres enfoques (REDUCE+BYROW, PIVOTARPOR+acumulado, MMULT) CasoJuan plantea una pregunta que parece sencilla y se acaba convirtiendo en tres clases magistrales sobre cómo recorrer una matriz mes a mes. T
- Mapa de España con burbujas: ubicar variables por provincia usando coordenadas X/Y CasoEsta semana surgió una duda muy visual en el grupo: cómo mostrar dos variables por provincia en un mapa de España — una pintada en intensida
- 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, Cuenta, Importe, Fecha) y necesit
- Grado de avance por proyecto: despivotar y volver a pivotar por fecha CasoNuevo caso de la comunidad con mucho jugo para los que trabajan con reporting de proyectos. Juan plantea un problema habitual en oficinas té