Si el propietario no desactivó la descarga, tienes dos salidas rápidas:
- Archivo > Descargar > Microsoft Excel (.xlsx): copia completamente editable con todas las fórmulas intactas.
- Archivo > Hacer una copia: crea tu propia versión editable en Drive, si los permisos lo permiten.
Si ambas opciones están bloqueadas, el único camino es solicitar acceso de edición directamente. No existe ningún workaround para un archivo correctamente bloqueado.
Para hojas que controlas, tienes cuatro métodos con casos de uso distintos:
| Método | Para qué sirve | Limitación principal |
|---|---|---|
| Ctrl+` | Revisión visual rápida de una pestaña | No funciona en modo solo lectura; desordena anchos de columna |
FORMULATEXT() | Auditoría de fórmulas individuales | No resuelve la fuente detrás de IMPORTRANGE |
ARRAYFORMULA + FORMULATEXT | Detectar valores hardcodeados en rangos completos | Requiere acceso de edición en la hoja auditada |
Apps Script getFormulas() | Volcado completo de un modelo multi-pestaña | Requiere conocimiento básico de JavaScript |
El resto de este artículo se concentra en FORMULATEXT y su combinación con ARRAYFORMULA, que es donde está el valor real para auditar modelos financieros.
Cómo ver fórmulas en Google Sheets con FORMULATEXT
FORMULATEXT(referencia) devuelve la fórmula de una celda como texto plano. Está documentada en la referencia de funciones de Google Workspace Sheets (support.google.com/docs/answer/3340592, consultada junio 2026) y funciona con la misma sintaxis en Excel desde la versión 2013, lo que facilita su uso en equipos que alternan entre ambas plataformas.
Uso básico sobre una sola celda:
=FORMULATEXT('FCD'!C15)
Devuelve algo como =VNA(Supuestos!$C$4,FlujoCaja!D8:H8)+FlujoCaja!D8/(Supuestos!$C$4-Supuestos!$C$5). Útil para inspeccionar una fórmula compleja sin hacer clic en ella. El salto de productividad real viene cuando lo combinas con ARRAYFORMULA.
Detectar valores hardcodeados con ARRAYFORMULA + FORMULATEXT
Este es el caso de uso que justifica crear una pestaña de auditoría permanente en cualquier modelo financiero colaborativo.
=ARRAYFORMULA(IFERROR(FORMULATEXT('PyG'!C5:C52),""))
Lo que hace esta fórmula sobre el rango completo:
- Vuelca el texto de todas las fórmulas en la columna C del Estado de Resultados.
- Donde una celda tiene un valor hardcodeado en lugar de fórmula,
FORMULATEXTdevuelve#N/A. ElIFERRORlo convierte en celda en blanco. - Las celdas en blanco en tu columna de auditoría son exactamente los valores hardcodeados dentro de un rango que debería ser puro fórmulas.
Cómo se ve el output en la pestaña de auditoría
Una vez que corres la fórmula sobre el rango completo del Estado de Resultados, el resultado en la pestaña de auditoría se ve así:
| Fila | Concepto (referencia) | Texto de fórmula |
|---|---|---|
| 5 | Ingresos netos | ='Ingresos'!D5 |
| 6 | Costo de ventas | =-'Costos'!D6 |
| 7 | Utilidad bruta | ='PyG'!C5+'PyG'!C6 |
| ... | ... | ... |
| 14 | Margen EBITDA | (celda en blanco) |
| 15 | EBITDA | ='PyG'!C7-'PyG'!C13 |
La fila 14 en blanco es la señal: alguien escribió 38.5% directamente en esa celda en lugar de referenciar Supuestos!$C$7. En un modelo multianual construido por varios analistas, ese tipo de inconsistencia aparece con más frecuencia de la esperada y generalmente es el número que no cierra cuando llegas al Balance General.
Ejecutar =ARRAYFORMULA(FORMULATEXT('PyG'!D10:H10)) sobre los 5 años de proyección toma menos de 5 segundos. El patrón de celdas en blanco te dice exactamente dónde buscar antes de que lo encuentre alguien más.
Un modelo de pestaña de auditoría que funciona en producción
La estructura que mejor funciona para un modelo de proyecciones de 3 a 5 años es dedicar una pestaña entera a este propósito, con una fila por hoja auditada:
=ARRAYFORMULA(IFERROR(FORMULATEXT('PyG'!C5:H52),""))
=ARRAYFORMULA(IFERROR(FORMULATEXT('Balance General'!C5:H40),""))
=ARRAYFORMULA(IFERROR(FORMULATEXT('FCD'!C8:H25),""))
Cada bloque ocupa su propio rango en la pestaña de auditoría. El resultado no es un entregable externo: es una herramienta de trabajo interno que te permite revisar consistencia antes de tres momentos específicos.
Verificar consistencia entre columnas en modelos multianuales
El segundo uso más valioso es confirmar que el patrón de fórmulas sea consistente a lo largo de una fila de proyección. Supón que los factores de descuento del FCD están en la fila 8 para los años 1 al 5:
=ARRAYFORMULA(IFERROR(FORMULATEXT('FCD'!C8:G8),""))
Si cada celda sigue el mismo patrón (referencia que avanza una columna por año), el resultado debería verse prácticamente idéntico de izquierda a derecha:
| Año 1 | Año 2 | Año 3 | Año 4 | Año 5 |
|---|---|---|---|---|
=1/(1+Supuestos!$C$4)^1 | =1/(1+Supuestos!$C$4)^2 | =1/(1+Supuestos!$C$4)^3 | =1/(1+Supuestos!$C$4)^4 | (celda en blanco) |
La celda en blanco en el año 5 salta a la vista de inmediato: el factor de descuento del último año fue hardcodeado. Un ancla incorrecta, un copy-paste que se desvió o un número directo aparecen en segundos.
Esto es especialmente relevante antes de tres momentos: una revisión con el banco estructurador de una operación, la entrega del modelo a un equipo diferente, o una auditoría interna donde otro analista va a revisar tu trabajo.
Ver todas las fórmulas en Google Sheets con Ctrl+`
Ctrl+` (el acento grave, en la esquina superior izquierda del teclado en la mayoría de los layouts) activa la vista de fórmulas en toda la pestaña activa. Los anchos de columna se desconfiguran porque las fórmulas son largas, pero para un vistazo rápido antes de editar es suficiente. Presionarlo de nuevo regresa a los valores. La misma opción está disponible en Ver > Mostrar > Fórmulas.
Úsalo para revisiones visuales rápidas en una sola pestaña. No es la herramienta correcta para auditar consistencia en un modelo de 8 pestañas ni para documentar el trabajo antes de una entrega formal.
Preguntas frecuentes
¿Puedo ver las fórmulas de un archivo que me compartieron en modo solo lectura? Sí, celda por celda a través de la barra de fórmulas. No existe un modo para mostrar todas las fórmulas simultáneamente en una hoja que no controlas. Si el propietario permite descarga, exportar a .xlsx te da acceso completo y editable.
¿FORMULATEXT funciona con nombres de rango y referencias estructuradas?
Sí. A junio de 2026, FORMULATEXT resuelve correctamente nombres de rango definidos y referencias estructuradas. Lo que no hace es resolver la fórmula de origen detrás de IMPORTRANGE: en ese caso devuelve la fórmula IMPORTRANGE en sí misma, no la fórmula del archivo externo.
¿Qué pasa si aplico FORMULATEXT sobre una celda con un valor hardcodeado?
Devuelve #N/A. Por eso el patrón IFERROR(FORMULATEXT(...),"") es estándar en columnas de auditoría: convierte los hardcodeados en celdas en blanco, que son más fáciles de identificar visualmente en un rango largo.
¿Funciona igual en Excel?
Sí. FORMULATEXT existe en Excel con la misma sintaxis desde la versión 2013. Los scripts de Apps Script, en cambio, son exclusivos de Google Sheets y no tienen equivalente directo en Excel sin macros de VBA.
¿Necesito acceso de edición para usar FORMULATEXT? Sí. No puedes escribir fórmulas en una hoja de solo lectura, así que FORMULATEXT tampoco está disponible en ese modo. Úsalo en tu propia copia del archivo o en una pestaña de auditoría separada dentro del mismo modelo.
Apéndice: volcado completo con Apps Script
Si manejas modelos con más de 10 pestañas y quieres automatizar el volcado sin ingresar fórmulas manualmente, Apps Script ofrece el método getFormulas(). Este script crea una pestaña con el texto de fórmulas de varias hojas en menos de 30 segundos:
function volcarTodasLasFormulas() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var auditoria = ss.getSheetByName('Auditoría de Fórmulas') || ss.insertSheet('Auditoría de Fórmulas');
auditoria.clearContents();
var pestanas = ['PyG', 'Balance General', 'Flujo de Caja', 'FCD', 'Análisis de Retornos'];
var fila = 1;
pestanas.forEach(function(nombre) {
var hoja = ss.getSheetByName(nombre);
if (!hoja) return;
var formulas = hoja.getDataRange().getFormulas();
auditoria.getRange(fila, 1).setValue('=== ' + nombre + ' ===');
fila++;
auditoria.getRange(fila, 1, formulas.length, formulas[0].length).setValues(formulas);
fila += formulas.length + 2;
});
}
Ejecútalo desde Extensiones > Apps Script. getFormulas() devuelve una cadena vacía para celdas con valores hardcodeados y el texto de la fórmula para el resto. Es útil para revisiones técnicas internas con más de 2,000 celdas; no es el formato adecuado para entregables externos.
Dónde entra ModelMonkey
Cuando estás auditando un modelo con más de 2,000 celdas con fórmulas distribuidas en varias pestañas, el asistente de IA de ModelMonkey en el panel lateral puede leer rangos y señalar las celdas donde las fórmulas se apartan del patrón esperado: valores hardcodeados dentro de columnas que deberían ser fórmulas, referencias que no coinciden con la estructura establecida, inconsistencias entre años en modelos de proyección. Es más rápido que revisar manualmente un volcado de FORMULATEXT cuando el volumen lo hace impráctico.
Elige un plan de ModelMonkey, disponible tanto para Google Sheets como para Excel.