Está en la página 1de 5

25/9/2014

BUSCARV en varias hojas de Excel - Excel Total

INICIO

FUNCIONES

ACERCA

BUSCARV en varias
hojas de Excel
Generalmente recomiendo consolidar los datos en una sola hoja de Excel
antes de utilizar la funcin BUSCARV, pero si por alguna razn esto no es
posible y necesitas utilizar la funcin BUSCARV en varias hojas de Excel,
entonces considera alguna de las alternativas que mostrar en este artculo.
Como sabemos, la funcin BUSCARV devuelve el error #N/A cuando no
encuentra el valor que se est buscando, es por eso que la primer solucin
propuesta es la siguiente: Utilizar la funcin BUSCARV en la primera hoja,
si obtenemos un error, entonces buscar en la segunda hoja. Si volvemos a
obtener un error, entonces buscamos en la tercera hoja y as
sucesivamente.

La funcin SI.ERROR
Para saber si la funcin BUSCARV ha devuelto un error podemos utilizar la
funcin SI.ERROR que est disponible desde la versin de Excel 2007. El
primer argumento de la funcin SI.ERROR es el valor que ser evaluado y
su segundo argumento es la accin a tomar en caso de obtener un error. Si
deseamos realizar la bsqueda en dos hojas, entonces nuestra
implementacin seguir la siguiente lgica:

Esta no es la sintaxis de la frmula, solo estoy ilustrando que el primer


argumento de la funcin SI.ERROR ser la bsqueda sobre la primera hoja
y como segundo argumento haremos la bsqueda sobre la segunda hoja. El
segundo argumento solo ser ejecutado en caso de que la primera
bsqueda resulte en error. Si en lugar de realizar la bsqueda sobre dos
hojas necesitamos buscar en tres hojas, entonces necesitamos saber si la
bsqueda sobre la segunda hoja nos devuelve un error y para eso volvemos
a utilizar la funcin SI.ERROR lo cual nos lleva a tener una anidacin de
funciones de la siguiente manera:
http://exceltotal.com/buscarv-en-varias-hojas-de-excel/

1/10

25/9/2014

BUSCARV en varias hojas de Excel - Excel Total

En la siguiente imagen puedes observar tres tablas, cada una en hojas


Sigue a Excel Total

Ahora hagamos un ejemplo para probar que nuestra lgica de solucin


propuesta funciona correctamente
buscar
al
en varias hojas
.

Funcin BUSCARV en varias hojas


diferentes, que contienen una columna con el cdigo de un libro y su ttulo.

Como primer ejemplo haremos una bsqueda sobre las primeras dos
tablas. En una nueva hoja realizar la bsqueda del ttulo de un libro en
base a su cdigo el cual colocar en la celda B1 y para ello utilizar la
siguiente frmula:

=SI.ERROR(BUSCARV(B1,Hoja1!A2:B6,2,FALSO),
BUSCARV(B1,Hoja2!A2:B6,2,FALSO))
Lo ms importante a resaltar de esta frmula es el rango de bsqueda
especificado en ambas funciones BUSCARV. En ambas funciones hago la
referencia precisa hacia la hoja donde deseo que se realice la bsqueda.
Observa el resultado obtenido al aplicar esta frmula a los datos:
http://exceltotal.com/buscarv-en-varias-hojas-de-excel/

2/10

25/9/2014

BUSCARV en varias hojas de Excel - Excel Total

Si por el contrario busco un cdigo de producto que no existe en ninguna de


las primeras dos tablas, entonces obtendr como resultado el error #N/A:

Ahora consideremos en nuestra bsqueda la informacin de la tercera hoja


la cual contiene ms cdigos de producto. Para ampliar nuestra bsqueda a
esa tercera hoja debo utilizar de nueva cuenta la funcin SI.ERROR como
parte del segundo argumento de la primera funcin SI.ERROR de la
siguiente manera:
=SI.ERROR(BUSCARV(B1,Hoja1!A2:B6,2,FALSO),

SI.ERROR(BUSCARV(B1,Hoja2!A2:B6,2,FALSO),
BUSCARV(B1,Hoja3!A2:B6,2,FALSO)))
Con esta modificacin nuestra bsqueda se extiende a la tercera hoja y
podremos saber si el cdigo de producto buscado se encuentra en ella:

