function

ESCANEAR

Todo sobre la función ESCANEAR en Excel

La función ESCANEAR procesa una matriz aplicando una función LAMBDA a cada uno de sus valores, devolviendo una nueva matriz con los resultados intermedios de cada paso. Es especialmente útil para calcular totales acumulados, productos consecutivos o cualquier operación que necesite mantener un estado o «memoria» del cálculo anterior mientras recorre los datos.

A diferencia de la función REDUCE, que solo devuelve el valor final, ESCANEAR muestra el resultado de cada iteración, lo que la hace ideal para visualizar progresiones.

Sintaxis

=ESCANEAR([valor_inicial], matriz, funcion_lambda)

La función ESCANEAR utiliza los siguientes argumentos:

  • valor_inicial: El valor inicial para el acumulador. Si se omite, el acumulador comienza con el valor del primer elemento de la matriz y la iteración empieza desde el segundo elemento. Opcional.
  • matriz: La matriz de valores que se va a examinar y procesar. Obligatorio.
  • funcion_lambda: Una función LAMBDA que se aplica a cada elemento de la matriz. Esta LAMBDA debe tener dos parámetros:
    • acumulador: El valor devuelto en la iteración anterior. En el primer paso, corresponde al valor_inicial.
    • valor: El elemento actual de la matriz que se está procesando.

    Obligatorio.

Ejemplos

Ejemplo 1: Calcular un total acumulado

Supongamos que tenemos una lista de ventas mensuales y queremos obtener el total acumulado mes a mes.

A
1 Ventas
2 100
3 150
4 75
5 200
=ESCANEAR(0, A2:A5, LAMBDA(acumulador, valor, acumulador + valor))

Resultado:

La fórmula devolverá una matriz dinámica con los siguientes valores, que se «desbordarán» en las celdas adyacentes:

  • 100 (0 + 100)
  • 250 (100 + 150)
  • 325 (250 + 75)
  • 525 (325 + 200)

Ejemplo 2: Concatenar texto de forma acumulativa

La función ESCANEAR no se limita a números. También podemos usarla para construir una cadena de texto de forma progresiva.

A
1 Paso
2 Inicio
3 Proceso
4 Final
=ESCANEAR("", A2:A4, LAMBDA(a, v, a & " " & v))

Resultado:

  • » Inicio»
  • » Inicio Proceso»
  • » Inicio Proceso Final»

Ejemplo 3: Encontrar el valor máximo acumulado

Podemos utilizar ESCANEAR para rastrear el valor más alto encontrado hasta cada punto de una lista.

A
1 Puntuación
2 120
3 110
4 150
5 145
=ESCANEAR(0, A2:A5, LAMBDA(a, v, MAX(a, v)))

Resultado:

La fórmula mostrará el valor máximo encontrado en la matriz hasta ese momento en cada paso.

  • 120 (MAX(0, 120))
  • 120 (MAX(120, 110))
  • 150 (MAX(120, 150))
  • 150 (MAX(150, 145))

Observaciones

ESCANEAR es una función de matriz dinámica. Esto significa que los resultados se «desbordarán» automáticamente en las celdas vacías adyacentes. Asegúrate de tener suficiente espacio libre para evitar errores de #¡DESBORDAMIENTO!.

El uso de esta función requiere una comprensión básica de la función LAMBDA, ya que es un parámetro indispensable para su funcionamiento.

Errores comunes

  • #¡VALOR!: Ocurre si la función LAMBDA proporcionada no es válida o no devuelve un único resultado por iteración.
  • #¡CALC!: Puede aparecer si la matriz de entrada está vacía o si la función LAMBDA contiene errores que impiden el cálculo.
  • #¿NOMBRE?: Este error indica que tu versión de Excel no reconoce la función ESCANEAR. Revisa la sección de disponibilidad.

Disponibilidad por versión de Excel

La función ESCANEAR está disponible para usuarios de Microsoft 365 y Excel para la Web.

Compatibilidad

Software Compatibilidad Notas Alternativa
Microsoft Excel ✔️ Solo en Microsoft 365 y Excel para la Web.
Google Sheets ✔️ Funciona de manera idéntica.
LibreOffice Calc ✔️ Soportado desde la versión 7.4.
OpenOffice Calc No disponible. Fórmulas manuales de suma acumulada (ej: =B1+A2 y arrastrar).
WPS Office Spreadsheets ✔️ Soportado en versiones recientes.
Apple Numbers No dispone de la función ESCANEAR ni LAMBDA. Fórmulas manuales de suma acumulada.

Funciones Relacionadas

  • LAMBDA: Imprescindible para definir la lógica de cálculo que ESCANEAR aplicará en cada paso.

  • REDUCE: Similar a ESCANEAR, pero solo devuelve el resultado final del acumulador, no los valores intermedios.

  • MAP: Aplica una función LAMBDA a cada elemento de una matriz, pero sin un acumulador; cada cálculo es independiente del anterior.

  • MAKEARRAY: Crea una matriz calculada de un tamaño específico, donde cada valor se genera mediante una función LAMBDA.

Ver también...