function

BYCOL

Todo sobre la función BYCOL en Excel

La función BYCOL de Excel aplica una función LAMBDA a cada columna de una matriz o rango de datos y devuelve una matriz de una sola fila con los resultados. Es una herramienta muy potente para realizar cálculos columna por columna sin necesidad de crear fórmulas auxiliares o arrastrar una fórmula por todo el rango.

Imagina que tienes un informe de ventas trimestral y quieres calcular la venta total de cada trimestre (cada columna). En lugar de escribir =SUMA(B2:B10), =SUMA(C2:C10), etc., para cada columna, puedes usar BYCOL para hacerlo en un solo paso.

Sintaxis

=BYCOL(matriz, lambda(columna))

La función BYCOL tiene los siguientes parámetros:

  • matriz: Es la matriz o rango de celdas al que se le aplicará la función lambda. Obligatorio.
  • lambda: Es una función LAMBDA que se aplicará a cada columna de la matriz. Esta función lambda debe aceptar un solo parámetro (que representará a cada columna). Obligatorio.

Ejemplos

Para los siguientes ejemplos, usaremos la tabla de datos de ventas trimestrales:

A B C D
1 Producto Trimestre 1 Trimestre 2 Trimestre 3
2 Producto A 150 200 250
3 Producto B 120 180 210
4 Producto C 200 220 190

Ejemplo 1: Sumar el total de ventas por trimestre

Calcularemos la suma de cada columna (cada trimestre) del rango B2:D4.

=BYCOL(B2:D4, LAMBDA(columna, SUMA(columna)))

Resultado: La fórmula devolverá una matriz horizontal con la suma de cada trimestre: {470, 600, 650}. Cada valor se mostrará en una celda consecutiva de la fila.

Ejemplo 2: Encontrar la venta máxima de cada trimestre

Esta fórmula encuentra el valor más alto en cada una de las columnas del rango de ventas.

=BYCOL(B2:D4, LAMBDA(trimestre, MAX(trimestre)))

Resultado: La fórmula devolverá los valores máximos de cada columna: {200, 220, 250}.

Ejemplo 3: Contar el número de ventas que superaron los 150€ por trimestre

Usamos la función CONTAR.SI dentro de la función lambda para contar cuántas celdas de cada columna cumplen con el criterio.

=BYCOL(B2:D4, LAMBDA(col, CONTAR.SI(col, ">150")))

Resultado: La fórmula devolverá el recuento para cada columna: {1, 3, 3}. En el Trimestre 1 solo hay una venta > 150, mientras que en los trimestres 2 y 3, todas las ventas superan esa cifra.

Observaciones

La función lambda proporcionada a BYCOL debe aceptar exactamente un argumento; de lo contrario, Excel devolverá un error #¡VALOR!. Este argumento representa una columna de la matriz de entrada en cada iteración.

Errores comunes

  • #¡VALOR!: Ocurre si la función lambda no es válida o si tiene un número incorrecto de parámetros.
  • #¿NOMBRE?: Ocurre si el nombre de la función está mal escrito o si estás usando una versión de Excel que no es compatible con BYCOL o LAMBDA.
  • #¡CALC!: Ocurre si la matriz de entrada está vacía o si la función lambda devuelve una matriz vacía para alguna de las columnas.

Disponibilidad por versión de Excel

La función BYCOL está disponible en las siguientes versiones de Excel:

  • Microsoft 365 (Windows y Mac)
  • Excel en la Web

Compatibilidad

Software Compatibilidad Notas
Microsoft Excel ✔️ Disponible en versiones de Microsoft 365 y posteriores.
Google Sheets ✔️
LibreOffice Calc ✔️ Disponible a partir de la versión 7.4.
OpenOffice Calc No disponible.
WPS Office Spreadsheets ✔️ Compatible con funciones LAMBDA y sus auxiliares.
Apple Numbers No disponible.

Funciones Relacionadas

  • BYROW: La función homóloga a BYCOL, que aplica una función lambda a cada fila de una matriz.
  • LAMBDA: Permite crear funciones personalizadas y reutilizables. Es un requisito indispensable para usar BYCOL.
  • MAP: Aplica una función lambda a cada elemento de una o más matrices.
  • REDUCE: Reduce una matriz a un valor acumulado aplicando una función lambda.
  • SCAN: Analiza una matriz y aplica una función lambda, generando una matriz con los valores intermedios.

Ver también...