Por qué BYROW y ENCOL solo devuelven una columna y cómo solucionarlo

Interesante problema técnico planteado por un miembro de la comunidad: aplica DIVIDIRTEXTO a una columna creada con ENCOL esperando obtener una matriz de dos columnas, pero solo aparece la primera. ¿Por qué se pierde la segunda columna?

Nacho explica el motivo de fondo: BYROW y funciones similares que procesan fila a fila están diseñadas para devolver un solo valor (o una sola fila/columna) por iteración. Cuando DIVIDIRTEXTO genera dos columnas dentro de BYROW, solo sobrevive la primera.

Solución con doble BYROW (Nacho): hacer la operación dos veces, una por cada parte del texto dividido, y unir los resultados:

``
=APILARH(
BYROW(datos; LAMBDA(x; INDICE(DIVIDIRTEXTO(x; " "); 1)));
BYROW(datos; LAMBDA(x; INDICE(DIVIDIRTEXTO(x; " "); 2)))
)
`

Alternativa con REDUCE (Nacho): a diferencia de BYROW, REDUCE sí puede acumular más columnas de las que recibe, lo que lo hace más flexible para estos casos.

Solución con ENCOL + APILARH + SI (Gerson): enfoque distinto que evita el problema descomponiendo la matriz manualmente:

`
=LET(
a; B2:D7;
E; ENCOL;
APILARH(E(SI(a; A2:A7);; 1); E(SI(a; B1:D1);; 1); E(a;; 1))
)
``

Un caso que ilustra bien las limitaciones de las funciones LAMBDA de iteración y cuándo conviene cambiar de estrategia.

Más contenido de Excel en InflueXcel