Análisis de datos

ARRAYFORMULA en Google Sheets: límites y alternativas

ModelMonkey6 de julio de 202610 min de lectura

ARRAYFORMULA produce resultados desde una sola celda que se expanden hacia abajo por toda la columna. Cuando un revisor llega a la fila 847 y ve un valor de $0, no tiene manera de saber si ese cero es correcto, si la condición IF lo produjo deliberadamente, o si ARRAYFORMULA simplemente dejó de funcionar en silencio. Con fórmulas copiadas fila a fila, el mismo revisor puede pararse en esa celda y leer exactamente qué pasó.

Eso no significa que ARRAYFORMULA sea inútil. Significa que tiene un caso de uso específico y varios contextos donde te va a costar más de lo que te ahorra.

Qué hace ARRAYFORMULA en Google Sheets

La referencia de funciones de Google Sheets (support.google.com/docs, consultada en julio de 2026) define ARRAYFORMULA como una función que "permite mostrar los valores devueltos por una fórmula de arreglo en varias filas o columnas, y usar funciones no matriciales con arreglos."

En términos prácticos: en lugar de escribir =C2-D2 en 3,000 filas, escribes una sola fórmula en la celda superior y cubre toda la columna.

Para una columna de margen de contribución sobre un P&L con $4.2M en ingresos acumulados:

=ARRAYFORMULA(IF(LEN('Ingresos'!B2:B)>0, 'Ingresos'!C2:C - 'Ingresos'!D2:D, ""))

El guardián LEN(...) > 0 es el detalle que más se omite y el que más problemas evita. Sin él, ARRAYFORMULA llena toda la columna con ceros por debajo de tus datos reales, y esos ceros fantasmas son exactamente el tipo de error que hace quedar mal a un modelo en revisión. Con el guardián, la fórmula solo calcula filas donde la columna B tiene contenido.

Las referencias entre pestañas funcionan igual. Una tasa de COGS del 38.5% tomada de una pestaña de Supuestos y aplicada sobre el P&L:

=ARRAYFORMULA(IF('P&L'!B2:B<>"", 'P&L'!C2:C * (1 - Supuestos!$B$5), ""))

Para una revisión completa de la sintaxis, la referencia de la función ARRAYFORMULA cubre la estructura de parámetros con más detalle.

Dónde falla ARRAYFORMULA en silencio

ARRAYFORMULA solo funciona con funciones que aceptan arreglos de forma nativa. La referencia de funciones de Google Sheets (support.google.com/docs, consultada en julio de 2026) señala explícitamente que "algunas funciones devuelven arreglos de forma natural" mientras que otras no aceptan entradas matriciales.

Los cuatro casos donde falla en la práctica:

IF anidados con múltiples condiciones. Los IF anidados funcionan hasta cierto punto. =ARRAYFORMULA(IF(A2:A="Q1", B2:B * 1.1, IF(A2:A="Q2", B2:B * 1.05, B2:B))) se ejecuta correctamente. Pero agregar una cuarta o quinta capa de condiciones, especialmente mezclando comparaciones de texto y valores numéricos en la misma columna, produce errores #VALUE! que no siempre aparecen de inmediato.

VLOOKUP e INDEX/MATCH con tablas imperfectas. =ARRAYFORMULA(VLOOKUP(A2:A, 'Tarifas'!A:B, 2, 0)) funciona para coincidencias exactas en tablas limpias. Se vuelve impredecible con valores duplicados en la tabla de búsqueda, filas en blanco intercaladas o encabezados de texto mezclados con valores numéricos.

Funciones que ya devuelven rangos. SORT, UNIQUE, FILTER y QUERY generan arreglos de forma nativa. Envolverlos en ARRAYFORMULA no los extiende y generalmente produce un error.

Funciones personalizadas de Apps Script. ARRAYFORMULA no puede pasar arreglos a funciones personalizadas. Cada llamada recibe exactamente un valor de celda, por lo que la expansión simplemente no ocurre.

