Rellenar celdas vacías con el valor anterior usando SCAN y BUSCAR

Hugo plantea un problema habitual al importar datos: una fila de encabezados tiene celdas vacías que deberían heredar el valor de la celda anterior (forward-fill). Por ejemplo: | Ventas | | | Compras | | | debería ser | Ventas | Ventas | Ventas | Compras | Compras | Compras |.

Dos enfoques completamente distintos para resolverlo:

Con SCAN (Nacho): el patrón clásico de acumulador. SCAN recorre cada celda y, si está vacía, mantiene el valor anterior; si tiene contenido, lo actualiza:

``
=SCAN(""; C4:H4; LAMBDA(A; I; SI(I = ""; A; I)))
`

John propone una variante casi idéntica usando v > 0 como test:

`
=SCAN(; C4:H4; LAMBDA(a; v; SI(v > 0; v; a)))
`

Con BUSCAR sin SCAN (John): la solución más creativa. Aprovecha una propiedad poco conocida de BUSCAR: cuando encuentra un error en el array de búsqueda, lo salta automáticamente y devuelve el último valor válido anterior. Al convertir las celdas vacías en errores con MES(1&celda), BUSCAR hace el forward-fill de forma implícita:

`
=BUSCAR(COLUMNA(C4:H4) / 3; MES(1&C4:H4); C4:H4)
`

El truco es que MES(1&"Ventas") devuelve un número válido, pero MES(1&"") devuelve error, y BUSCAR ignora esos errores retornando el último match válido.

Hugo además extiende el caso limpiando previamente los encabezados de texto tipo "Column1", "Column2" (típicos de Power Query) con REGEXREEMPLAZAR antes de aplicar el SCAN`.

Más contenido de Excel en InflueXcel