Matrices dinámicas

Función LET en Excel: dar nombre a valores dentro de una fórmula

Define nombres dentro de una fórmula para reutilizar un cálculo en vez de repetirlo.

LET permite que una fórmula dé nombre a algo y después use ese nombre. Existe por un patrón que todo el mundo reconoce: una fórmula que llama al mismo BUSCARV dos veces, una para comprobar si funcionó y otra para devolverlo. LET lo calcula una vez, le pone un nombre y usa ese nombre en los dos sitios.

La sintaxis son parejas —nombre, valor, nombre, valor— que terminan con una expresión final que es lo que se devuelve. =LET(puntos; B2*1,1; SI(puntos>1000; puntos; 0)) nombra el cálculo y después lo usa dos veces sin repetirlo. El último argumento es siempre el resultado y nunca tiene nombre propio.

La ganancia es en parte de velocidad, ya que un cálculo hecho una vez gana al mismo hecho tres, y sobre todo de legibilidad. Una fórmula larga construida con pasos nombrados se puede leer de arriba abajo por alguien que no la escribió, cosa que no ocurre con la misma lógica escrita en línea.

Sintaxis

=LET(nombre1; valor1; [nombre2; valor2]; …; cálculo)

Argumentos

nombre1
Obligatorio
Un nombre para el primer valor. Debe empezar por letra y no puede parecer una referencia de celda: A1 no vale.
valor1
Obligatorio
A qué se refiere ese nombre. Puede usar cualquier nombre definido antes, así que los pasos se apoyan unos en otros.
cálculo
Obligatorio
La expresión final, cuyo resultado devuelve la fórmula. Va siempre la última y siempre sin nombre.

Los datos de ejemplo

Encabezados en la fila 1, datos en A2:C6.

ABC
1JugadorPuntosCorreo
2Alicia Moreau1240alicia@northwind.com
3Bruno Santos385bruno@southgate.co.uk
4Chen Wei2100chen@northwind.com
5Dana Okafor940dana@eastvale.org
6Erik Halls1560erik@southgate.co.uk

Ejemplos resueltos

=LET(extra; B2*0,1; B2+extra)

Resultado: 1364

La forma más simple: nombra un valor intermedio y después úsalo. Dos argumentos más el resultado.

=LET(total; SUMA(B2:B6); media; total/5; SI(B2>media; "Por encima"; "Por debajo"))

Resultado: Por encima

Dos nombres, y el segundo se construye a partir del primero: eso es lo que hace de LET una secuencia de pasos y no un simple renombrado.

=LET(hallado; BUSCARX("Chen Wei"; A2:A6; B2:B6); SI(ESND(hallado); 0; hallado))

Resultado: 2100

El patrón para el que se creó LET: la búsqueda se ejecuta una vez en lugar de una por rama.

=LET(mejores; ORDENAR(FILTRAR(A2:B6; B2:B6>900); 2; -1); TOMAR(mejores; 3))

Resultado: Chen Wei 2100, Erik Halls 1560, Alicia Moreau 1240

Nombrar una matriz derramada entera y después actuar sobre ella. Los nombres pueden contener rangos, no solo valores sueltos.

Ahora practícala

Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.

Abrir el ejercicio: Da nombre a un valor para que la fórmula se lea como una frase

Errores habituales y cómo resolverlos

#¡VALOR!

Por qué ocurre: Un número impar de argumentos nombre/valor antes del cálculo final: normalmente un nombre definido sin valor, o el resultado al que se le ha dado nombre por error.

Cómo resolverlo: Cuéntalos: cada nombre necesita un valor, y el último argumento va solo.

#¿NOMBRE?

Por qué ocurre: Se usa un nombre antes de definirlo, o choca con algo que Excel reserva: cualquier cosa que parezca una referencia de celda como A1 o XFD3.

Cómo resolverlo: Define los nombres antes de usarlos y elige palabras en vez de combinaciones de letra y número.

La fórmula devuelve un nombre en lugar de un valor

Por qué ocurre: El último argumento es una pareja nombre/valor y no una expresión.

Cómo resolverlo: LET termina siempre con lo que se devuelve. Si tus dos últimos argumentos son una pareja, te falta el resultado.

Consejos que conviene saber

  • Nombra las cosas por lo que significan, no por lo que son: `vencidas` se lee mejor que `filtrado1`.
  • LET encaja de forma natural con FILTRAR y ORDENAR: nombra el conjunto filtrado una vez y después ordénalo, cuéntalo y toma de él.
  • Anidar LET dentro de LET funciona pero rara vez ayuda; añade otro nombre al mismo LET.
  • LAMBDA es el paso siguiente: donde LET nombra valores dentro de una fórmula, LAMBDA convierte la fórmula misma en una función reutilizable con nombre.

Preguntas frecuentes

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

Sí, cuando elimina trabajo repetido. Una fórmula que llamaba tres veces al mismo BUSCARV ahora lo llama una. Si no se repetía nada, la ganancia es de legibilidad y no de velocidad, que suele ser motivo suficiente.

¿Qué nombres no puedo usar?

Cualquier cosa que parezca una referencia de celda (A1, XFD3), cualquier cosa ya definida como rango con nombre en el libro, y nombres que empiecen por un dígito. Las palabras descriptivas corrientes son seguras.

¿Qué diferencia hay entre LET y LAMBDA?

LET nombra valores dentro de una sola fórmula y sus nombres desaparecen cuando la fórmula termina. LAMBDA define una función reutilizable que se guarda en el Administrador de nombres y se llama desde cualquier parte del libro, con argumentos propios.

Funciones relacionadas

Guías que la usan

Lecturas más largas donde esta función hace trabajo real en una hoja real.