Análisis de datos

Rangos con nombre en Google Sheets: guía FP&A 2026

ModelMonkey21 de junio de 202610 min de lectura

Compara estas dos fórmulas que jalan el flujo de caja libre apalancado hacia una pestaña de retornos:

// Sin rangos con nombre
='Flujo de Caja'!$F$47 * (1 - Supuestos!$C$12) / (Supuestos!$C$4 - Supuestos!$C$8)

// Con rangos con nombre
=LFCF * (1-TaxRate) / (WACC - TerminalGrowthRate)

La matemática es idéntica. La segunda la puede auditar cualquier persona en la sala.

Cómo funcionan los rangos con nombre en Google Sheets

Ve a Datos → Rangos con nombre, haz clic en Añadir un rango, escribe un nombre y apúntalo a una celda o rango. El nombre debe comenzar con una letra, no puede parecerse a una dirección A1 y tiene un límite de 250 caracteres. Google Sheets permite hasta 500 rangos con nombre por hoja de cálculo, suficiente para cualquier modelo salvo una consolidación corporativa completa.

Una vez definido, un rango con nombre se comporta como una referencia absoluta. =WACC en cualquier celda de cualquier pestaña devuelve el valor desde donde lo apuntaste. También puedes definirlo con alcance limitado a una sola hoja, lo que importa cuando estás corriendo escenarios paralelos con insumos de nombre idéntico en pestañas distintas.

El Cuadro de nombre (el desplegable a la izquierda de la barra de fórmulas) es la forma más rápida de saltar a un rango con nombre durante una revisión. Escribir WACC ahí te lleva directamente a la celda de origen.

Rangos con nombre en modelos financieros multi-pestaña

Aquí es donde los rangos con nombre se ganan su lugar. Un modelo de tres estados financieros estándar tiene, como mínimo, pestañas de Supuestos, P&G, Balance General, Flujo de Caja y Análisis de Retornos. Sin rangos con nombre, cada fórmula que cruza pestañas es una cadena de coordenadas que se rompe silenciosamente cuando alguien inserta una fila.

Así se ve un SUMIFS real entre pestañas usando rangos con nombre:

// SUMIFS de ingresos trimestrales referenciando insumos con nombre
=SUMIFS(
  'P&G'!C:C,
  'P&G'!B:B, ">=" & PeriodStart,
  'P&G'!B:B, "<=" & PeriodEnd,
  'P&G'!A:A, SegmentFilter
)

PeriodStart, PeriodEnd y SegmentFilter son rangos con nombre que apuntan a celdas en la pestaña de Supuestos. La fórmula es legible, los insumos están centralizados y cambiar el rango de fechas implica editar una sola celda, no rastrear más de 40 SUMIFS en 8 pestañas.

Para un DCF, una configuración típica en la pestaña de Supuestos se ve así:

NombreApunta aValor
WACCSupuestos!$C$49.8%
TerminalGrowthRateSupuestos!$C$52.5%
TaxRateSupuestos!$C$626.0%
RevenueBaseSupuestos!$C$7$4,200,000
EBITDAMultipleSupuestos!$C$814.2x
HoldPeriodSupuestos!$C$95

Tu fórmula de valor terminal queda así:

=((LFCF_Year5 * (1 + TerminalGrowthRate)) / (WACC - TerminalGrowthRate)) / (1 + WACC)^HoldPeriod

Eso es revisable. La versión con coordenadas es arqueología.

Rangos con nombre vs. referencias estructuradas de tablas en Google Sheets

La función de Tablas que Google lanzó a finales de 2023 (anunciada en el blog de Google Workspace Updates, noviembre 2023) introdujo referencias estructuradas en Sheets, la misma sintaxis =Tabla1[Ingresos] que los usuarios de Excel llevan años usando. A junio de 2026, esto cambia el balance para ciertos casos de uso.

Una comparación honesta:

Rangos con nombreTablas (Refs. estructuradas)
Ideal paraSupuestos de una celda, constantes, insumos entre pestañasDatos transaccionales en columnas, conteos de filas dinámicos
Se expande con nuevas filasNo
Sintaxis entre pestañasLimpia (=WACC)Verbosa (='Hoja1'!Tabla1[Ingresos])
Sobrevive inserciones de filasSí (si el rango está bloqueado)Sí (automáticamente)
Funciona en criterios de SUMIFS
Nombre en barra de fórmulasEncabezado de columna
Máximo por archivo500Sin límite documentado

