La función BUSCARV con datos de otra hoja

Es una buena práctica almacenar nuestros datos en una hoja de Excel y utilizar una hoja diferente para consultar los datos a través de fórmulas. Sin embargo, no es tan intuitivo ni fácil para muchas personas saber cómo utilizar la función BUSCARV con datos de otra hoja.

En la siguiente imagen podrás observar que tengo información de clientes en la hoja llamada Datos:

La función BUSCARV con datos de otra hoja

Lo que necesito hacer es consultar esta tabla de datos desde la hoja Consultas de manera que al introducir un ID Cliente pueda obtener el nombre de dicho cliente utilizando la función BUSCARV.

Obtener datos de otra hoja con la función BUSCARV

Configurar la tabla de búsqueda

La manera más sencilla de utilizar la función BUSCARV con datos de otra hoja es crear una tabla de Excel con nuestros datos. Para hacerlo debes seleccionar el rango de celdas con los datos y pulsar el botón Tabla de la ficha Insertar.

Configurar tabla de búsqueda para la función BUSCARV

Excel creará la nueva tabla y le asignará un nombre. En la imagen superior puedes ver que el nombre de nuestra tabla es Tabla1. Este nombre lo puedes cambiar para describir mejor los datos de la tabla, pero para este ejemplo dejaré el nombre creado por Excel.

Obtener datos de otra hoja

Para obtener los datos de otra hoja debemos utilizar la tabla recién creada como el rango de búsqueda de la función BUSCARV. Considera la siguiente fórmula:

=BUSCARV(A2, Tabla1, 2,FALSO)

La función BUSCARV realizará una búsqueda del valor en la celda A2 sobre la Tabla1 y regresará la segunda columna de dicha tabla. El cuarto argumento en FALSO indica que se realizará una búsqueda exacta. Ahora observa el resultado de utilizar esta función:

Obtener datos de otra hoja con BUSCARV

Para que esta fórmula funcione con las celdas inferiores será suficiente con copiarla hacia abajo. En la siguiente animación podrás observar cómo se muestra el nombre del cliente de acuerdo al ID Cliente capturado en la columna A:

Ejemplo de función BUSCARV con datos de otra hoja

Valores no encontrados

Si la función BUSCARV no encuentra un valor mostrará el error #N/A. Podemos utilizar la función SI.ERROR para evitar desplegar el mensaje de error y en su lugar mostrar un mensaje diferente:

Valores no encontrados por la función BUSCARV

Para saber un poco más sobre cómo utilizar la función SI.ERROR junto con la función BUSCARV consulta el artículo: Combinar la función BUSCARV y SI.ERROR.

Descarga el libro de trabajo para probar este ejemplo de la función BUSCARV con datos de otra hoja.

Artículos relacionados
La función BUSCARV en Excel

