VLOOKUP reutilizable (VLOOKUP)

Contidos

Temos unha lista de pedidos con números e nomes de mercadorías. Gustaríame, por exemplo, sacar da táboa por número de pedido todos os produtos que se inclúen nela. Máis ou menos así:

 

Función marabillosa BUSCAR V (BUSCAR V) en tal situación só axudará parcialmente, porque só pode extraer datos pola primeira coincidencia atopada, é dicir, só nos dará mazás. Para atopar e extraer todos os elementos da táboa, é mellor usar unha fórmula matricial. Como este:

=Index($B$2:$B$16;MENOS(IF($E$2=A2: A16;LIÑA(B2:B16)-1;»»);LIÑA()-5))

Debe introducirse do seguinte xeito:

  1. seleccione as celas onde se deben mostrar os resultados (no noso exemplo, este é o rango D6:D20)
  2. introduza (copie a fórmula na primeira cela) do intervalo
  3. prensa Ctrl + Desprazarse + Entrar

Resta unitaria en fragmento CADA(B2:B16)-1 faise por mor da cabeceira da táboa. Polo mesmo motivo, para compensar o cambio no rango resultante en relación ao orixinal, réstase o número cinco do fragmento STRING()-5

Para ocultar o #NUM! erro que aparecerá nas celas baleiras do rango resultante D6:D20, pode usar as funcións de verificación de erros IF e EOSH, substituíndo a nosa fórmula por outra un pouco máis complexa:

=SE(EOSH(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)));»»;ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)))

En Excel 2007, apareceu unha función IFERROR máis conveniente: permítelle resolver o problema de forma máis compacta:

=SE ERRO(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5));»»)

PS

Na versión inglesa de Excel, estas funcións terán o seguinte aspecto:

=INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))

=IF(ISERR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))),»»,INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)))

=IFERROR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)),»»)

  • Usando a función BUSCAR V para atopar datos nunha táboa
  • Unha versión mellorada da función VLOOKUP2 que pode buscar en calquera columna e non só no primeiro valor
  • VLOOKUP2 e VLOOKUP3 funcións do complemento PLEX
  • Que son as fórmulas matriciales e para que serven?

 

Deixe unha resposta