ARRAYFORMULA: una sola fórmula para toda la columna

En este artículo
El lunes en que Marcela casi llora
Marcela lleva las ventas de su papelería en Google Sheets. Cada lunes agrega las ventas de la semana y arrastra la fórmula del total —cantidad por precio— desde la fila 2 hasta la 500. Un lunes, con afán, soltó el arrastre en la fila 412. Faltaban 38 filas sin total y nadie se dio cuenta en una semana. El reporte del mes salió mal.
¿Te suena? Arrastrar fórmulas funciona… hasta que deja de funcionar. Y cuando falla, lo hace en silencio: el número que ves parece normal. Solo que está mal.
ARRAYFORMULA existe justo para eso: una sola fórmula en una sola celda, aplicada a toda la columna, que sigue funcionando con filas nuevas. Sin arrastrar nada. Veámosla en serio, con ejemplos para copiar.
Nota: uso punto y coma (;) como separador, lo normal en Sheets en español. En inglés, cambia ; por comas (y SI → IF, BUSCARV → VLOOKUP).
¿Qué es ARRAYFORMULA, en cristiano?
Una fórmula normal es como un sello: lo presionas sobre una celda y deja su marca. ¿Quinientas celdas? Lo presionas quinientas veces. Eso es arrastrar fórmulas.
ARRAYFORMULA es la impresora: le dices qué hacer una vez y lo hace en todas las páginas. Técnicamente: toma una fórmula pensada para una celda y la aplica a un rango completo, derramando un resultado por fila.
Un dato honesto: esto es de Google Sheets; Excel moderno ya derrama solo. Si tu mundo es Sheets, sigue leyendo.
La sintaxis, sin vueltas
La sintaxis es casi insultantemente simple:
=ARRAYFORMULA(expresión)
Metes tu fórmula adentro y cambias las referencias de celdas por rangos. Ejemplo con la papelería de Marcela: columna A producto, B cantidad, C precio unitario, D total.
A la antigua: en D2 =B2*C2, arrastrado hasta el fin de los tiempos. Con ARRAYFORMULA, esto en D2, una sola vez:
=ARRAYFORMULA(B2:B*C2:C)
Toda la columna D se llena con cantidad por precio, fila por fila. Agregas una venta en la fila 501 y el total aparece solo. Magia aburrida, de la buena.
Tres reglas que te ahorran disgustos. Primera: la zona de salida tiene que estar vacía, porque ARRAYFORMULA derrama hacia abajo y no puede pisar celdas ocupadas. Segunda: no incluyas la fila de encabezados —usa B2:B, no B:B—, o la palabra “Cantidad” intentará multiplicarse por “Precio” y eso termina en error. Tercera: los rangos abiertos como B2:B crecen solos con tus datos. Úsalos siempre.
La documentación oficial de ARRAYFORMULA tiene la definición formal, aunque con lo de arriba ya sabes usarla.
Por qué vale más que arrastrar (no es solo pereza)
A mi juicio, arrastrar fórmulas tiene cuatro problemas, y ARRAYFORMULA los resuelve todos de un golpe:
- Las filas nuevas entran solas. Agregas datos abajo y el cálculo ya está ahí. El lunes de Marcela dejaría de ser un drama: la fórmula vive en una celda y no depende de que alguien se acuerde de arrastrarla.
- Cambias la lógica en un solo lugar. ¿Subió el IVA? Editas una celda, no quinientas. Con fórmulas arrastradas, cada fila es una copia independiente; si una quedó distinta —pasa más de lo que crees—, tienes un error invisible.
- La hoja pesa menos y vuela más. Quinientas celdas con fórmula son quinientas fórmulas recalculándose; una ARRAYFORMULA es una sola. En hojas grandes se nota al abrir y al filtrar.
- Menos errores de dedo. El arrastre a veces se suelta antes de tiempo; a veces una fila intermedia queda con la fórmula vieja. Una sola fuente de verdad, un solo lugar donde mirar cuando algo sale mal.
Combinaciones que la hacen brillar
Sola ya sirve. Acompañada, juega en otra liga. Las tres combinaciones que más vas a usar:
Con SI: el truco de las filas vacías
Lo que nadie cuenta al principio: si escribes =ARRAYFORMULA(B2:B*C2:C) y debajo hay quinientas filas vacías, la columna D se llena de ceros. Quinientos ceros mirándote fijamente. La solución: envolver el cálculo en un SI que pregunte si la fila está vacía:
=ARRAYFORMULA(SI(A2:A="";"";B2:B*C2:C))
Traducción: “si la columna A está vacía, no pongas nada; si no, multiplica cantidad por precio”. Este patrón —el SI que pregunta por vacío— lo usarás en el 90% de tus ARRAYFORMULA. Grábatelo como una canción.
Con BUSCARV: precios para toda la columna
Tu tabla trae el código del producto y los precios viven en otra hoja (Precios, A: código, B: precio). Para traer el precio a cada fila sin arrastrar un BUSCARV quinientas veces:
=ARRAYFORMULA(SI(A2:A="";"";BUSCARV(A2:A;Precios!A:B;2;FALSO)))
Toma cada código, lo busca en Precios y devuelve el precio, fila por fila. Agregas cien ventas mañana y aparecen solos. Un BUSCARV con FALSO dentro de un ARRAYFORMULA es de esas combinaciones que no se sueltan.
Con FILTRAR: una verdad incómoda
Confesión: FILTRAR ya derrama resultados sola, así que casi nunca necesita ARRAYFORMULA. Pero se juntan en un caso bonito: filtrar por un cálculo que no existe en ninguna columna. Ejemplo: productos cuya venta total (cantidad × precio) supere los 50.000 pesos:
=FILTRAR(A2:A;ARRAYFORMULA(B2:B*C2:C)>50000)
El ARRAYFORMULA calcula los totales sobre la marcha y FILTRAR usa ese resultado invisible para decidir qué filas mostrar. Elegante, ¿no?
Ejemplos reales, paso a paso
Ejemplo 1: totales automáticos en la columna de ventas
La papelería de Marcela. A producto, B cantidad, C precio, D total:
- Encabezados en la fila 1: Producto, Cantidad, Precio, Total.
- En D2:
=ARRAYFORMULA(SI(A2:A="";"";B2:B*C2:C)) - Intro. Toda la columna D se llena.
- Agrega una venta en la siguiente fila vacía. El total aparece solo.
¿Y si el precio viene con espacios raros y la multiplicación se queja? No es culpa de ARRAYFORMULA: los datos llegaron sucios. Antes de pelearte con la fórmula, conviene limpiar esos datos sucios y luego sí calcular.
Ejemplo 2: unir nombre y apellido en todas las filas
Clásico de listas de clientes o empleados: A nombre, B apellido, y quieres el nombre completo en C. En C2, una sola vez:
=ARRAYFORMULA(SI(A2:A="";"";A2:A&" "&B2:B))
El & une textos y el " " mete el espacio del medio: “Carolina Rojas”, “Andrés Pineda”, toda la columna. ¿Quieres ir más lejos —mayúsculas, iniciales, unir con guiones—? Estas funciones de texto son el siguiente paso natural. (Sí, ese artículo habla de Excel, pero la lógica de unir y cortar textos es la misma en Sheets.)
Ejemplo 3, de regalo: año-mes automático desde fechas
Para reportes mensuales, una columna que extraiga “2026-10” de cada fecha vale oro:
=ARRAYFORMULA(SI(A2:A="";"";TEXTO(A2:A;"aaaa-mm")))
Filtras por esa columna y tienes tu informe mensual sin tocar nada más. Columnas auxiliares así son las que hacen que los dashboards se armen solos.
Errores típicos (y su arreglo en 30 segundos)
“No se puede derramar” y el temido #¡REF!
El error número uno, por goleada: en alguna fila de la columna de salida hay algo escrito —un número viejo, una fórmula de antes, hasta un espacio invisible— y ARRAYFORMULA se niega a pisarlo.
Arreglo: selecciona la columna de salida desde tu fórmula hacia abajo y pulsa Suprimir. Vacía de verdad, no “parece vacía”. Una vez vi a alguien con una notica en la fila 847 rompiendo toda la columna. Una notica. En la fila 847.
Y ya que esa celda gobierna toda la columna, protégela. Mira cómo proteger una hoja sin bloquearte a ti mismo —la idea aplica igual en Sheets, donde puedes proteger rangos específicos.
Rangos de distinto tamaño
Esto falla, y con razón:
=ARRAYFORMULA(A2:A10*B2:B)
Un rango tiene 9 filas y el otro es infinito; Sheets no sabe emparejarlos. Arreglo: que midan lo mismo —los dos abiertos (A2:A*B2:B) o los dos acotados—. Mi recomendación, si me preguntas: abiertos, siempre.
El encabezado metido en la cuenta
Con B:B*C:C en vez de B2:B*C2:C, la palabra “Cantidad” intenta multiplicarse por “Precio”: error en la primera fila y un susto evitable. Arreglo: empieza en la fila 2. Siempre. Sin excepciones.
La columna llena de ceros
No es un error, pero se ve horrible: ceros hasta el fin de la hoja. Solución: SI(rango="";"";...); y un SI.ERROR(...;"") por fuera atrapa sorpresas futuras.
Trucos que se aprenden a las malas
- Ctrl + Mayús + Intro. Con una fórmula normal seleccionada en la barra de fórmulas, ese atajo la envuelve en ARRAYFORMULA automáticamente. Pequeño, pero adictivo.
- Una columna calculada, una ARRAYFORMULA. Resiste meter tres cálculos en una sola fórmula gigante “para ahorrar”. Cuando algo falle —y algún día fallará—, depurar tres líneas es mil veces más fácil que treinta.
- No todo derrama. SUMA, PROMEDIO o CONTAR colapsan el rango a un solo número por diseño; envolverlas en ARRAYFORMULA no las convierte en columnas. Para sumar por grupos, tus amigas son QUERY o una tabla dinámica.
- Cuidado con Y y O. Devuelven un solo VERDADERO/FALSO para todo el rango, no uno por fila. Para lógica fila por fila usa
*en vez de Y y+en vez de O:=ARRAYFORMULA((A2:A="Bogotá")*(B2:B>100000))marca 1 solo donde se cumplen las dos condiciones. - Guarda la ayuda oficial en favoritos. La ayuda oficial de Google Sheets lista las funciones compatibles con ARRAYFORMULA; cuando dudes, ese es el lugar.
Lo que de verdad importa
ARRAYFORMULA no te hace más inteligente: te hace menos olvidadizo, que en hojas de cálculo es casi lo mismo. Una fórmula en una celda, resultados en toda la columna, filas nuevas que se calculan solas. Suficiente para jubilar el arrastre.
Empieza hoy con una sola columna —la de totales, la del nombre completo, la que más arrastres—. Úsala una semana. Después me cuentas si vuelves al arrastre. Apuesto a que no.
