Valoración de empresas con DCF en una sola fórmula
Un miembro de la comunidad plantea un reto interesante: calcular el Enterprise Value de una empresa usando el método de Descuento de Flujos de Caja (DCF), el mismo que utiliza Warren Buffett, pero condensando todos los cálculos en una sola fórmula de Excel.
El problema parte de datos reales de Inditex: un Free Cash Flow (FCFF) inicial de 5.200 millones de euros, una tasa de descuento (WACC) del 8%, un crecimiento anual del 7% y un crecimiento perpetuo del 2%. El cálculo tradicional requiere calcular el FCFF descontado de cada año, sumar el valor terminal y restar la deuda neta, todo en múltiples celdas.
Hector propone una primera solución con SUMAPRODUCTO:
``
=SUMAPRODUCTO(B2:B6 / (1+C2)^FILA(A1:A5)) + ((B6(1+0,02)/(C2-0,02)) / (1+C2)^5)
`
Esta fórmula descuenta los flujos de los 5 años con SUMAPRODUCTO y calcula el valor terminal en la misma línea.
Leo lleva la solución al siguiente nivel, comprimiendo absolutamente todo en una fórmula LET con tres variantes:
Opción 1 (con SUMAPRODUCTO):
`
=LET(
n; C5;
i; C6;
m; C7;
k; C8;
di; C9;
de; C10;
dn; C11;
SUMAPRODUCTO(i(1+k)^(SECUENCIA(n)-1)/de^SECUENCIA(n)) + i(1+k)^(n-1)m/(dide^n) - dn
)
`
Opción 2 (serie geométrica pura, sin arrays):
`
=LET(
n; C5;
i; C6;
m; C7;
k; C8;
di; C9;
de; C10;
dn; C11;
r; (1+k)/de;
i/de(1-r^n)/(1-r) + i(1+k)^(n-1)m/(dide^n) - dn
)
`
Opción 3 (sin variables, referencias directas):
`
=LET(r; (1+C8)/C10; C6r(1-r^C5)/(1-r) + C6r^C5*C7/C9 - C11)
`
Donde las variables son:
- n: horizonte temporal (5 años)
- i: FCFF del año 0 (input)
- k: tasa de crecimiento anual (7%)
- de: denominador de descuento (1 + WACC = 1,08)
- di: diferencia WACC - crecimiento perpetuo (0,06)
- m: multiplicador de crecimiento perpetuo (1,02)
- dn: deuda neta
La opción 2 es especialmente elegante: utiliza la fórmula de la suma de una serie geométrica (1-r^n)/(1-r)` para comprimir lo que serían N cálculos individuales en una expresión cerrada. Matemáticas puras aplicadas a Excel.
El fichero adjunto incluye el Excel original con el problema paso a paso (con datos de Inditex) y las dos versiones de Leo con las tres opciones.
El reto: valorar una empresa en una sola celda
El Descuento de Flujos de Caja (DCF) es el método que usan los analistas —y el propio Warren Buffett— para estimar el valor de una empresa: proyectar sus flujos de caja futuros, descontarlos a valor presente y sumarles un valor terminal. Un miembro de la comunidad propuso un reto: condensar todo ese cálculo, que normalmente ocupa muchas celdas, en una sola fórmula.
El ejemplo parte de datos reales de Inditex: un Free Cash Flow (FCFF) inicial de 5.200 millones de euros, una tasa de descuento (WACC) del 8%, un crecimiento anual del 7% y un crecimiento perpetuo del 2%. El cálculo clásico exige descontar el flujo de cada año, calcular el valor terminal, sumarlo todo y restar la deuda neta.
Primer paso: SUMAPRODUCTO (Héctor)
Héctor arranca con una fórmula que ya lo resuelve casi todo en una línea:
`` =SUMAPRODUCTO(B2:B6 / (1+C2)^FILA(A1:A5)) + ((B6*(1+0,02)/(C2-0,02)) / (1+C2)^5) ``
SUMAPRODUCTO descuenta los flujos de los cinco años y el segundo término calcula el valor terminal (el valor de todos los flujos más allá del horizonte de proyección) y lo trae a presente.
Segundo paso: LET con tres variantes (Leo)
Leo lleva la idea al extremo, comprimiendo todo en una fórmula LET con nombres de variable claros. La versión más interesante usa la suma de una serie geométrica:
`` =LET( n; C5; i; C6; m; C7; k; C8; di; C9; de; C10; dn; C11; r; (1+k)/de; i/de(1-r^n)/(1-r) + i(1+k)^(n-1)m/(dide^n) - dn ) ``
Donde las variables son: n el horizonte (5 años), i el FCFF inicial, k el crecimiento anual (7%), de el denominador de descuento (1 + WACC = 1,08), di la diferencia entre WACC y crecimiento perpetuo (0,06), m el multiplicador de crecimiento perpetuo (1,02) y dn la deuda neta.
La joya es el factor (1-r^n)/(1-r): es la fórmula cerrada de la suma de una serie geométrica, que comprime lo que serían cinco descuentos individuales en una única expresión. Matemática pura aplicada a Excel. Y si prefieres máxima concisión, la tercera variante prescinde de nombres y va con referencias directas:
`` =LET(r; (1+C8)/C10; C6r(1-r^C5)/(1-r) + C6r^C5C7/C9 - C11) ``
Funciones clave
LET: nombra cada input (WACC, crecimiento, deuda...) para que una fórmula larga siga siendo legible.SUMAPRODUCTO: descuenta y suma los flujos de varios años de golpe, sin celdas auxiliares.- Serie geométrica
(1-r^n)/(1-r): sustituye N descuentos por una expresión cerrada, más rápida y elegante. SECUENCIAy potencias: generan los factores de descuento año a año en la variante con arrays.
Conclusión
Del enfoque clásico multicelda a una única fórmula: el mismo DCF que ocupa media hoja de cálculo cabe en una línea si aprovechas LET, SUMAPRODUCTO y un poco de álgebra de series geométricas. No siempre querrás tanta compresión (para auditar un modelo, las celdas separadas ayudan), pero entender cómo se comprime te enseña la estructura matemática del propio método. Retos de finanzas cuantitativas como este se comparten cada semana en la comunidad de Influexcel.
Más contenido de Excel en InflueXcel
- Cuenta clientes y cervezas en Excel 🍺 Caso "La Taberna: El Poney Pisador" (Nivel 1) Tutorial🍺 Noche cerrada en Bree. Frodo, Sam, Merry y Pippin cruzan la puerta de El Poney Pisador huyendo de los Jinetes Negros: la sala está a reven
- SUMAR.SI.CONJUNTO en acción con El Señor de los Anillos 🃏 El 21 de La Comarca TutorialLo que practicamos en este caso: • Contar cartas por palo con CONTAR.SI • Sumar valores con condiciones (SUMAR.SI / SUMAR.SI.CONJUNTO) • Apl
- Reto de Excel: El cumpleaños de Bilbo 🎂 | CONTAR.SI y SUMAR.SI desde cero (Nivel 1) TutorialEn La Comarca se celebra el cumpleaños número 111 de Bilbo Bolsón: cerveza, pasteles, fuegos artificiales… y algún curioso escondido tras el
- ¡Excel PowerQuery Hack! Conexiones con rutas relativas en 10 minutos! Tutorial¿Harto de ajustar las conexiones en PowerQuery cada vez que compartes tu archivo de Excel? 🙄 Convierte las conexiones de PowerQuery con ruta
- Mejora un 90% el rendimiento de Power Query con SQLite TutorialPower Query es una herramienta potente para consolidar, combinar y calcular datos, pero cuando trabajamos con millones de registros y calcul
- Reorganizar tablas mensuales: cruzar por persona buscando en vertical y en horizontal CasoNuevo caso interesante de la comunidad. Juan tenía varias tablas mensuales (a veces más de una en el mismo mes) y quería reorganizarlas por
- Un dato de todas las hojas, escrito una sola vez CasoEsta semana surgió en la comunidad un reto muy habitual cuando un libro tiene muchas hojas: mostrar el valor de la celda B3 de cada hoja, in
- Un índice de hojas que se genera solo: HYPERLINK en rangos desbordados CasoEsta semana surgió en la comunidad un pequeño "expediente X". Un miembro llegó tras ver un vídeo con una idea clara en la cabeza: montar una
- Reformatear un código alfanumérico al teclear: de NN1234567 a NN-12345-67 CasoEsta semana surgió en la comunidad una duda muy práctica: cómo conseguir que al escribir un código tipo NN1234567 (dos letras seguidas de si
- Reclasificación contable: duplicar cada fila con una conversión distinta por columna, en un único bloque CasoInteresante reto contable planteado esta semana por un miembro de la comunidad. Juan parte de una tabla de apuntes contables (rango C7:P10)