Si quisiramos incluir una cuarta hoja en la bsqueda solo debemos


utilizar de nueva cuenta la funcin SI.ERROR para validar los resultados
de la tercera hoja y en caso de obtener un error volver a buscar en la
cuarta hoja.
http://exceltotal.com/buscarv-en-varias-hojas-de-excel/

3/10

25/9/2014

BUSCARV en varias hojas de Excel - Excel Total

Como sabemos, Excel 2007 y 2010 nos permiten anidar hasta 64 funciones
por lo que ese sera el mximo de hojas que podramos incluir utilizando
este mtodo.
Sin embargo, no te recomiendo llegar hasta ese lmite ya que con solo
agregar una o dos funciones anidadas ms a nuestro ejemplo la frmula
incrementara su complejidad y cada vez se volvera ms difcil descubrir
cualquier error. En caso de que necesites hacer bsquedas sobre una gran
cantidad de hojas te recomiendo utilizar una macro ya que eso evitar la
elaboracin de una frmula ms compleja.

Buscar en varias hojas con una macro


La segunda alternativa que tenemos para buscar en varias hojas de Excel
es utilizar una funcin definida por el usuario. Solo debemos ejecutar la
funcin VLOOKUP (BUSCARV) en cada una de las hojas del libro sobre el
rango especificado:
1
Function BUSCARVMultiple(Valor_buscado As Variant, Ma
2
Indicador_columnas As Integer, Optional Ordenado
3
On Error Resume Next
4
5
For Each Hoja In ActiveWorkbook.Worksheets
6
Matriz = Hoja.Range(Matriz_buscar_en.Address)
7
Encontrado = WorksheetFunction.VLookup _
8
(Valor_buscado, Matriz, _
9
Indicador_columnas, Ordenado)
10
11
If Not IsEmpty(Encontrado) Then Exit For Next Hoja
12
13
Set Matriz = Nothing
14
BUSCARVMultiple = Encontrado
15
16
End Function
17
18
A continuacin har una explicacin breve de este cdigo. Los argumentos
de la funcin BUSCARVMultiple son los mismos argumentos que utiliza la
funcin BUSCARV comenzando por el valor buscado, la matriz de
bsqueda, la columna que deseamos como resultado y finalmente el
argumento ordenado.
En la lnea 6 del cdigo se inicia el recorrido por cada una de las hojas del
libro y en la lnea 7 obtenemos la direccin del rango sobre el cual se
realizar la bsqueda. De inmediato ejecutamos la funcin VLOOKUP con
los argumentos correspondientes y almacenamos el resultado en la
variable Encontrado. Es importante recordar que en VBA las funciones de
Excel deben ser invocadas por su nombre en ingls y por esa razn
usamos la instruccin WorksheetFunction.VLookup.
Finalmente en la lnea 12 validamos si la variable Encontrado tiene algn
valor. Si la variable no est vaca quiere decir que la funcin VLOOKUP
encontr un resultado y por lo tanto terminamos la bsqueda. De lo
http://exceltotal.com/buscarv-en-varias-hojas-de-excel/

4/10

25/9/2014

BUSCARV en varias hojas de Excel - Excel Total

contrario el ciclo se vuelve a repetir y continuamos la bsqueda en la


siguiente hoja del libro. En la siguiente imagen puedes observar que la
funcin recin implementada nos devuelve el mismo resultado que nuestra
solucin anterior la cual utilizaba funciones de Excel:

Ahora ya conoces dos posibles soluciones para aquellos casos en los que
necesites utilizar la funcin BUSCARV en varias hojas de Excel. Descarga
el libro de trabajo que contiene la alternativa de solucin utilizando
funciones de Excel, as como la alternativa de solucin utilizando la macro y
contina experimentando con el ejemplo.
Artculos relacionados
Funcin BUSCARV con datos de otra hoja
Por Moiss Ortz el 26 de febrero del 2013.

33 pensamientos en BUSCARV en varias hojas


de Excel
Aydee Marquez
Excelente, Excelente

JUAN MANUEL
Muchas gracias por tus tutoriales, me permiti ampliar el uso de
esta funcin que ha sido ya de por s muy til para mi trabajo.

Mario Herrera
Excelente .La Funcin es sumamente practica y funcional.
http://exceltotal.com/buscarv-en-varias-hojas-de-excel/

5/10

También podría gustarte