22 comentarios en “La función BUSCARV con datos de otra hoja

  1. Juan Carlos

    Saludos,
    Muy buena explicación, sumado a que muestras el manejo de tablas, lo que agiliza enormemente cuando uno tiene archivos muy grandes, pues a esas tablas le podemos seguir ingresando datos al final y los toma dentro del rango inicial de la tabla…..super!!!
    Felicidades!!

  2. Aulio Espinoza

    Muy buena la información, me libro de capturar 22700 filas

  3. David lopez

    Excellente, gracias por compartir sus conocimientos

  4. omar

    Hola. Quiisera saber como hacer la siguiente formula:
    tengo una hoja de excel con nombre de alumnos y los respectivos niveles de cada uno de ellos; como hago para que me los liste por niveles en otra hoja??; por que lo hago con buscarv, y solo me da el primero de la lista con el nivel que le pido pero no el resto de los que tienen el mismo nivel.

      1. Juan

        Hola Moisés, tengo un problema que no he podido solucionar. Tengo una planilla que la obtengo de un programa contable. Al utilizar la formula BuscarV en algunos valores me devuelve #N/A cuando en realidad esta el valor. Para que me aparezca el valor correcto tengo que entrar a las celdas de la primer columna de la matriz y quitarles los espacios manualmente y ahí me aparecen todo los datos. Probé con la formula Espacio para quitar los mismos pero no me funciono, me sigue trayendo #N/A. ¿Conoces alguna solución de forma que no tenga que entrar a las celdas para quitar los espacios?
        Desde Uruguay, muchas gracias por todos los aportes!!!!

        1. Moisés Ortíz Autor

          Hola Juan, la parte de remover los espacios será necesario que lo hagas con la función ESPACIOS. En cuanto al hecho de que la función BUSCARV devuelva #N/A es posible que se deba al formato de las celdas, debes validar que estés comparando texto con texto o números con números.

  5. ARTURO

    EXCELENTE APORTE , MUCHAS GRACIAS

  6. FRANK

    me ayudo mucho gracias

  7. juan

    buenos días Moises
    estoy utilizado está función, que me puede solucionar muchos problemas, yo antes utilizaba SI(BUSCAR(A4;actual’!$A$1:$A$180)=A4;BUSCAR(A4;actual’!$A$1:$A$180;actual’!$F$1:$F$180);0), donde los valores de la columna A4 son siempre númericos, ya que son cuentas contables, y el resultado siempre es númerico, como es compresible, cuando habia que poner la función en otra hoja o para otro trabajo, nunca funcionaba ya que siempre te olvidabas de algo.
    he probado esta función, y va de maravilla, pero tengo un problema, cuando el valor de la columna A4 no esta en la tabla, ya que no todos los meses, estas cuentas tienen valor, me sale #N/A.
    hay alguna manera de que salga el importe 0, utilizando esta función.
    gracias y quedo a la espera de tus noticias.

    1. Moisés Ortíz Autor

      Hola Juan, puedes utilizar la función BUSCARV junto con la función SI.ERROR de manera que elijas el valor a desplegar en lugar del error #N/A. Te dejo un artículo donde aprenderás a utilizar esta combinación de funciones y evitar desplegar el error:
      http://exceltotal.com/combinar-la-funcion-buscarv-y-si-error/

  8. Miguel

    Me resulto muy útil la información, gracias por compartirla con la comunidad!!!

  9. Fernando

    Hola Moisés:
    Utilizo BUSCARV para obtener datos que tengo en distintas hojas dentro de un libro. Todas las hojas tienen la misma estructura y los datos que necesito están en el rango C67:K74 de cada una de ellas. He planteado la siguiente fórmula “=BUSCARH(A1;’NOMBRE_HOJA’!$C$67:$K$74;7;FALSO)”.
    Funciona bien, pero he de cambiar manualmente “NOMBRE_HOJA” cada vez que la utilizo. El nombre de cada hoja puedo ponerlo en celdas de la hoja activa, pero no consigo que la fórmula haga referencia a ellas y así automatizar el proceso. ¿Se te ocurre alguna solución?. Gracias.

  10. NELSON MORENO

    Muy buen post, gracias por la colaboracion, muy util. slds.

  11. Witman

    Me sale #¿NOMBRE? porque si he seguido todos los paso según indicas
    Slds.
    Witman

    1. Moisés Ortíz Autor

      Hola Witman, es probable que no has instalado el Service Pack de Office 2010 y por lo tanto debes utilizar la función CONSULTAV en lugar de BUSCARV.
      Si quieres saber un poco más sobre esta cambio de nombres en las funciones de Excel 2010 te recomiendo leer el siguiente artículo:
      http://exceltotal.com/cambio-de-nombre-de-funciones-en-excel-2010/

  12. Hector

    Hola
    que formula puedo utilizar cuando tengo que buscar en otra pesataña un codigo pero su resultado esta en otra celda,
    es decir puedo hacer la formula que tienes pero solo encuentra el codigo me faltaria su resultado que esta en otra celda.

    1. Moises Ortiz Autor

      Hola Hector, eso no es posible con la función BUSCARV. Lo único que se puede hacer es que el rango de búsqueda (y resultado) estén en una hoja diferente, pero no buscar un valor en una hoja y devolver el valor de una tercer hoja. Para eso será mejor utilizar la combinación de función INDICE/COINCIDIR, te dejo un artículo que habla más al respecto:
      http://exceltotal.com/formula-para-buscar-datos-en-excel/

  13. Lorena Garzon

    Muy buena explicacion, gracias!!!

  14. Javier Donoso

    Esta muy buena la explicacion, pero tengo una duda como lo hago para que me busque en mas de una tabla?