ARRAYFORMULA vs. BYROW y MAP: la tabla honesta

Google incorporó LAMBDA, BYROW y MAP a Sheets en 2022, según el artículo "New formula types in Google Sheets" publicado en Google Workspace Updates. A partir de julio de 2026, estas funciones están disponibles en la versión actual de Google Sheets para todas las cuentas de Google Workspace y cuentas personales. Según esa misma fuente, LAMBDA y sus funciones derivadas "permiten definir y aplicar cálculos personalizados usando un conjunto de variables", lo que resuelve exactamente los problemas que ARRAYFORMULA no puede manejar.

FunciónIdeal paraSalida multicolumnaCompatible con VLOOKUPLegibilidad en revisión
ARRAYFORMULAAritmética simple de una columnaNoParcialBaja (una celda controla todo)
BYROWLógica por fila, condicionales complejosSíSíMedia
MAPTransformar cada celda individualmenteSíSíMedia
Fórmulas copiadasModelos sujetos a auditoríaSíSíAlta

Sobre el rendimiento: ARRAYFORMULA es más rápido que las fórmulas copiadas para aritmética simple de columna, porque Sheets evalúa el arreglo en un solo paso en lugar de celda por celda. La diferencia es real pero raramente es el factor decisivo. Para la mayoría de los modelos, la pregunta relevante no es cuántos milisegundos tarda el recálculo, sino si tres analistas más pueden leer y corregir la fórmula bajo presión de deadline.

Para un análisis de sensibilidad del WACC entre escenarios de 8% y 14% aplicado a un múltiplo EBITDA de 14.2x, BYROW resuelve lo que ARRAYFORMULA no puede:

=BYROW('DCF'!B2:F3001, LAMBDA(fila,
  INDEX(fila,1) * (1 - INDEX(fila,3)) / (INDEX(fila,5) - Supuestos!$B$2)
))

ARRAYFORMULA no puede producir ese resultado. Necesita llamadas a funciones por fila con múltiples referencias de columna alimentando el mismo cálculo, que es exactamente lo que no soporta.

Modelos de múltiples pestañas: el contexto que cambia todo

El escenario más común para un analista senior no es una sola hoja de 3,000 filas. Es un modelo de 8 a 12 pestañas donde el Balance cuadra contra el Flujo de Efectivo, que se alimenta del P&L, que toma supuestos de una pestaña centralizada.

En esa estructura, ARRAYFORMULA introduce un riesgo específico: cuando la fórmula falla o produce un resultado inesperado en la celda C2 de tu pestaña P&L, ese error se propaga hacia la pestaña de Flujo de Efectivo, hacia el Balance y eventualmente hacia las métricas de resumen que vas a presentar. La celda fuente del error es invisible para quien revisa el modelo desde el final de la cadena.

Las fórmulas copiadas fila a fila hacen el error localizable. Cuando el Balance no cuadra, puedes ir a la fila 847 del P&L y leer exactamente qué fórmula produjo ese valor. Con ARRAYFORMULA, tienes que ir a la celda de origen de la columna, entender la lógica del IF completo y deducir por qué esa fila específica produjo ese resultado.

Si usas ARRAYFORMULA en un modelo de múltiples pestañas vinculadas, limítalo a las columnas de cálculo intermedio dentro de la misma pestaña. Evita que una columna basada en ARRAYFORMULA sea la referencia directa que alimenta otra pestaña. Usa ARRAYFORMULA para calcular el valor en la pestaña de origen y referencia el resultado desde la pestaña destino con una fórmula directa y auditable. Cuando el modelo no cuadre, el error será localizable en la pestaña de origen, no invisible dentro de una cadena de referencias cruzadas.

Para integrar BYROW en este tipo de estructura, el esquema que funciona es el mismo: la fórmula BYROW vive en la pestaña de cálculo y las pestañas dependientes la referencian con fórmulas simples. Si el DCF toma el flujo libre de caja de la fila 47 del P&L, esa referencia (='P&L'!B47) sigue siendo directa y auditable, independientemente de cómo se calculó B47.

