Menu

Función LET en Excel: poner nombre a partes de una fórmula

=LET(total;SUMA(B2:B6);SI(total>500;total*0,9;total)) calcula la suma una vez, la llama total y usa el nombre dos veces. LET hace las fórmulas largas más cortas, más fáciles de leer y más rápidas, porque cada parte con nombre se calcula una sola vez.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=LET(total,SUM(B2:B6),IF(total>500,total*0.9,total)) suma B2:B6 una vez, llama total al resultado y luego usa ese nombre dos veces: una para comprobarlo y otra para devolverlo. Sin LET escribirías la SUMA tres veces: =SI(SUMA(B2:B6)>500;SUMA(B2:B6)*0,9;SUMA(B2:B6)). LET se llama igual en Excel en español, y la tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México): =LET(total;SUMA(B2:B6);SI(total>500;total*0,9;total)).

10% de descuento en pedidos de más de 500
D2
ABCD
1OrderAmountTotal to pay
2A-101120580.5
3A-10295
4A-103210
5A-10480
6A-105140
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =LET(total;SUMA(B2:B6);SI(total>500;total*0,9;total))

Los pedidos suman 645, más de 500, así que D2 muestra 580.5. Cambia B4 a 50 y el total baja a 485, por debajo del límite, así que D2 muestra 485 sin descuento.

Sintaxis de LET

=LET(name1, value1, [name2, value2, ...], calculation)
  • Cada name (nombre) es una palabra que eliges, seguida del value (valor) que representa: un número, un rango o una fórmula.
  • Puedes definir hasta 126 parejas. Un valor puede usar cualquier nombre definido antes.
  • El último argumento es el calculation (cálculo), que usa los nombres y da el resultado.

LET necesita Excel 2021, Excel 2024 o Microsoft 365. En Excel 2019 y anteriores muestra #¿NOMBRE? (#NAME? en inglés; la tabla muestra los nombres de error en inglés). Google Sheets tiene LET con la misma sintaxis.

LET con varias variables

Los nombres hacen que una fórmula por fila se lea como una frase. Aquí cada fila calcula un subtotal y quita un 10% cuando pasa de 100:

Descuento por línea
D2
ABCD
1ItemPriceQtyTo pay
2Pen2.51025
3Bag403108
4Lamp35270
5Mug815108
6Desk1501135
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =LET(subtotal;B2*C2;SI(subtotal>100;subtotal*0,9;subtotal))

Los 120 de las bolsas pasan a 108, los 120 de las tazas también pasan a 108, y los 150 del escritorio pasan a 135; los bolígrafos (25) y las lámparas (70) se quedan como están. La fórmula se escribió en D2 y se copió hacia abajo, y subtotal es un número distinto en cada fila.

Un nombre puede apoyarse en el anterior: =LET(x;2;y;x*3;x+y) pone x en 2, y en 6, y devuelve 8.

Calcular una búsqueda una vez y reutilizarla

Una búsqueda que aparece dos veces en un SI se ejecuta dos veces. LET la ejecuta una. Esto devuelve el precio más un 20%, o un mensaje cuando falta el producto:

Buscar una vez, usar dos veces
F2
ABCDEF
1ProductRegionPriceLook forPrice + 20%
2AppleNorth1.2Pear1.8
3PearSouth1.5KiwiNot found
4CarrotEast0.8
5BreadNorth2.4
6MilkSouth1.1
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =LET(p;BUSCARX(E2;A2:A6;C2:C6;"");SI(p="";"Not found";p*1,2))

Pear se encuentra, así que F2 muestra 1.8. Kiwi no está en la lista, BUSCARX (XLOOKUP en inglés) devuelve el texto vacío que se le da como cuarto argumento, y F3 muestra Not found. Escribe Kiwi en A4 y F3 cambia a su precio más un 20%.

LET con FILTRAR

LET es más útil con matrices dinámicas, donde un rango filtrado se necesita más de una vez. Esto pone nombre a las filas que coinciden, las cuenta y promedia sus ventas en una sola fórmula:

