Esta función asigna un nombre a los resultados de expresión_valor y devuelve el resultado de expresión_fórmula.
Ejemplos de uso
LET(media, PROMEDIO(B2:D2), SI(media>=4, "Excelente", SI(media>=3, "Buena", "Deficiente"))): clasifica un valor medio.
LET(criterios, "Fede", intervalo, FILTRO(A2:D8, A2:A8=criteria), ARRAYFORMULA(SI(ESK.ESIMO.MENOR(intervalo), "-", intervalo))): filtra los datos y reemplaza las celdas en blanco con un guion.
Sintaxis
LET(nombre1, expresión_valor1, [nombre2; ...], [expresión_valor2, ...], expresión_fórmula)
nombre1: un nombre que se utiliza dentro de las siguientesexpresiones_valoryexpresión_fórmula. Debe ser un identificador (consulta los detalles más abajo) y no distingue entre mayúsculas y minúsculas.valor_expresión1:fórmula cuyo resultado se puede usarse más adelante con el nombre declarado anteriormente. Puede usar nombres declarados en los parámetros anteriores.- Por ejemplo,
PROMEDIO(B2:D2).
- Por ejemplo,
nombre2…: [ OPCIONAL ]nombresrepetibles y adicionales que se van a asignar.expresión_valor2…: [ OPCIONAL ]expresiones_valorrepetibles y adicionales que se van a evaluar.expresión_fórmula: la fórmula que se va a calcular. Utilizanombresdeclarados en la funciónLET.
Nota: Puedes usar expresión_fórmula como nombres definidos en el ámbito de la función LET. Las expresiones_valor solo se evalúan una vez en la función LET, aunque el siguiente expresión_valor o la expresión_fórmula las utilicen varias veces.
Ejemplos
Categorizar el valor medio de las valoraciones de productos con LET
Datos de ejemplo:
|
A |
B |
C |
D |
|
|---|---|---|---|---|
|
1 |
Producto |
Valoraciones de enero |
Valoraciones de febrero |
Valoraciones de marzo |
|
2 |
Camiseta roja |
3,5 |
4 |
3 |
|
3 |
Vaqueros negros |
4,5 |
5 |
3,5 |
|
4 |
Gorra |
3 |
2,5 |
2 |
Con LET: introduce esta fórmula en E2 y arrastra el cuadro azul alrededor de la celda hacia abajo para rellenar E3 y E4.
=LET(media, PROMEDIO(B2:D2), SI(media>=4, "Excelente", SI(media>=3, "Buena", "Deficiente"))
Sin LET: introduce esta fórmula en E2 y arrastra el cuadro azul alrededor de la celda hacia abajo para rellenar E3 y E4.
=SI(PROMEDIO(B2:D2)>=4, "Excelente", SI(PROMEDIO(B2:D2)>=3, "Buena", "Deficiente"))
Resultado:
|
A |
B |
C |
D |
E |
|
|---|---|---|---|---|---|
|
1 |
Producto |
Valoraciones de enero |
Valoraciones de febrero |
Valoraciones de marzo |
Valoración media de la categoría |
|
2 |
Camiseta roja |
3,5 |
4 |
3 |
Buena |
|
3 |
Vaqueros negros |
4,5 |
5 |
3,5 |
Excelente |
|
4 |
Gorra |
3 |
2,5 |
2 |
Deficiente |
Filtrar datos y reemplazar una celda en blanco por un guion usando LET
Devuelve todos los datos de "Fede" y sustituye las celdas en blanco por un guion.
Datos de ejemplo:
|
A |
B |
C |
D |
|
|---|---|---|---|---|
|
1 |
Representante |
Zona |
Producto |
Beneficio |
|
2 |
Ana |
Este |
Manzana |
1,33 $ |
|
3 |
Fede |
Sur |
Plátano |
0,09 $ |
|
4 |
Ana |
Oeste |
Mango |
1,85 $ |
|
5 |
Fede |
Norte |
0,82 $ |
|
|
6 |
Fede |
Oeste |
Plátano |
1,25 $ |
|
7 |
Ana |
Este |
Manzana |
0,72 $ |
|
8 |
Fede |
Norte |
Mango |
0,54 $ |
Con LET: escribe esta fórmula en E2:
LET(criterios, "Fede", intervalo, FILTRO(A2:D8, A2:A8=criteria), ARRAYFORMULA(SI(ESK.ESIMO.MENOR(intervalo), "-", intervalo)))
Sin LET: escribe esta fórmula en E2:
=ARRAYFORMULA(SI(ESBLANCO(FILTRO(A2:D8; A2:A8="Fede")), "-", FILTROS(A2:D8; A2:A8="Fede"))
Resultado:
|
E |
F |
G |
H |
|
|---|---|---|---|---|
|
1 |
Representante |
Zona |
Producto |
Beneficio |
|
2 |
Fede |
Sur |
Plátano |
0,09 |
|
3 |
Fede |
Norte |
- |
0,82 |
|
4 |
Fede |
Oeste |
Plátano |
1,25 |
|
5 |
Fede |
Norte |
Mango |
0,54 |
Errores frecuentes
El argumento de nombre no es un identificadorEjemplo: =LET(B2, PROMEDIO(B2:D2), SI(B2>=4, "Excelente", IF(B2>=3, "Buena", "Deficiente")))
Si el argumento no es un identificador, se produce este error:
Requisitos de los identificadores:
- No pueden ser intervalos, como "A1" o "A2".
- No pueden incluir espacios ni caracteres especiales.
- No pueden empezar por números, como "9hola".
En una expresión_valor de la función LET, esta sintaxis permite utilizar los argumentos con nombre que ya se han declarado anteriormente. Por ejemplo, "a la izquierda en la función".
Ejemplo:
|
LET(x, 1, y, LET(z, 2, x+z), x+y) |
CORRECTA: se ha declarado x antes de usarla en la función LET interior. |
|---|---|
|
LET(y, LET(z, 2, x+y), x, 1, x+y) |
INCORRECTA: usa x antes de la declaración. |
Si utilizas un argumento antes de declararlo, se produce este error: