Eliminar valores de una matriz dinámica con tabla de exclusiones y REDUCE

Juan tiene una matriz generada con fórmulas de desbordamiento y necesita eliminar ciertos textos (nombres de áreas geográficas como "Área metropolitana", "Tarragona") sin convertir los datos a valores. El problema es que no puede simplemente editar celdas que forman parte de un array dinámico.

Un miembro de la comunidad (+34 617 05 62 11) resuelve el problema de forma progresiva. Primero, una versión para un solo valor a excluir:

``
=LET(
m; influ;
p; TOMAR(m;;1);
t; ELEGIRCOLS(m;2);
o; TOMAR(m;;-1);
APILARH(p; SI(t="Área metropolitana"; ""; t); o)
)
`

Pero Juan necesita excluir múltiples valores, así que la solución evoluciona. Se crea una Tabla2 con los términos a excluir y se usa REDUCE para iterar sobre ellos:

`
=LET(
l; Tabla2[Columna1];
m; influ;
p; TOMAR(m;;1);
t; ELEGIRCOLS(m;2);
o; ELEGIRCOLS(m;3);
q; TOMAR(m;;-1);
output; APILARH(p;
REDUCE(t; l; LAMBDA(X;Y; SI(X=Y; ""; X)));
o; q
);
SI(output=0; ""; output)
)
`

La idea clave es el REDUCE` sobre la columna a limpiar: itera sobre cada término de exclusión y lo reemplaza por cadena vacía. Al usar una tabla como fuente de exclusiones, basta con añadir una fila a Tabla2 para excluir un nuevo valor, sin tocar la fórmula.

Detalle importante: hay que vigilar los espacios en blanco al escribir los términos en la tabla de exclusiones — un espacio de más y la comparación falla silenciosamente.

Más contenido de Excel en InflueXcel