Resumen de una región
F2
ABCDEF
1NameRegionSalesRegionNorth
2AnnNorth120Summary3 reps, average 126.7
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =LET(rows;FILTRAR(A2:C7;B2:B7=F1);n;FILAS(rows);avg;PROMEDIO(INDICE(rows;0;3));n&" reps, average "&REDONDEAR(avg;1))

Para North muestra "3 reps, average 126.7". Elige South en F1 para obtener "2 reps, average 87.5". INDICE(rows;0;3) toma la tercera columna de las filas filtradas. Sin LET, FILTRAR (FILTER en inglés) se escribiría dos veces.

Un calendario mensual con celdas en blanco

El calendario de la página de SECUENCIA muestra días de los meses vecinos. LET pone nombre al día 1 del mes y a la cuadrícula de fechas, y luego deja en blanco toda fecha fuera del mes:

Abril de 2026, los demás meses en blanco
A2
ABCDEFG
1SunMonTueWedThuFriSat
21234
3567891011
412131415161718
519202122232425
62627282930
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =LET(start;FECHA(2026;4;1);days;SECUENCIA(6;7;start-DIASEM(start)+1);SI(MES(days)=MES(start);days;""))

Cambia DATE(2026,4,1) por DATE(2026,5,1) y la cuadrícula se redibuja para mayo. Como el día 1 del mes tiene nombre una sola vez, solo hay una fecha que cambiar, no tres.

Práctica: gastos de envío con LET

Tu turno
D2
ABCD
1OrderAmountTo pay
2A-101120
3A-10295
4A-103210
5A-10480
6A-105140
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: En D2, suma los importes de B2:B6. Si el total es menor que 800, suma 25 de envío; si no, devuelve el total.

Reglas de nombres y errores de LET

La mayoría de los errores de LET vienen de los nombres:

  • Un nombre debe empezar por una letra y no tener espacios. unit price falla; usa unit_price o unitPrice.
  • Un nombre no puede parecer una dirección de celda. a1 y tax2026 son direcciones de celda en Excel (TAX es una columna), así que LET los rechaza con #¿NOMBRE?. rate o tax_2026 funcionan.
  • Un nombre se escribe exactamente igual cada vez que se usa. Una errata donde se usa da #¿NOMBRE?, porque Excel busca una función o un rango con nombre escrito así.
  • El último argumento debe ser un cálculo. =LET(x;5) tiene un nombre y un valor pero nada que devolver, así que Excel la rechaza.
  • Los nombres solo existen dentro de su propia fórmula. Para reutilizar un cálculo en muchas celdas, guárdalo como una LAMBDA con nombre.
=LET(a1,5,a1*2)          #NAME?  (a1 is a cell address)
=LET(rate,8%,100*rate)   8

Preguntas frecuentes

¿Qué hace la función LET en Excel?

Da nombres a valores dentro de una fórmula. =LET(total;SUMA(B2:B6);total*2) calcula SUMA(B2:B6) una vez, lo llama total y devuelve total por 2. Los nombres solo existen dentro de esa fórmula.

¿Cómo uso más de una variable en LET?

Añade más parejas de nombre y valor antes del cálculo final: =LET(price;B2;qty;C2;price*qty). Un valor posterior puede usar un nombre anterior, como en =LET(x;2;y;x*3;x+y), que devuelve 8.

¿Por qué mi fórmula LET devuelve #¿NOMBRE?

O tu Excel no tiene LET (necesita Excel 2021 o Microsoft 365), o un nombre está mal escrito donde se usa, o un nombre no está permitido, por ejemplo uno que parece una dirección de celda como a1 o tax2026, o uno que empieza por un número.

¿LET hace más rápidas las fórmulas de Excel?

Puede. Sin LET, una expresión repetida, como el mismo BUSCARX escrito dos veces en un SI, se calcula cada vez que aparece. Con LET se calcula una vez y se reutiliza el resultado.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR