TL;DR —
LETdeclara variables con nombre dentro de una misma fórmula:=LET(nombre1, valor1, nombre2, valor2, …, resultado). Los nombres van en pares, el resultado es siempre el último argumento, y Excel calcula cada valor con nombre una sola vez — así que LET es a la vez más legible y más rápida que repetir una subexpresión. Excel 365 y 2021+.
=LET(revenue, B2, cost, C2, margin, (revenue-cost)/revenue, margin)
=LET(total, SUMIF(A:A,G1,B:B), IF(total>0, total, "none")) ' recorre la columna una vez, no dos
Una fórmula larga de Excel es un pequeño programa sin variables: cada valor se
calcula en línea, a menudo más de una vez, y nada tiene un nombre. LET añade
las primeras líneas que le faltan a ese programa: un sitio donde declarar tus
variables antes de usarlas. La recompensa es doble: una fórmula que puedes
leer y, además, una que a menudo se ejecuta más rápido.
Lo que vas a aprender
- El modelo mental que hace que LET encaje: la cabecera de una función, donde declaras las variables
- La única regla que rompe LET: nombres en pares, cálculo al final — y el error que aparece cuando te la saltas
- Por qué LET es una herramienta de rendimiento, no solo de legibilidad (cada valor se calcula una sola vez)
- Cuándo recurrir a LET — y las trampas al nombrar (
A1no es un nombre válido)
El modelo mental: LET es donde declaras tus variables
Piensa en la cabecera de cualquier función en un lenguaje de programación de
verdad: das nombre a unas cuantas cosas y luego las usas. LET trae eso a una
celda. La forma nunca cambia: pares nombre/valor y, al final, un único cálculo
que los usa:
=LET(name1, value1, name2, value2, calculation)
Se lee de arriba abajo: "sea rate igual a 0,2, sea net igual a A2-B2, y
entonces devuelve net * rate." En cuanto ves LET como declaraciones
seguidas de un resultado, se deducen tres cosas:
- Un nombre que defines puedes reutilizarlo tantas veces como quieras en el cálculo final — pero Excel evalúa su valor una sola vez.
- Los nombres se construyen de arriba abajo: un nombre posterior puede referirse a uno anterior, nunca al revés.
- El último argumento es la respuesta. Todo lo que va antes viene en pares nombre/valor.
La regla que rompe LET: pares y luego el resultado
Este es el error de LET más común con diferencia. Cada argumento anterior al último debe ser un par nombre/valor. Cuéntalos: nombre, valor, nombre, valor, … , resultado. Un número par de argumentos antes del cálculo y, después, un único cálculo para cerrar.
=LET(x, 10, y, 20, x+y) ' dos pares y luego el resultado -> 30
=LET(x, 10, y, 20) ' sin cálculo final -> devuelve 20, no lo que querías
=LET(x, 10, x*2, y, x+y) ' "x*2" se interpreta como un nombre -> error
Si tu LET devuelve un número que se parece a uno de tus datos de entrada, casi
con total seguridad olvidaste el cálculo final y Excel te devolvió tu último
valor. Si obtienes #VALUE! o #NAME?, lo más probable es que pusieras el
cálculo en mitad o usaras un nombre no válido.
Trampas al nombrar:
- Un nombre no puede parecer una referencia de celda —
A1,R2,Q4se rechazan todos. Usaqtr4, noQ4. - Los nombres no pueden contener espacios ni empezar por un número.
- Un nombre puede referirse a nombres anteriores pero no a sí mismo ni a uno posterior — declara en el orden que necesites.
Por qué LET es en realidad una herramienta de rendimiento
La legibilidad es la ventaja evidente. La oculta es la velocidad. Excel evalúa cada valor con nombre una única vez, sin importar cuántas veces lo referencies. Compara:
=IF(SUMIF(A:A,G1,B:B)>0, SUMIF(A:A,G1,B:B), "none")
Ese SUMIF sobre una columna entera se ejecuta dos veces. En una hoja
grande con cientos de fórmulas así, eso duplica el trabajo. Envuélvelo una vez:
=LET(total, SUMIF(A:A,G1,B:B), IF(total>0, total, "none"))
Ahora el recorrido de la columna ocurre una sola vez. Esta es la verdadera razón por la que los usuarios avanzados envuelven en LET las subexpresiones que se repiten: no por orden, sino para reducir el recálculo a la mitad (o más). La regla práctica: si una subexpresión aparece más de una vez en tu fórmula, su sitio es un LET.
Da nombre a cada paso de una cadena de matrices dinámicas
LET brilla dentro de las fórmulas modernas de desbordamiento (spill). Dar nombre a cada etapa convierte un anidamiento opaco en algo que puedes leer — y depurar línea a línea:
=LET(
data, FILTER(Sales, Sales[Region]="West"),
top, SORT(data, 3, -1),
TAKE(top, 5)
)
Cada nombre es un punto de control: selecciona data en la barra de fórmulas y
pulsa F9 para ver solo esa etapa. Combinado con
FILTER (FILTRAR),
SORT (ORDENAR) y
TAKE (TOMAR), LET es lo que mantiene
honesta una consulta de cinco pasos.
El criterio: LET se queda en una celda — más allá de eso, quieres LAMBDA
| Situación | Usa | Por qué |
|---|---|---|
| Una subexpresión se repite en una fórmula | LET | Se calcula una vez, no N veces |
| Una fórmula anidada que nadie puede leer | LET | Da nombre a los pasos; depura cada línea |
| Vas a reutilizar la lógica en otras celdas o libros | LAMBDA | LET es por fórmula; LAMBDA se puede invocar |
| Una fórmula trivial de un solo paso | Ninguna | LET añade ruido sin ninguna ventaja |
LET vive dentro de una fórmula. En cuanto quieras invocar la misma lógica
desde muchas celdas — o desde otro libro — te has quedado pequeño con LET y
quieres LAMBDA. De hecho, el cuerpo de casi todo
buen LAMBDA es un LET. Tampoco recurras a LET en una fórmula de un solo paso;
ponerle nombre a =A1*2 no ayuda a nadie.
Cómo ayuda ExcelMaster
LET es donde las fórmulas de Excel empiezan a leerse como código — y el código es justo lo que un copiloto de IA sabe escribir bien. ExcelMaster coge una fórmula anidada larga e ilegible y la refactoriza en un LET limpio con pasos con nombre, dentro de Excel — y detecta la subexpresión repetida que solo debería calcularse una vez. Describe el cálculo en lenguaje natural y te devuelve el LET, con nombres y todo. Pruébalo con tus propios datos.
Preguntas frecuentes
¿Qué hace la función LET en Excel?
LET declara variables con nombre dentro de una sola fórmula, de modo que puedes
escribir =LET(nombre, valor, …, resultado) en lugar de repetir subexpresiones.
Hace la fórmula legible y calcula cada valor con nombre una sola vez.
¿Por qué mi fórmula LET devuelve un valor equivocado?
Casi siempre porque el último argumento no es tu cálculo. Todo lo anterior al
argumento final debe ser pares nombre/valor; el argumento final es el resultado.
=LET(x,10,y,20) devuelve 20 porque no hay ningún cálculo después de los
pares.
¿LET hace que las fórmulas sean más rápidas?
Sí, cuando una subexpresión se repite. Excel evalúa cada valor con nombre una
sola vez, así que =LET(t, SUMIF(A:A,G1,B:B), IF(t>0,t,0)) recorre la columna
una única vez en lugar de dos. En hojas grandes esto es una mejora de velocidad
real, no solo un texto más limpio.
¿Por qué me da un error #NAME? en LET?
Usaste un nombre no válido. Los nombres no pueden parecer una referencia de celda
(A1, Q4), no pueden contener espacios y no pueden empezar por un número.
Renómbralo a qtr4, rate o net_sales.
¿Qué versiones de Excel admiten LET?
LET está en Excel 2021, Excel 2024 y Microsoft 365 para Windows y Mac. No está
disponible en Excel 2016 ni 2019.
Probado en
Probado en: Excel 365 (Windows 11): última verificación el 22/06/2026.
Guías relacionadas: Excel LAMBDA · Excel MAP, REDUCE y BYROW · Excel FILTER · Excel SORT
