Táboa de contidos
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
- 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.
- Lookup_vector e result_vector deben ser intervalo dunha fila ou intervalo dunha columna do mesmo tamaño.
- A función BUSCAR en Excel é insensible entre maiúsculas e minúsculas , non diferencia texto en maiúsculas e minúsculas.
- 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.
- 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
- 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).
- Se matriz ten máis columnas que filas , BUSCAR Excel busca na primeira fila (busca vertical). ).
- 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 .
- 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