La división práctica: rangos con nombre para tu pestaña de Supuestos (30 a 50 celdas que impulsan todo el modelo) y Tablas para tus datos transaccionales (margen de contribución por SKU, pipeline de ventas, plantilla de headcount). Intentar usar Tablas para supuestos genera un monstruo de una columna por supuesto. Intentar usar rangos con nombre para 3,000 filas de transacciones de ingresos implica actualizar manualmente el límite del rango cada trimestre.

Un caso borde no tan obvio: las referencias de columna abiertas como 'P&G'!C:C en un SUMIFS son lentas cuando la hoja tiene decenas de miles de filas. Según la guía oficial de Google Sheets sobre mejores prácticas de rendimiento, los rangos acotados calculan significativamente más rápido que las referencias de columna completa a escala. Los rangos con nombre que apuntan a rangos acotados (como Revenue_2026'P&G'!C2:C1000) te dan tanto legibilidad como velocidad.

Cuándo se rompen los rangos con nombre (y cómo solucionarlo)

Desplazamiento silencioso del rango. Si defines GrossMargin como P&G!$C$12 y luego insertas 2 filas encima de la fila 12, el rango con nombre se actualiza automáticamente. Pero si haces copiar y pegar en lugar de insertar, no lo hace. Siempre inserta filas; nunca pegues encima del área donde anclan los rangos con nombre.

Colisiones de alcance. Un rango llamado Revenue con alcance en Hoja1 y otro llamado Revenue con alcance en Hoja2 son cosas distintas. Si una fórmula en Hoja3 llama =Revenue, puede resolverse al incorrecto. Sé explícito con el alcance al construir pestañas de escenarios o modelos de portafolio donde el mismo nombre de variable aparece en múltiples operaciones.

Eliminación sin limpieza. Borrar la celda de origen de un rango con nombre deja el nombre apuntando a un error. Google Sheets mostrará #REF! en cada lugar donde ese nombre aparezca en fórmulas. Ejecuta Datos → Rangos con nombre y audita las referencias rotas antes de entregar cualquier modelo: toma 2 minutos y evita una pregunta incómoda del CFO.

El límite de 500 rangos. Parece mucho hasta que estás construyendo una consolidación multi-entidad con banderas de escenarios, tasas de FX y supuestos a nivel de driver por unidad de negocio. En ese punto, considera prefijar por entidad (CO1_WACC, CO2_WACC) y aceptar que navegar por ellos requiere el filtro del Cuadro de nombre en lugar de un mapa mental.

Apps Script: administrar rangos con nombre de forma programática

Si estás construyendo una plantilla de modelo que se clona y se llena cada trimestre, no quieres definir 30 rangos con nombre a mano cada vez. Una función corta de Apps Script se encarga de eso:

function defineModelNamedRanges() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const assumptions = ss.getSheetByName('Supuestos');

  // Mapa de nombre → notación A1 en la pestaña de Supuestos
  const ranges = {
    'WACC':               'C4',
    'TerminalGrowthRate': 'C5',
    'TaxRate':            'C6',
    'RevenueBase':        'C7',
    'EBITDAMultiple':     'C8',
    'HoldPeriod':         'C9',
    'PeriodStart':        'C12',
    'PeriodEnd':          'C13'
  };

  // Eliminar rangos con nombre existentes antes de redefinirlos (evita duplicados)
  ss.getNamedRanges().forEach(nr => {
    if (ranges[nr.getName()]) nr.remove();
  });

  // Crear rangos con nombre nuevos
  Object.entries(ranges).forEach(([name, cell]) => {
    ss.setNamedRange(name, assumptions.getRange(cell));
  });
}

Pega esto en Extensiones → Apps Script, ejecútalo una vez y los 8 rangos con nombre quedan activos. El agente de barra lateral de ModelMonkey puede hacer lo mismo de forma conversacional: describe las celdas y los nombres que quieres, y él escribe y ejecuta el script sin que toques el editor.

