La función LOOKUP en AppSheet es una herramienta esencial para recuperar valores específicos de una tabla o conjunto de datos, facilitando la creación de aplicaciones más dinámicas y eficientes.
¿Qué es la función o expresión LOOKUP en AppSheet?
La función LOOKUP permite buscar un valor en una columna específica de una tabla y devolver el valor correspondiente de otra columna en la misma fila. Es especialmente útil cuando se necesita obtener información relacionada sin establecer una relación directa entre tablas.
Sintaxis de la función LOOKUP
La sintaxis básica de LOOKUP es la siguiente:
LOOKUP(valor_a_buscar, tabla, columna_a_buscar, columna_a_devolver)
valor_a_buscar: El valor que se desea encontrar en la columna especificada.tabla: El nombre de la tabla donde se realizará la búsqueda.columna_a_buscar: La columna en la que se buscará elvalor_a_buscar.columna_a_devolver: La columna cuyo valor se devolverá una vez que se encuentre la coincidencia.
Ejemplo 1: Recuperar información de un cliente.
Supongamos que tenemos una tabla llamada “Clientes” con las siguientes columnas: ID_Cliente, Nombre, Email. Si deseamos obtener el correo electrónico de un cliente específico, podemos utilizar la función LOOKUP de la siguiente manera:
LOOKUP("Juan Pérez", "Clientes", "Nombre", "Email")
Esta expresión buscará el nombre “Juan Pérez” en la columna Nombre de la tabla “Clientes” y devolverá el valor correspondiente de la columna Email.
Ejemplo 2: Uso de LOOKUP para buscar el valor de una columna específica
A veces, en lugar de buscar un valor directamente (como en el primer ejemplo), puedes querer usar la función LOOKUP para recuperar un valor de una columna relacionada que se encuentra en una fila específica de otra tabla.
Escenario
Supongamos que tienes una tabla llamada Productos que tiene las siguientes columnas:
ID_Producto(clave primaria)Nombre_Producto(nombre del producto)Precio(precio del producto)
Y otra tabla llamada Pedidos que contiene las siguientes columnas:
ID_Pedido(clave primaria)ID_Producto(referencia al producto)Cantidad(cantidad de producto en el pedido)
En este caso, deseas calcular el precio total de un pedido, que es el precio de cada producto multiplicado por la cantidad pedida. Usarás LOOKUP para buscar el precio del producto en la tabla Productos.
Implementación
En la tabla Pedidos, podrías usar la siguiente fórmula para calcular el precio total de cada pedido:
[Cantidad] * LOOKUP([ID_Producto], "Productos", "ID_Producto", "Precio")
Explicación:
[Cantidad]: Es la cantidad de producto que se ha pedido.LOOKUP([ID_Producto], "Productos", "ID_Producto", "Precio"): Busca el precio del producto en la tablaProductos, donde elID_Productode la tablaPedidoscoincide con elID_Productoen la tablaProductos.- El resultado de esta fórmula te da el precio total de un producto en un pedido, multiplicando la cantidad por el precio recuperado de la tabla
Productos.
Ejemplo 3: con la variable [_THIS] en el login con UserSettings
Escenario
Supongamos que tienes una tabla llamada Usuarios con las siguientes columnas:
IdUsuario(ID único de cada usuario)Nombre_Usuario(nombre de usuario)Contraseña(contraseña del usuario)
En la tabla UserSettings, almacenamos los valores introducidos por el usuario en dos campos:
Usuario(nombre del usuario)Contraseña_Ingresada(contraseña ingresada por el usuario)
Lo que vamos a hacer es usar la función LOOKUP para obtener la contraseña correspondiente del usuario que ha iniciado sesión, compararla con la contraseña ingresada y verificar si el login es exitoso. Esta fórmula la ponemos en el apartado VALID_IF del campo “Contraseña_Ingresada” de usersettings.
Implementación
Si quieres usar la fórmula con [_THIS], lo que hacemos es obtener el valor de Usuario desde UserSettings, y luego buscar la contraseña en la tabla Usuarios usando la función LOOKUP.
Aquí está la fórmula:
[_THIS] = LOOKUP(UserSettings("Usuario"), "Usuarios", "Nombre_Usuario", "Contraseña")
Explicación:
[_THIS]: Hace referencia al valor del campo en el que esta fórmula está siendo aplicada. En este contexto, sería el campo donde estamos validando la contraseña (por ejemplo,Contraseña_Ingresada).UserSettings("Usuario“): Es la referencia al valor del campoUsuarioenUserSettings, que contiene el nombre del usuario que está intentando iniciar sesión.LOOKUP(UserSettings[Usuario], "Usuarios", "Nombre_Usuario", "Contraseña"): La funciónLOOKUPbusca el valor deUsuarioen la columnaNombre_Usuariode la tablaUsuariosy devuelve el valor correspondiente de la columnaContraseña.UserSettings[Usuario]es el valor que estamos buscando."Usuarios"es la tabla donde realizamos la búsqueda."Nombre_Usuario"es la columna en la que buscamos el nombre del usuario."Contraseña"es la columna de donde se obtiene la contraseña.
Flujo del proceso:
- El usuario ingresa su
UsuarioyContraseña_Ingresadaen el formulario de login. - La fórmula compara el valor de la contraseña ingresada (en
[_THIS]) con la contraseña almacenada en la tablaUsuarios, usandoLOOKUP. - Si la contraseña ingresada es la misma que la almacenada para ese usuario, el resultado de la fórmula será
TRUE(login exitoso). Si no, el resultado seráFALSE(login fallido).
Consideraciones importantes
- La función
LOOKUPdevuelve solo el primer valor que coincide con elvalor_a_buscar. Si existen múltiples coincidencias, se seleccionará la primera encontrada. - Es fundamental que el
valor_a_buscarexista en la columnacolumna_a_buscar; de lo contrario, la función devolverá un valor en blanco. - La función es sensible a mayúsculas y minúsculas, por lo que “Juan Pérez” y “juan pérez” se consideran diferentes.
Aplicaciones comunes de LOOKUP
- Recuperar información relacionada: Obtener datos asociados a un registro específico, como el correo electrónico de un cliente o el nombre de un producto.
- Validación de datos: Verificar la existencia de un valor en una tabla antes de realizar una acción, como comprobar si un código de producto existe en el inventario.
- Cálculos dinámicos: Utilizar valores de otras tablas para realizar cálculos o establecer condiciones en la aplicación.



