Función BUSCA de Excel con exemplos de fórmulas

  • Comparte Isto
Michael Brown

O titorial explica as formas vectoriales e matriciales da función BUSCAR de Excel e demostra os usos típicos e non triviais de BUSCAR en Excel con exemplos de fórmulas.

Unha das preguntas máis frecuentes. que cada usuario de Excel pregunta de cando en vez é o seguinte: " Como busco un valor nunha folla e levo un valor correspondente a outra folla? ". Por suposto, pode haber moitas variacións do escenario básico: pode estar buscando a coincidencia máis próxima en lugar da coincidencia exacta, pode querer buscar verticalmente nunha columna ou horizontalmente nunha fila, avaliar un ou varios criterios, etc. , a esencia é a mesma: debes saber como buscar en Excel.

Microsoft Excel ofrece un puñado de formas diferentes de facer a busca. Para comezar, imos aprender unha función que está deseñada para xestionar os casos máis sinxelos de busca vertical e horizontal. Como podes adiviñar facilmente, estou a falar da función BUSCAR.

    Función BUSCAR de Excel - sintaxe e usos

    No nivel máis básico, a función BUSCAR en Excel busca un valor nunha columna ou fila e devolve un valor coincidente desde a mesma posición noutra columna ou fila.

    Hai dúas formas de BUSCAR en Excel: Vector e Matriz . Cada formulario explícase individualmente a continuación.

    Función BUSQUEDA de Excel - forma vectorial

    Neste contexto, un vector refírese a un intervalo dunha columna ou dunha fila.a fórmula fai o traballo:

    =LOOKUP(VLOOKUP(E2, $A$2:$C$7, 3, FALSE), {"c";"d";"t"}, {"Completed";"Development";"Testing"})

    Como se demostra na seguinte captura de pantalla, a fórmula recupera o estado do proxecto da táboa de busca e substitúe unha abreviatura pola palabra correspondente:

    Consello. Se estás a usar Excel 2016 como parte dunha subscrición a Office 365, podes usar a función SWITCH para fins similares.

    Espero que estes exemplos arroxan algo de luz sobre como funciona a función BUSCAR. Para comprender mellor as fórmulas, podes descargar estes exemplos de busca de Excel. No seguinte tutorial, discutiremos algunhas outras formas de facer a busca en Excel e explicaremos que fórmula de busca é mellor usar en que situación. Grazas por ler e espero verte no noso blog a vindeira semana!

    En consecuencia, usa a forma vectorial de BUSCAR para buscar un valor especificado nunha fila ou nunha columna de datos e extraer un valor da mesma posición noutra fila ou columna.

    A sintaxe do vector Busca é do seguinte xeito:

    LOOKUP(lookup_value, lookup_vector, [result_vector])

    Onde:

    • Lookup_value (obrigatorio) - un valor para buscar. Pode ser un número, texto, valor lóxico de VERDADEIRO ou FALSO ou unha referencia a unha cela que contén o valor de busca.
    • Vector_de_busca (obrigatorio): unha fila ou unha columna rango a buscar. Debe ordenarse en orden ascendente .
    • Vector_resultado (opcional) - intervalo dunha fila ou dunha columna desde o que quere devolver o resultado - un valor na mesma posición que o valor de busca. Result_vector debe ter o mesmo tamaño que lookup_range . Se se omite, o resultado devólvese desde vector_de_busca .

    Os seguintes exemplos mostran dúas fórmulas de busca sinxelas en acción.

    Fórmula de busca vertical: busca nun só. intervalo de columnas

    Digamos que tes unha lista de vendedores na columna D (D2:D5) e os produtos que venderon na columna E (E2:E5). Estás a crear un panel de control onde os teus usuarios introducirán o nome do vendedor en B2 e necesitas unha fórmula que permita extraer un produto correspondente en B3. A tarefa pódese realizar facilmente con esta fórmula:

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

    Para comprender mellor oargumentos, bótalle un ollo a esta captura de pantalla:

    Fórmula de busca horizontal: busca nun rango dunha fila

    Se os datos de orixe teñen un deseño horizontal, é dicir, as entradas residen en filas en lugar de columnas, entón fornecen un intervalo dunha fila nos argumentos vector_busca e vector_resultado , como este:

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

    Na segunda parte deste titorial, atoparás algúns exemplos de busca de Excel máis que resolven tarefas máis complexas. Mentres tanto, recorda os seguintes feitos sinxelos que che axudarán a evitar posibles trampas e evitar erros comúns.

    5 cousas que debes saber sobre a forma vectorial de BUSCAR Excel

    1. Valores en vector_de_busca debe ordenarse en orde ascendente , é dicir, de menor a maior ou de A a Z; se non, a fórmula de busca de Excel pode devolver un erro ou un resultado incorrecto. Se precisa buscar datos sen clasificar , use INDEX MATCH ou OFFSET MATCH.
    2. Lookup_vector e result_vector deben ser intervalo dunha fila ou intervalo dunha columna do mesmo tamaño.
    3. A función BUSCAR en Excel é insensible entre maiúsculas e minúsculas , non diferencia texto en maiúsculas e minúsculas.
    4. A BUSCA de Excel funciona en función da coincidencia aproximada . Máis precisamente, unha fórmula de busca busca primeiro a coincidencia exacta. Se non pode atopar o valor de busca exactamente, busca o o máis pequeno seguintevalue , é dicir, o maior valor en lookup_vector que é menor ou igual a lookup_value .

      Por exemplo, se o seu valor de busca é "5", a fórmula buscarao primeiro. Se non se atopa "5", buscará "4". Se non se atopa "4", buscará "3", e así por diante.

    5. Se lookup_value é menor que o valor máis pequeno de vector_busca , Excel LOOKUP devolve o erro #N/A.

    Función Excel LOOKUP - forma matriz

    A forma matricial da función LOOKUP busca o valor especificado en a primeira columna ou fila da matriz e recupera un valor da mesma posición na última columna ou fila da matriz.

    A busca da matriz ten 2 argumentos, os dous son necesarios:

    LOOKUP( lookup_value, array)

    Onde:

    • Lookup_value - un valor para buscar nunha matriz.
    • Matriz - a intervalo de celas onde quere buscar o valor de busca. Os valores da primeira columna ou fila da matriz (segundo se fagas a busca en V ou a busca en H) deben ordenarse en orde ascendente. Os caracteres en maiúsculas e minúsculas considéranse equivalentes.

    Por exemplo, cos nomes do vendedor situados na primeira columna da matriz (columna A) e as datas de pedido na última columna da matriz (columna C) , podes usar a seguinte fórmula para buscar o nome e tirar a data correspondente:

    =LOOKUP(B2,D2:F5)

    Nota. A forma matricial doA función BUSCA de Excel non debe confundirse coas fórmulas de matriz de Excel. Aínda que funciona en matrices, BUSCAR aínda é unha fórmula normal, que se completa do xeito habitual premendo a tecla Intro.

    4 cousas que debes saber sobre a forma de matriz de Excel LOOKUP

    1. Se matriz ten máis filas que columnas ou o mesmo número de columnas e filas , unha fórmula de busca busca na primeira columna (busca horizontal).
    2. Se matriz ten máis columnas que filas , BUSCAR Excel busca na primeira fila (busca vertical). ).
    3. Se unha fórmula non pode atopar o valor de busca, usa o valor máis grande da matriz que é menor ou igual a valor_busca .
    4. Se o valor de busca é menor que o valor máis pequeno da primeira columna ou fila da matriz (dependendo das dimensións da matriz), unha fórmula de busca devolve o erro #N/A.

    Nota importante! A funcionalidade do formulario de matriz de BUSCA de Excel é limitada e non recomendamos usalo. Pola contra, pode usar a función BUSCAR V ou BUSCAR HL, que son as versións melloradas para facer a busca vertical e horizontal, respectivamente.

    Como usar a función BUSCAR en Excel - exemplos de fórmulas

    Aínda que existen funcións máis potentes para buscar e combinar en Excel (que é o tema do noso próximo titorial), LOOKUP é útil en moitas situacións e os seguintes exemplosdemostrar un par de usos non triviais. Teña en conta que todas as fórmulas seguintes usan a forma vectorial de BUSCA de Excel.

    Busca un valor na última cela non en branco dunha columna

    Se tes unha columna de poboado dinámicamente datos, pode querer escoller a entrada engadida máis recentemente, é dicir, obter a última cela non baleira dunha columna. Para iso, use esta fórmula xenérica:

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

    Na fórmula anterior, todos os argumentos excepto o a referencia da columna son constantes. Entón, para recuperar o último valor nunha columna específica, só precisa proporcionar a referencia da columna correspondente. Por exemplo, para extraer o valor da última cela non en branco da columna A, use esta fórmula:

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

    Para obter o último valor doutras columnas, modifique as referencias da columna como se mostra na captura de pantalla a continuación: a primeira referencia é a columna que se debe comprobar para as celas en branco ou non en branco, e a segunda referencia é a columna para devolver o valor:

    Como esta fórmula funciona

    No argumento lookup_value , proporcionas 2 ou calquera outro número maior que 1 (nun momento entenderás por que).

    No lookup_vector , pon esta expresión: 1/(A:A"")

    • Primeiro, realiza a operación lóxica A:A"" que compara cada cela da columna A cunha cadea baleira e devolve TRUE para as celas baleiras e FALSE para as non baleiras. Noexemplo anterior, a fórmula en F2 devolve esta matriz: {VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;FALSO...
    • Entón, divídese o número 1 por cada elemento da matriz anterior. Con TRUE equivalente a 1 e FALSE equivalente a 0, obtén unha nova matriz formada por 1 e #DIV/0. erros (o resultado da división por 0), e esta matriz úsase como vector_de_busca . Neste exemplo, é {1;1;1;1;#DIV/0!...}

    Agora, como ocorre que a fórmula devolve o último valor non baleiro nunha columna , dado que lookup_value non coincide con ningún elemento de lookup_vector ? A clave para comprender a lóxica é que BUSCA de Excel busca con coincidencia aproximada, é dicir, cando non se atopa o valor de busca exacto, coincide co seguinte valor máis grande en vector_busca que é menor que valor_busca . No noso caso, lookup_value é 2 e o maior valor en lookup_vector é 1, polo que LOOKUP coincide co último 1 da matriz, que é a última cela non baleira.

    No argumento vector_resultado , fai referencia á columna desde a que quere devolver un valor e a súa fórmula de busca obterá o valor na mesma posición que o valor de busca.

    Consello. Se desexa obter o número da fila que mantén o último valor, use a función ROW para recuperalo. Por exemplo: =LOOKUP(2,1/(A:A""),ROW(A:A))

    Busca un valor na última cela non en branco dunha fila

    Se os teus datos de orixe están dispostos en filas en vez deque columnas, pode obter o valor da última cela non baleira usando esta fórmula:

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

    De feito, esta fórmula non é outra cousa que unha lixeira modificación da fórmula anterior, coa única diferenza de que usa a referencia de fila en lugar da referencia de columna.

    Por exemplo, para obter o valor da última cela non baleira na fila 1, use esta fórmula:

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

    A seguinte captura de pantalla mostra o resultado:

    Obter un valor asociada coa última entrada consecutiva

    Con só un pouco de creatividade, a fórmula anterior pódese personalizar facilmente para resolver outras tarefas similares. Por exemplo, pódese usar para obter un valor asociado á última instancia dun valor específico nunha fila. Isto pode parecer un pouco escuro, pero o seguinte exemplo facilitará a comprensión das cousas.

    Supoñendo que tes unha táboa de resumo onde a columna A contén os nomes dos vendedores e as columnas posteriores conteñen algún tipo de datos para cada mes. Neste exemplo, unha cela contén "si" se un determinado vendedor pechou polo menos un acordo nun mes determinado. O noso obxectivo é asociar un mes á última entrada "si" seguida.

    A tarefa pódese resolver utilizando a seguinte fórmula de BUSCA:

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

    A lóxica da fórmula é basicamente a mesma que a descrita no primeiro exemplo. A diferenza é que usa o operador "igual a" ("=") en lugar de "non iguala" ("") e opera en filas en lugar de columnas.

    A seguinte captura de pantalla mostra un resultado:

    Buscar como alternativa aos IF anidados

    En todas as fórmulas de busca que comentamos ata agora, os argumentos vector_busca e vector_resultado representáronse mediante referencias de intervalo. Non obstante, a sintaxe da función BUSCA de Excel permite proporcionando os vectores en forma dunha constante de matriz vertical, o que lle permite replicar a funcionalidade do IF aniñado cunha fórmula máis compacta e fácil de ler.

    Digamos que tes unha lista de abreviaturas en columna A e quere substituílos por nomes completos, onde "C" significa "Completado", "D" é "Desenvolvemento" e "T" é "Probas". A tarefa pódese realizar coa seguinte función IF aniñada:

    =IF(A2="c", "Completed", IF(A2="d", "Development", IF(A2="t", "Testing", "")))

    Ou, usando esta fórmula de busca:

    =LOOKUP(A2, {"c";"d";"t"}, {"Completed";"Development";"Testing"})

    Como se mostra no captura de pantalla a continuación, ambas fórmulas dan resultados idénticos:

    Nota. Para que unha fórmula de busca de Excel funcione correctamente, os valores de lookup_array deben ordenarse de A a Z ou de menor a maior.

    Se estás extraendo valores dunha táboa de busca, podes inserir unha función Vlookup no argumento lookup_value para recuperar unha coincidencia.

    Supoñendo que o valor de busca está na cela E2, a táboa de busca é A2:C7 e a columna de interese ("Estado") é a terceira columna da táboa de busca, a seguinte

    Michael Brown é un entusiasta da tecnoloxía dedicada á súa paixón por simplificar procesos complexos mediante ferramentas de software. Con máis dunha década de experiencia na industria tecnolóxica, perfeccionou as súas habilidades en Microsoft Excel e Outlook, así como en Follas de cálculo e Documentos de Google. O blog de Michael está dedicado a compartir o seu coñecemento e experiencia con outros, proporcionando consellos e titoriais fáciles de seguir para mellorar a produtividade e a eficiencia. Tanto se es un profesional experimentado como un principiante, o blog de Michael ofrece valiosas ideas e consellos prácticos para sacar o máximo proveito destas ferramentas de software esenciais.