Construyendo un board pack con rangos con nombre

Escenario real: board pack trimestral, modelo en un solo archivo con P&G, Flujo de Caja, KPIs y una pestaña de Resumen Ejecutivo. La pestaña de resumen necesita jalar 12 celdas de distintas partes del modelo sin margen para errores de fórmula.

Con rangos con nombre, la pestaña de resumen es trivial de auditar:

// Pestaña de Resumen Ejecutivo - Board Pack
B5:  =RevenueActual              // $4.2M
B6:  =RevenueActual/RevenueBudget - 1  // variación vs. presupuesto
B7:  =GrossMarginPct             // 38.5%
B8:  =EBITDAActual               // $1.1M
B9:  =EBITDAActual/RevenuePlan   // 26.2% de margen
B10: =RunwayCurrent              // 14 meses

Un revisor puede validar cada línea contra su origen en menos de 5 minutos. Con coordenadas brutas, la misma revisión toma 20 minutos e introduce error humano.

Para la sensibilidad de runway (ritmo de contrataciones contra el burn actual), los insumos de la tabla de sensibilidad se llaman HiringScenario_Low, HiringScenario_Mid y HiringScenario_High, y las salidas de sensibilidad jalan de RunwayCurrent. Cambiar escenarios implica modificar el valor de 1 celda, no replantear 3 SUMIFS.

Preguntas frecuentes sobre rangos con nombre en Google Sheets

¿Cuántos rangos con nombre puedo crear en un solo archivo de Google Sheets? El límite documentado es 500 rangos con nombre por hoja de cálculo. Para la mayoría de los modelos financieros, eso es más que suficiente. Si llegas al límite, generalmente es señal de que conviene separar el modelo en archivos distintos por entidad o segmento.

¿Los rangos con nombre funcionan entre archivos de Google Sheets distintos? No de forma nativa. Un rango con nombre tiene alcance dentro del archivo donde se define. Para jalar datos entre archivos distintos necesitas IMPORTRANGE, y en ese caso los rangos con nombre no se transfieren: la referencia viaja por coordenadas. Si necesitas que el nombre sea legible en destino, define un segundo rango con nombre en el archivo receptor que apunte a la celda donde cae el IMPORTRANGE.

¿Qué pasa con los rangos con nombre cuando comparto el archivo con alguien más? Los rangos con nombre son parte del archivo y viajan con él. Cualquier colaborador con acceso puede ver los nombres en Datos → Rangos con nombre y usarlos en sus propias fórmulas. Si quieres que solo ciertas personas editen los supuestos de origen, protege esas celdas por separado (clic derecho → Proteger rango) sin tocar los rangos con nombre.

¿Puedo usar rangos con nombre dentro de funciones de arreglos como ARRAYFORMULA o BYROW? Sí, sin restricciones. Un rango con nombre que apunta a un rango de múltiples celdas (por ejemplo, SalesData'P&G'!C2:C500) funciona exactamente igual que la referencia directa dentro de cualquier función de arreglo. La ventaja es que si el rango fuente crece, solo actualizas la definición del nombre en un lugar.

¿Cómo sé si un rango con nombre está roto sin revisar fórmula por fórmula? La señal más rápida es #REF! en cualquier celda que use el nombre. Para una auditoría proactiva, abre Datos → Rangos con nombre y revisa que cada nombre muestre una dirección de celda válida, no un error. En modelos grandes, un script de Apps Script que itere sobre ss.getNamedRanges() y verifique que getRange() no lanza excepción toma menos de 10 líneas y te da un reporte limpio antes de cada cierre de trimestre.

Resumen

Los rangos con nombre son el tejido conectivo de cualquier modelo multi-pestaña serio. Úsalos para cada constante, supuesto y driver de celda única. Usa referencias estructuradas de Tablas para datos transaccionales en columnas que crecen con el tiempo. Mantén el alcance explícito en modelos de escenarios. Audita las referencias rotas antes de cada entrega. Con 20 a 30 rangos bien nombrados, la lógica de un modelo se vuelve legible para cualquier persona del equipo sin necesidad de una revisión fórmula por fórmula.