Función LOOKUP de Excel con ejemplos de fórmulas

  • Compartir Este
Michael Brown

El tutorial explica las formas de vector y matriz de la función LOOKUP de Excel y demuestra los usos típicos y no triviales de LOOKUP en Excel con ejemplos de fórmulas.

Una de las preguntas más frecuentes que todo usuario de Excel se hace de vez en cuando es la siguiente: " ¿Cómo busco un valor en una hoja y extraigo un valor coincidente en otra hoja? "Por supuesto, puede haber muchas variaciones del escenario básico: puede estar buscando la coincidencia más cercana en lugar de la coincidencia exacta, puede querer buscar verticalmente en una columna u horizontalmente en una fila, evaluar uno o múltiples criterios, etc. Sin embargo, la esencia es la misma: necesita saber cómo buscar en Excel.

Microsoft Excel proporciona un puñado de formas diferentes de realizar búsquedas. Para empezar, vamos a aprender una función que está diseñada para manejar los casos más simples de búsquedas verticales y horizontales. Como puedes adivinar fácilmente, estoy hablando de la función LOOKUP.

    Función LOOKUP de Excel - sintaxis y usos

    En el nivel más básico, la función BUSCAR en Excel busca un valor en una columna o fila y devuelve un valor coincidente de la misma posición en otra columna o fila.

    Hay dos formas de LOOKUP en Excel: Vector y Matriz A continuación se explica cada formulario por separado.

    Función LOOKUP de Excel - forma vectorial

    En este contexto, un vector se refiere a un rango de una columna o una fila. En consecuencia, se utiliza la forma vectorial de LOOKUP para buscar un valor especificado en una fila o una columna de datos y extraer un valor de la misma posición en otra fila o columna.

    La sintaxis del vector Lookup es la siguiente:

    LOOKUP(valor_buscado, vector_buscado, [vector_resultado])

    Dónde:

    • Valor_buscado (obligatorio) - un valor para buscar. Puede ser un número, texto, valor lógico de TRUE o FALSE, o una referencia a una celda que contenga el valor de búsqueda.
    • Vector_de_busqueda (obligatorio) - rango de una fila o una columna en el que buscar. Debe estar ordenado en orden ascendente .
    • Vector_resultado (opcional) - rango de una fila o una columna del que desea devolver el resultado - un valor en la misma posición que el valor de búsqueda. Vector_resultado debe ser el mismo tamaño como buscar_rango Si se omite, se devuelve el resultado de vector_de_busqueda .

    Los siguientes ejemplos muestran dos sencillas fórmulas de consulta en acción.

    Fórmula de búsqueda vertical: búsqueda en un rango de una columna

    Supongamos que tiene una lista de vendedores en la columna D (D2:D5) y los productos que han vendido en la columna E (E2:E5). Está creando un panel de control en el que los usuarios introducirán el nombre del vendedor en B2 y necesita una fórmula que extraiga el producto correspondiente en B3. La tarea se puede realizar fácilmente con esta fórmula:

    =LOOKUP(B2,D2:D5,E2:E5)

    Para entender mejor los argumentos, eche un vistazo a esta captura de pantalla:

    Fórmula de búsqueda horizontal - búsqueda en un rango de una fila

    Si sus datos de origen tienen una disposición horizontal, es decir, las entradas se encuentran en filas en lugar de columnas, proporcione un rango de una fila en el campo vector_de_busqueda y vector_resultado argumentos, así:

    =LOOKUP(B2,E1:H1,E2:H2)

    En la segunda parte de este tutorial, encontrará algunos ejemplos más de Excel Lookup que resuelven tareas más complejas. Mientras tanto, recuerde los siguientes hechos sencillos que le ayudarán a evitar posibles trampas y a prevenir errores comunes.

    5 cosas que debe saber sobre la forma vectorial de Excel LOOKUP

    1. Valores en vector_de_busqueda deben ordenarse en orden ascendente es decir, de menor a mayor o de la A a la Z, de lo contrario la fórmula de búsqueda de Excel puede devolver un error o un resultado incorrecto. Si necesita realizar una búsqueda en datos sin clasificar a continuación, utilice INDEX MATCH u OFFSET MATCH.
    2. Vector_de_busqueda y vector_resultado debe ser un una fila o una columna gama del mismo tamaño.
    3. La función LOOKUP en Excel es distingue entre mayúsculas y minúsculas no distingue entre mayúsculas y minúsculas.
    4. Excel LOOKUP funciona basándose en coincidencia aproximada Más concretamente, una fórmula Lookup busca primero la coincidencia exacta. Si no puede encontrar el valor de búsqueda exacto, busca el valor siguiente valor más pequeño es decir, el mayor valor de vector_de_busqueda que sea inferior o igual a buscar_valor .

      Por ejemplo, si su valor de búsqueda es "5", la fórmula lo buscará primero. Si no encuentra "5", buscará "4". Si no encuentra "4", buscará "3", y así sucesivamente.

    5. Si buscar_valor es más pequeño que el valor más pequeño en vector_de_busqueda Excel LOOKUP devuelve el error #N/A.

    Función LOOKUP de Excel - forma de matriz

    La forma de matriz de la función LOOKUP busca el valor especificado en la primera columna o fila de la matriz y recupera un valor de la misma posición en la última columna o fila de la matriz.

    El array Lookup tiene 2 argumentos, ambos obligatorios:

    LOOKUP(valor_buscado, matriz)

    Dónde:

    • Valor_buscado - un valor a buscar en un array.
    • Matriz - un rango de celdas en las que desea buscar el valor de búsqueda. Los valores de la primera columna o fila del rango (dependiendo de si realiza la búsqueda en V o en H) deben estar ordenados de forma ascendente. Los caracteres en mayúsculas y minúsculas se consideran equivalentes.

    Por ejemplo, con los nombres de los vendedores situados en la primera columna de la matriz (columna A) y las fechas de los pedidos en la última columna de la matriz (columna C), puede utilizar la siguiente fórmula para buscar el nombre y obtener la fecha coincidente:

    =LOOKUP(B2,D2:F5)

    Nota: la forma de matriz de la función LOOKUP de Excel no debe confundirse con las fórmulas de matriz de Excel. Aunque opera con matrices, LOOKUP sigue siendo una fórmula normal, que se completa de la forma habitual pulsando la tecla Intro.

    4 cosas que debe saber sobre la forma de array de Excel LOOKUP

    1. Si matriz tiene más filas que columnas o el mismo número de columnas y filas, una fórmula Lookup busca en la primera columna (búsqueda horizontal).
    2. Si matriz tiene más columnas que filas Excel LOOKUP busca en la primera fila (búsqueda vertical).
    3. Si una fórmula no puede encontrar el valor de búsqueda, utiliza la función valor más alto en la matriz que sea menor o igual que buscar_valor .
    4. Si el el valor de búsqueda es menor que el valor más pequeño de la primera columna o fila de la matriz (dependiendo de las dimensiones de la matriz), una fórmula Lookup devuelve el error #N/A.

    Nota importante La funcionalidad de la forma de matriz LOOKUP de Excel es limitada y no recomendamos utilizarla. En su lugar, puede utilizar la función VLOOKUP o HLOOKUP, que son las versiones mejoradas para realizar búsquedas verticales y horizontales, respectivamente.

    Cómo utilizar la función LOOKUP en Excel - ejemplos de fórmulas

    Aunque existen funciones más potentes para buscar y emparejar en Excel (que es el tema de nuestro próximo tutorial), LOOKUP resulta útil en muchas situaciones, y los siguientes ejemplos demuestran un par de usos no triviales. Tenga en cuenta que todas las fórmulas siguientes utilizan la forma vectorial de Excel LOOKUP.

    Buscar un valor en la última celda no vacía de una columna

    Si tiene una columna de datos rellenada dinámicamente, es posible que desee elegir la entrada añadida más recientemente, es decir, obtener la última celda no vacía de una columna. Para ello, utilice esta fórmula genérica:

    LOOKUP(2, 1/( columna ""), columna )

    En la fórmula anterior, todos los argumentos excepto la referencia de columna son constantes. Por lo tanto, para recuperar el último valor de una columna específica, sólo tiene que proporcionar la referencia de columna correspondiente. Por ejemplo, para extraer el valor de la última celda no en blanco de la columna A, utilice esta fórmula:

    =LOOKUP(2, 1/(A:A""), A:A)

    Para obtener el último valor de otras columnas, modifique las referencias de columna como se muestra en la siguiente captura de pantalla - la primera referencia es la columna que se comprobará si hay celdas en blanco/no en blanco, y la segunda referencia es la columna de la que se devolverá el valor:

    Cómo funciona esta fórmula

    En el buscar_valor se suministra 2 o cualquier otro número mayor que 1 (dentro de un momento se entenderá por qué).

    En el vector_de_busqueda argumento, pones esta expresión: 1/(A:A"")

    • En primer lugar, se realiza la operación lógica A:A"" que compara cada celda de la columna A con una cadena vacía y devuelve TRUE para las celdas vacías y FALSE para las celdas no vacías. En el ejemplo anterior, la fórmula de F2 devuelve esta matriz: {TRUE;TRUE;TRUE;TRUE;FALSE...}
    • A continuación, se divide el número 1 por cada elemento de la matriz anterior. Con TRUE igual a 1 y FALSE igual a 0, se obtiene una nueva matriz formada por 1's y errores #DIV/0! (el resultado de dividir por 0), y esta matriz se utiliza como vector_de_busqueda En este ejemplo, es {1;1;1;1;#DIV/0!...}

    Ahora bien, ¿cómo es que la fórmula devuelve el último valor no vacío de una columna, dado que buscar_valor no coincide con ningún elemento de vector_de_busqueda La clave para entender la lógica es que Excel LOOKUP busca con coincidencia aproximada, es decir, cuando no se encuentra el valor de búsqueda exacto, busca el siguiente valor más grande en vector_de_busqueda menor que buscar_valor En nuestro caso, buscar_valor es 2 y el mayor valor en vector_de_busqueda es 1, por lo que LOOKUP coincide con el último 1 de la matriz, que es la última celda no vacía.

    En el vector_resultado se hace referencia a la columna de la que se desea obtener un valor, y la fórmula de consulta obtendrá el valor en la misma posición que el valor de consulta.

    Consejo. Si desea obtener el número de la fila reteniendo el último valor, luego usa la función ROW para recuperarlo. Por ejemplo: =LOOKUP(2,1/(A:A""),ROW(A:A))

    Buscar un valor en la última celda no en blanco de una fila

    Si sus datos de origen están dispuestos en filas en lugar de columnas, puede obtener el valor de la última celda no vacía utilizando esta fórmula:

    LOOKUP(2, 1/( fila ""), fila )

    De hecho, esta fórmula no es más que una ligera modificación de la fórmula anterior, con la única diferencia de que se utiliza la referencia de fila en lugar de la referencia de columna.

    Por ejemplo, para obtener el valor de la última celda no vacía de la fila 1, utilice esta fórmula:

    =LOOKUP(2, 1/(1:1""), 1:1)

    La siguiente captura de pantalla muestra el resultado:

    Obtener un valor asociado a la última entrada de una fila

    Con un poco de creatividad, la fórmula anterior se puede personalizar fácilmente para resolver otras tareas similares. Por ejemplo, se puede utilizar para obtener un valor asociado con la última instancia de un valor específico en una fila. Esto puede sonar un poco oscuro, pero el siguiente ejemplo hará que las cosas sean más fáciles de entender.

    Supongamos que tenemos una tabla resumen en la que la columna A contiene los nombres de los vendedores y las columnas siguientes contienen datos de algún tipo para cada mes. En este ejemplo, una celda contiene "sí" si un vendedor determinado ha cerrado al menos una operación en un mes determinado. Nuestro objetivo es obtener un mes asociado a la última entrada "sí" de una fila.

    La tarea puede resolverse utilizando la siguiente fórmula LOOKUP:

    =LOOKUP(2, 1/(B2:H2="sí"), $B$1:$H$1)

    La lógica de la fórmula es básicamente la misma que la descrita en el primer ejemplo. La diferencia es que se utiliza el operador "igual a" ("=") en lugar de "no igual a" ("") y se opera sobre filas en lugar de columnas.

    La siguiente captura de pantalla muestra un resultado:

    Búsqueda como alternativa a los IF anidados

    En todas las fórmulas Lookup que hemos analizado hasta ahora, el campo vector_de_busqueda y vector_resultado Sin embargo, la sintaxis de la función LOOKUP de Excel permite suministrar los vectores en forma de constante de matriz vertical, lo que permite replicar la funcionalidad de IF anidado con una fórmula más compacta y fácil de leer.

    Supongamos que tiene una lista de abreviaturas en la columna A y desea sustituirlas por nombres completos, donde "C" significa "Completado", "D" es "Desarrollo" y "T" es "Pruebas". La tarea se puede realizar con la siguiente función IF anidada:

    =IF(A2="c", "Completado", IF(A2="d", "Desarrollo", IF(A2="t", "Pruebas", ""))

    O utilizando esta fórmula de búsqueda:

    =LOOKUP(A2, {"c"; "d"; "t"}, {"Completado"; "Desarrollo"; "Pruebas"})

    Como se muestra en la siguiente captura de pantalla, ambas fórmulas arrojan resultados idénticos:

    Nota: Para que una fórmula de búsqueda de Excel funcione correctamente, los valores de matriz_de_busqueda deben ordenarse de la A a la Z o de menor a mayor.

    Si está extrayendo valores de una tabla de consulta, puede incrustar una función Vlookup en el campo buscar_valor para obtener una coincidencia.

    Suponiendo que el valor de búsqueda está en la celda E2, la tabla de búsqueda es A2:C7, y la columna de interés ("Estado") es la 3ª columna de la tabla de búsqueda, la siguiente fórmula hace el trabajo:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c"; "d"; "t"}, {"Completado"; "Desarrollo"; "Probando"})

    Como se muestra en la siguiente captura de pantalla, la fórmula recupera el estado del proyecto de la tabla de consulta y sustituye una abreviatura por la palabra correspondiente:

    Sugerencia: si utiliza Excel 2016 como parte de una suscripción a Office 365, puede utilizar la función SWITCH para fines similares.

    Espero que estos ejemplos hayan arrojado algo de luz sobre cómo funciona la función LOOKUP. Para comprender mejor las fórmulas, te invito a descargar estos ejemplos de búsqueda en Excel. En el próximo tutorial, hablaremos de otras formas de realizar búsquedas en Excel y explicaremos qué fórmula de búsqueda es mejor utilizar en cada situación. Te agradezco la lectura y ¡espero verte en nuestro blog la semana que viene!

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.