Cuándo usar cada enfoque

Usa ARRAYFORMULA cuando la operación es aritmética simple sobre una sola columna, la función es nativa de arreglos y la columna es de cálculo intermedio que no alimenta directamente a otra pestaña. Recuerda siempre el guardián LEN(...) > 0 o <>"" para evitar los ceros fantasmas.

Usa BYROW cuando necesitas lógica que varía por fila: aplicar una fórmula diferente según el valor de una columna de categoría, combinar varias columnas en un solo cálculo por fila, o llamar a VLOOKUP o MATCH dentro de la fórmula. Si tu fórmula requiere más de dos IFs anidados, BYROW es el camino correcto. Y antes de adoptar BYROW en un modelo compartido, la conversación con el equipo viene primero: una fórmula con LAMBDA que otro analista no puede leer bajo presión de deadline es un pasivo, no un activo.

Mantén fórmulas copiadas hacia abajo en cualquier modelo donde los auditores revisen filas individuales, en modelos de flujo de caja o LBO donde cualquier cifra puede ser cuestionada, y en cualquier columna que alimente directamente otra pestaña del modelo. En presentaciones a inversionistas o cierres financieros trimestrales, la credibilidad de cada número importa más que la velocidad de recálculo.

Para una revisión más amplia de los casos de uso, para qué se usa ARRAYFORMULA cubre los escenarios de FP&A con más detalle.

Si estás construyendo modelos que traen datos en vivo desde HubSpot, Stripe o GA4 hacia estas estructuras de columnas, Elige un plan de ModelMonkey: funciona tanto en Google Sheets como en Excel.

Preguntas frecuentes

¿ARRAYFORMULA funciona con VLOOKUP en Google Sheets?

Sí, pero con limitaciones importantes. =ARRAYFORMULA(VLOOKUP(A2:A, 'Tarifas'!A:B, 2, 0)) funciona para coincidencias exactas en tablas limpias. Se vuelve impredecible si la tabla de búsqueda tiene valores duplicados, filas en blanco o encabezados de texto mezclados con valores numéricos. Para esos casos, BYROW con LAMBDA es más confiable porque evalúa cada fila de forma independiente y controlada.

¿Cuándo debo usar BYROW en lugar de ARRAYFORMULA?

Usa BYROW cuando necesitas lógica que varía por fila: aplicar una fórmula diferente según el valor de una columna de categoría, combinar varias columnas en un solo cálculo por fila, o llamar a VLOOKUP o MATCH dentro de la fórmula. ARRAYFORMULA aplica la misma operación a todo el rango de una vez, por lo que no puede tomar decisiones a nivel de fila que dependan de múltiples columnas. Si tu fórmula requiere más de dos IFs anidados, es una señal clara de que BYROW es el camino correcto.

¿Cómo uso ARRAYFORMULA en un modelo de múltiples pestañas sin que los errores se propaguen?

Limita ARRAYFORMULA a las columnas de cálculo intermedio dentro de una sola pestaña. Evita que una columna basada en ARRAYFORMULA sea la referencia directa que alimenta otra pestaña del modelo. En su lugar, usa ARRAYFORMULA para calcular el valor en la pestaña de origen y referencia el resultado desde la pestaña destino con una fórmula directa. Cuando el modelo no cuadre, el error será localizable en la pestaña de origen, no invisible dentro de una cadena de referencias cruzadas.

¿Puedo usar ARRAYFORMULA con funciones personalizadas de Apps Script?

No. ARRAYFORMULA no puede pasar arreglos a funciones personalizadas escritas en Apps Script. Cada llamada recibe exactamente un valor de celda, independientemente de si la envuelves en ARRAYFORMULA. Si necesitas lógica de Apps Script aplicada a toda una columna, debes escribir la función de forma que acepte y procese un arreglo internamente, o ejecutarla desde un script separado en lugar de desde la fórmula de celda.