Este tutorial presenta la nueva función LET de Excel que hace que las fórmulas complicadas parezcan más comprensibles y se calculen más rápido.
Si trabaja con fórmulas largas en Excel, seguramente está familiarizado con la idea de rangos con nombre que facilitan la lectura de fórmulas complejas. Y ahora, Microsoft va un paso más allá y te permite asignar nombres y valores de cálculo directamente en una fórmula. Si su fórmula usa la misma expresión más de una vez, puede dejar que Excel la calcule una vez, almacene el resultado en una fórmula y reutilícela tantas veces como sea necesario. Suena interesante, ¿no?
Función de Excel LET
La función LET de Excel le permite nombrar los resultados de los cálculos y definir variables dentro de una fórmula para que la fórmula se vea más clara y funcione más rápido.
Esencialmente, el concepto es el mismo que nombrar celdas, rangos y fórmulas en el Administrador de nombres. Lo que hace que la función LET sea diferente es que los nombres declarados existen solo en el ámbito de una fórmula dada y en ningún otro lugar.
Sintaxis
LET tiene la siguiente sintaxis y argumentos:
LET (nombre1, valor_nombre1, [name2], [name_value2]…, cálculo)
Dónde:
- Nombre1 (requerido) – el primer nombre a asignar. Debe comenzar con una letra.
- valor_nombre1 (obligatorio) – el valor o cálculo asignado al nombre1.
- Nombre2 / nombre_valor2 (opcional) – segundo nombre y valor.
- Calcuta (obligatorio): un cálculo que utiliza nombres y valores asignados.
La función puede procesar hasta 126 pares de nombre/valor.
Nota. Microsoft usa una notación de sintaxis ligeramente diferente:
LET(name1, name_value1, calculation_or_name2, [name_value2, calculation_or_name3…])
Personalmente, lo encuentro un poco confuso, así que lo puse en una forma más regular. Básicamente, están hablando de lo mismo, pero de diferentes maneras.
Disponibilidad
La función LET solo está disponible en estas versiones de Excel:
- Excel 365 (para Windows y Mac)
- Excel 2021 (para Windows y Mac)
- excel para la web
Fórmula LET básica
Si aún no tiene una comprensión clara de la función, un ejemplo de la fórmula LET en su forma más simple ayudará a enfocar los elementos esenciales.
Considere esta simple expresión: x+y. Aquí tenemos 2 variables, X y y. Vamos a asignarle el valor 2 Xvalor 5 a y y se multiplican entre sí:
=LET(x, 2, y, 5, x*y)
Ingrese esta fórmula en una celda y devolverá 10 como resultado.
En lugar de valores, las variables se pueden asignar a referencias de celda, por ejemplo X a B2 y y en B3:
=LET(x,B2, y, B3, x * y)
Para facilitar la creación de una fórmula, los nombres ya declarados aparecen en la lista desplegable de intellisense, al igual que los nombres definidos en el administrador de nombres.
Mirando la fórmula anterior, es posible que se pregunte, ¿cuál es el punto de complicar demasiado las cosas? ¿Por qué no ponemos simplemente:
=B2*B3
En este caso particular, una multiplicación normal es, por supuesto, más simple. El propósito es aclarar el concepto. Cuando se trata de fórmulas más complejas con cálculos repetidos, la función LET adquiere un nuevo nivel de utilidad, como se demuestra en Otros ejemplos.
Beneficios
Si aún duda de que LET sea una valiosa adición a su caja de herramientas de Excel, considere estos beneficios:
fórmulas simplificadas. Dar nombres descriptivos a las variables intermedias y los cálculos facilita la comprensión de lo que realmente hace la fórmula. Ya no tiene que averiguar la lógica interna de cada expresión o referencia específica en una fórmula.
Cálculos más rápidos. Cuando la misma expresión se repite varias veces en una fórmula, Excel la calcula varias veces. Cuando la expresión se menciona por su nombre, Excel la calcula una sola vez. Como resultado, una hoja de cálculo completa se vuelve a calcular mucho más rápido. Este efecto positivo en el rendimiento es especialmente notable con fórmulas largas y grandes conjuntos de datos.
Facil mantenimiento. El uso de nombres para cálculos repetidos no solo hace que las fórmulas sean más compactas, sino también más fáciles de actualizar. Cuando se necesiten ajustes, realice solo un cambio en lugar de actualizar las mismas expresiones varias veces, ahorrando tiempo y reduciendo el error humano.
Notas de uso
Para acortar la curva de aprendizaje y evitar errores comunes, siga estas sencillas instrucciones:
- Una fórmula LET debe tener un número impar de argumentos: uno o más pares de nombre/valor y un cálculo. El último argumento siempre debe ser un cálculo que devuelva resultado final.
- En sus fórmulas, siga las mismas reglas de nomenclatura que en el administrador de nombres, es decir, comience con una letra, sin espacios, sin puntuación, etc.
- Para evitar confusiones, evite declarar nombres que ya están en uso en el administrador de nombres. Si se asigna el mismo nombre dentro del LET y se define en el administrador de nombres, se ignorará la versión del administrador de nombres.
- Los nombres declarados con LET son válidos solo dentro del alcance de la fórmula respectiva.
Cómo usar la función LET en Excel – fórmulas de ejemplo
Y ahora, es el momento de ver casos de uso más realistas y revelar todo el poder de la nueva característica.
Ejemplo 1. Fórmula LET para reducir cálculos repetidos
Al escribir fórmulas multinivel, a menudo sucede que la misma expresión o cálculo se usa más de una vez. Un ejemplo típico son las declaraciones IF anidadas. En este contexto, veamos cómo LET puede simplificar las cosas.
Supongamos que tiene resultados de exámenes para estudiantes en tres materias diferentes (columnas B, C y D). Desea encontrar una media para cada alumno y registrarla como se muestra en la tabla de la derecha:
La función PROMEDIO puede calcular fácilmente un promedio aritmético para cada fila:
AVERAGE(B2:D2)
Y luego, construya una declaración IF anidada basada en los criterios anteriores.
=IF(AVERAGE(B2:D2)>249, "Excellent", IF(AVERAGE(B2:D2)>=200, "Good", IF(AVERAGE(B2:D2)>150, "Satisfactory", "Poor")))
El problema es que la misma función PROMEDIO se repite tres veces. Bueno, tal vez no sea realmente un problema, sino una complicación innecesaria que obliga a Excel a realizar el mismo cálculo tres veces.
Para optimizar la fórmula, podemos asignar un nombre a la función PROMEDIO (por ejemplo, promedio) y reemplace la función con este nombre «local». De esta manera, un promedio se calcula solo una vez, lo que ayuda a que la fórmula se ejecute más rápido:
=LET(avg, AVERAGE(B2:D2), IF(avg>249, "Excellent", IF(avg>=200, "Good", IF(avg>150, "Satisfactory", "Poor"))))
Ingrese la fórmula en E2, arrástrela hacia abajo a través de E10 y obtendrá este resultado:
Imagine agregar un examen más (columna E) a la tabla de origen. Por supuesto, desea incluir eso en el promedio. Sin LET, tendría que hacer este ajuste en la prueba lógica de cada función IF. Siendo un ser humano, puede pasar por alto algo y no actualizar todas las referencias correctamente. Con LET, solo haces un cambio:
=LET(avg, AVERAGE(B2:E2), IF(avg>249, "Excellent", IF(avg>=200, "Good", IF(avg>150, "Satisfactory", "Poor"))))
Ejemplo 2. LET con varios nombres
Aquí hay otro ejemplo que muestra cómo la función LET puede facilitar la creación de fórmulas complejas.
Suponga que tiene una lista de nombres completos (columna A) de la que desea extraer los segundos nombres. La siguiente fórmula hace el trabajo a la perfección, pero a primera vista su lógica es bastante oscura:
=MID(A2, SEARCH(" ", A2) + 1, SEARCH(" ", A2, SEARCH(" ", A2) +1) - SEARCH(" ", A2) - 1)
Para proporcionar un contexto significativo para usted y otros usuarios, puede definir algunos nombres, como:
- nombre completo – A2
- barra espaciadora – BUSCAR(» «, nombre_completo)
Obviamente, la celda A2 contiene un nombre completo para dividir, y la función BUSCAR devuelve la posición del primer carácter de espacio en el nombre.
Y luego, reemplazamos la referencia de celda y la función BUSCAR con los nombres declarados.
=LET(full_name, A2, space, SEARCH(" ", full_name), MID(full_name, space + 1, SEARCH(" ", full_name, space + 1) - space - 1))
Si está familiarizado con la sintaxis MID, la fórmula se vuelve mucho más fácil de entender:
En la posición del primer espacio, agregue 1 para comenzar a extraer desde el siguiente carácter (espacio + 1). Para obtener la longitud del segundo nombre (es decir, cuántos caracteres extraer del nombre completo), determine la posición del segundo espacio anidando una función de BÚSQUEDA dentro de otra, luego encuentre la diferencia entre las posiciones de los dos espacios y reste 1 del resultado para eliminar un espacio final (BÚSQUEDA(» «, nombre_completo, espacio+1) – espacio -1)).
Para una mejor legibilidad, puede envolver el nombre y el cálculo en líneas separadas como esta:
Ejemplo 3. Función LET con matrices dinámicas
En los ejemplos anteriores, la función LET funcionó en una sola celda y copiamos la fórmula en las celdas a continuación. Sin embargo, LET también puede aceptar arreglos como entrada y producir arreglos como salida. Esto es posible gracias al nuevo motor de cálculo Excel 365 y matrices dinámicas.
De la siguiente tabla, suponga que desea obtener una lista de los exámenes que se realizarán en los próximos norte días, sin incluir hoy. Esto se puede hacer usando la función FILTRO con múltiples criterios:
FILTER(data, (dates>today) * (dates<=today+n), "No results")
Todo lo que tienes que hacer es definir los nombres apropiados:
- DATOS -A2:C19
- fechas -C2:C19
- hoy – HOY()
- norte – F3
Después de eso, coloque el nombre y la fórmula del FILTRO dentro de LET:
=LET(data, A2:C19, dates, C2:C19, today, TODAY(), n, F3, FILTER(data, (dates>today) * (dates<=today+n), "No results"))
El resultado es una serie de registros que coinciden con los criterios especificados:
Así es como puede simplificar y acelerar sus cálculos con la ayuda de la función LET. ¡Gracias por leer y espero verte en nuestro blog la próxima semana!