Gestor de Escenarios (Base / Alcista / Bajista)
Cuándo usarlo
Úsalo cuando un modelo necesite cambiar limpiamente entre casos Base, Alcista y Bajista impulsados por un pequeño conjunto de supuestos, y desees que cada caso sea visible y auditable en una sola hoja. Este skill CONSTRUYE un archivo .xlsx descargable desde cero en la aplicación Claude (openpyxl más validación de datos), con un selector en vivo, extracción de supuestos basada en fórmulas, una tabla de comparación y una pasada de recálculo y verificación. No es el complemento Claude para Excel.
Lo que construye
Cinco áreas: una pestaña Portada (selector y resumen), una pestaña EntradasEscenario (cada variable bajo Base, Alcista, Bajista), enlaces EN VIVO hacia el modelo para que los supuestos tomen el caso activo, una pestaña Salidas de comparación (resultados clave de los tres casos lado a lado) y una pestaña Verificaciones.
Flujo de construcción
- Enumera las variables que difieren entre casos (por ejemplo, crecimiento, precio, rotación, capex) y encuentra la celda de supuesto de cada variable en el modelo.
- Construye el bloque
EntradasEscenarioque contiene los valores Base, Alcista y Bajista para cada variable. - Construye una celda selector única (1, 2 o 3) con una lista desplegable de validación de datos.
- Reescribe cada celda de supuesto del modelo para que tome el caso activo mediante CHOOSE o INDEX que haga referencia al selector.
- Construye la pestaña
Salidascomparando los resultados clave de los tres casos (cálculo paralelo, ver especificación) para que todos los casos se muestren a la vez independientemente del selector. - Agrega la pestaña
Verificaciones. - Recalcula el libro en un motor real (LibreOffice sin interfaz gráfica).
- Verifica que no haya errores de fórmula (#REF!, #DIV/0!, #VALOR!, #NOMBRE?), confirma que las verificaciones pasen y luego entrega el archivo .xlsx.
Especificación pestaña por pestaña
Pestaña Portada
B2: celda selector. Aplica la lista de validación de datos1,2,3(o una lista con nombre Base, Alcista, Bajista mapeada a 1/2/3).B3: nombre del caso activo,=ELEGIR(B2;"Base";"Alcista";"Bajista").- Un pequeño resumen de resultados que lea la salida en vivo del modelo bajo el caso activo, por ejemplo
B6 =Modelo!B40.
Pestaña EntradasEscenario
Una fila por variable, una columna por caso:
Anombre de la variable,BBase,CAlcista,DBajista (todos entradas azules),Evalor activo (fórmula negra).- El valor activo se toma con el selector. Usando ELEGIR:
E5 =ELEGIR(Portada!$B$2;B5;C5;D5). - Equivalente con ÍNDICE:
E5 =ÍNDICE(B5:D5;Portada!$B$2). ÍNDICE es más limpio cuando el número de casos puede crecer; ELEGIR se lee más explícitamente para tres casos fijos. - Copia la fórmula elegida hacia abajo en cada fila de variable para que la columna sea coherente.
Enlaces hacia el modelo
- Cada celda de supuesto del modelo apunta al valor activo, por ejemplo
Modelo!B6 =EntradasEscenario!E5. - Nunca permitas que el modelo contenga un supuesto escrito que un escenario deba controlar; el valor debe fluir selector -> columna activa -> modelo.
- Mantén el enlace con el color verde de referencia cruzada para que los revisores vean que el supuesto está impulsado, no escrito.
Pestaña Salidas (comparación lado a lado)
Muestra todos los casos a la vez, no solo el activo. Dos patrones robustos:
- Cálculo paralelo (preferido para auditabilidad): replica las pocas fórmulas de salida tres veces, cada una alimentada por la columna Base, Alcista o Bajista directamente, en lugar de la columna activa. Por ejemplo, el VAN bajo Alcista recalcula la cadena de salida usando
EntradasEscenario!C5:C12en lugar deE. Esto muestra los tres sin tocar el selector. - Leer-cada-uno: si el modelo es grande, documenta que las celdas de comparación capturan la salida en vivo para cada caso estableciendo el selector en 1, 2, 3 a su vez durante el paso de recálculo y pegando cada valor capturado; indica claramente qué celdas son capturas instantáneas versus en vivo.
- Diseño: filas = métricas clave (Ingresos, EBIT, VAN, TIR), columnas = Base, Alcista, Bajista, más una columna de delta Alcista-menos-Base y Bajista-menos-Base.
Pestaña Verificaciones
- Selector dentro del rango:
=Y(Portada!B2>=1;Portada!B2<=3;Portada!B2=ENTERO(Portada!B2))VERDADERO. - Cada variable tiene los tres casos completos:
=CONTAR.BLANCO(EntradasEscenario!B5:D12)=0VERDADERO. - Columna activa coincide con el selector: para una variable de muestra,
=(EntradasEscenario!E5=ELEGIR(Portada!B2;EntradasEscenario!B5;EntradasEscenario!C5;EntradasEscenario!D5))VERDADERO.
Notas de construcción con openpyxl
- Agrega el desplegable con
openpyxl.worksheet.datavalidation.DataValidation(type="list", formula1='"1,2,3"'), luegows.add_data_validation(dv)ydv.add(ws["B2"]). - Escribe cada celda de valor activo y de enlace como una cadena de fórmula, nunca como el número de caso resuelto; el valor solo aparece después del recálculo.
- Si usas casos con nombre en el desplegable, mantén un mapeo oculto para que el selector aún se resuelva a un entero para ELEGIR/ÍNDICE; mezclar texto e índice en un solo selector rompe la fórmula.
- Rellena la celda del selector con un fondo distintivo y un borde grueso para que los revisores vean inmediatamente la celda de control única.
Cordura direccional
- Alcista no debería producir una salida peor que Base en la métrica principal, y Bajista no debería superar a Base; si ocurre, es probable que los valores de caso de una variable estén intercambiados entre columnas.
- Agrega una verificación informal opcional en la pestaña Salidas comparando el signo de cada delta con la dirección esperada, para que una columna intercambiada se detecte en el recálculo en lugar de en la revisión.
Convenciones de fórmulas y formato
- Fuente azul para los valores de entrada Base/Alcista/Bajista y la celda del selector.
- Fuente negra para las fórmulas en la misma pestaña (la columna ELEGIR/ÍNDICE del valor activo, cálculos de salida).
- Fuente verde para enlaces entre pestañas como
=EntradasEscenario!E5dentro del modelo. - Sin valores fijos donde va una fórmula: la columna activa y los supuestos del modelo son siempre fórmulas, nunca el valor del caso reescrito.
- Una fórmula coherente por fila o columna: el mismo patrón ELEGIR/ÍNDICE en la columna activa; la misma fórmula de salida en las columnas de comparación.
- Formatos de número: tasas
0.0%, moneda#,##0, múltiplos0.00x. Resalta la celda del selector con un relleno para que sea obvio dónde cambiar.
Compensación frente al Administrador de Escenarios integrado
El Administrador de Escenarios integrado de Excel almacena los valores de caso dentro de un diálogo, invisibles en la hoja, sobrescribe las entradas en vivo cuando se muestran y es fácil que se desincronicen del modelo. Un bloque de conmutación visible mantiene todos los casos en la cuadrícula, hace que la extracción activa sea una fórmula trazable y permite a los revisores ver los tres resultados lado a lado sin abrir ningún menú. Es más auditable y sobrevive a copias, revisiones y control de versiones.
Verificaciones
Consulta la pestaña Verificaciones arriba: selector en 1..3 y entero, sin celdas de caso en blanco, valor activo igual al caso del selector. Las tres deben devolver VERDADERO.
Recálculo y verificación
Guarda con openpyxl, recalcula sin interfaz gráfica (por ejemplo libreoffice --headless --convert-to xlsx) para que ELEGIR/ÍNDICE y los enlaces entre hojas se resuelvan. Vuelve a cargar, busca #REF!, #DIV/0!, #VALOR!, #NOMBRE?. Cambia el selector a 1, 2, 3 y confirma que las salidas cambien y que la verificación activa se mantenga en cada ajuste. Corrige y repite hasta que esté limpio, luego entrega.
Entradas a recopilar
- Ruta al modelo y la dirección de la celda de supuesto para cada variable.
- Valor Base, Alcista y Bajista para cada variable.
- Las métricas de salida clave a comparar y sus celdas.
- Si la comparación debe ser de cálculo paralelo (en vivo) o capturas instantáneas.
Ejemplo
Variables hipotéticas: crecimiento de ingresos (Base 4%, Alcista 8%, Bajista 1%), margen bruto (Base 55%, Alcista 58%, Bajista 50%). Selector Portada!B2 = 2 selecciona Alcista, por lo que EntradasEscenario!E5 =ELEGIR(2;4%;8%;1%) = 8% fluye hacia Modelo!B6. La pestaña Salidas muestra VAN de (por ejemplo) 760 Base, 1.140 Alcista, 410 Bajista en unidades hipotéticas, con un delta Alcista-menos-Base de 380, todo visible a la vez.