Aplicar DIVIDIRTEXTO a un rango completo: 5 formas distintas
Un miembro de la comunidad intenta aplicar DIVIDIRTEXTO a un rango completo de celdas en lugar de celda por celda. Su fórmula inicial usa BYROW:
``
=BYROW(B5:B56;LAMBDA(fila;DIVIDIRTEXTO(fila;" ")))
`
El problema es que BYROW no puede devolver más de una celda por fila, así que la fórmula da error #CALC!.
Leo aporta nada menos que 5 enfoques distintos para resolver el problema, cada uno con sus ventajas:
1. DIVIDIRTEXTO + UNIRCADENAS (la más sencilla para pocos datos):
`
=DIVIDIRTEXTO(UNIRCADENAS("|";;B5:B56);" ";"|";;;"")
`
Concatena todo el rango con un separador especial y luego divide de golpe.
2. REDUCE + APILARV (el patrón clásico para apilar resultados de tamaño variable):
`
=SI.ND(
EXCLUIR(
REDUCE("";B5:B56;
LAMBDA(a;x;APILARV(a;DIVIDIRTEXTO(x;" ")))
);1
);"")
`
3. TEXTOANTES + TEXTODESPUES (para muchos datos, usando instancias):
`
=LET(
i; B5:B56;
k; " ";
s; SECUENCIA(;MAX(LARGO(i)-LARGO(SUSTITUIR(i;k;"")))+1);
SI.ERROR(TEXTODESPUES(k&TEXTOANTES(i&k;k;s);k;s);"")
)
`
Evita la recursión y es más eficiente con grandes volúmenes de datos.
4. Recursividad en bisección (enfoque avanzado):
`
=LET(
F; LAMBDA(F;x;LET(
n; FILAS(x);
SI(n=1;
DIVIDIRTEXTO(x;" ");
APILARV(F(F;TOMAR(x;n/2));F(F;EXCLUIR(x;n/2)))
)
));
SI.ND(F(F;B5:B56);"")
)
`
Divide el rango por la mitad recursivamente, lo que mejora el rendimiento en rangos grandes.
5. Recursividad normal (alternativa más directa):
`
=LET(
i; B5:B56;
F; LAMBDA(F;x;n;LET(
y; DIVIDIRTEXTO(INDICE(i;n;);" ");
SI(n<FILAS(i);APILARV(y;F(F;x;n+1));y)
));
SI.ND(F(F;i;1);"")
)
`
Un caso muy completo que ilustra la limitación de BYROW` y varias técnicas para superarla, desde las más sencillas hasta recursividad avanzada con bisección.
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é