Fórmula para buscar datos en Excel

Una de las acciones más comunes en Excel es la de buscar un valor dentro de una columna, razón por la cual la función BUSCARV es una de las funciones más utilizadas, sin embargo no es la única alternativa que tenemos para buscar en Excel.

Buscar datos en Excel con BUSCARV

Para aquellos que apenas inician en Excel haré un breve recordatorio de la función BUSCARV la cual tiene tres argumentos obligatorios y uno opcional.

Fórmula para buscar datos en Excel

  1. El primer argumento de la función BUSCARV indica el valor que vamos a buscar. En el ejemplo nos referimos al valor de la celda B1 que es “Diana”.
  2. El segundo argumento es el rango donde se realizará la búsqueda y el cual debe cumplir con dos condiciones. La primera condición es que la primera columna del rango debe ser la columna donde se realizará la búsqueda. La segunda condición es que la columna con el valor que necesitamos como resultado debe estar contenida en dicho rango. En nuestro ejemplo, deseamos encontrar el teléfono de “Diana” y por lo tanto la columna F debe estar incluida en el rango de búsqueda.
  3. El tercer argumento indica la columna que deseamos obtener como resultado. Nuestro rango (D2:F6) contiene tres columnas, la primera es el Nombre, la segunda el Apellido y la tercera el Teléfono. Ya que necesitamos como resultado la columna Teléfono, es necesario indicar el valor 3 como el tercer argumento de la función.
  4. El cuarto argumento de la función BUSCARV es opcional e indica el tipo de búsqueda que deseamos realizar. En nuestro ejemplo utilizamos el valor FALSO para indicar a la función que deseamos una coincidencia exacta del valor buscado.

Como resultado, la función BUSCARV nos devuelve el valor de la columna Teléfono que corresponde a “Diana”. Con solo cambiar el valor en la celda B1 obtendremos el teléfono de la  persona indicada:

Cómo buscar datos en una tabla de Excel con una fórmula

Desventaja de la función BUSCARV

Considerando el mismo ejemplo anterior, si deseo encontrar el teléfono de una persona basado en su apellido, no puedo hacerlo utilizando la misma fórmula para buscar datos ya que la función BUSCARV siempre realizará la búsqueda en la primera columna. Para hacer este tipo de búsqueda debo modificar la fórmula de la siguiente manera:

Buscar datos en Excel con la función BUSCARV

Los dos cambios realizados a la fórmula son los siguientes:

  • El segundo argumento cambió a E2:F6 porque la función BUSCARV siempre busca en la primera columna, y ya que deseo buscar por apellido, la columna E debe ser la primera en el rango de búsqueda.
  • Debido a la modificación anterior es necesario cambiar también el tercer argumento de la función ya que el rango de búsqueda se redujo a la columna Apellido y a la columna Teléfono. Ahora nuestro resultado deseado se encuentra en la segunda columna del rango de búsqueda y por lo tanto debo indicar el valor numérico 2 en el tercer argumento.

El hecho de que la función BUSCARV solo nos permita buscar en la primera columna de un rango representa una desventaja para resolver ciertos casos. Por ejemplo, considera el escenario donde deseamos buscar en nuestros datos de ejemplo el nombre de una persona a partir de su apellido. Esto implica buscar un valor en la columna E y devolver el valor correspondiente de la columna D lo cual es imposible de resolver con la función BUSCARV a menos de que intercambiemos el orden de las columnas moviendo la columna Apellido a la izquierda de la columna Nombre.

En ocasiones no es posible realizar estos cambios en el orden de las columnas y por ello es importante conocer y tener presente un método alterno que nos permitirá crear una fórmula para buscar datos en Excel sin hacer uso de la función BUSCARV.

La función COINCIDIR en Excel

Antes de continuar debemos comprender el funcionamiento de la función COINCIDIR la cual busca un valor y nos devuelve su posición dentro del rango de búsqueda. Esta función tiene tres argumentos y solo dos de ellos son obligatorios.

Fórmula de Excel para buscar valor en una base de datos

  1. El primer argumento de la función COINCIDIR es el valor a buscar. En el ejemplo anterior será el valor de la celda B1.
  2. El segundo argumento es el rango de búsqueda y que para nuestro ejemplo son las celdas que contienen todos los nombres.
  3. El tercer argumento es opciones y nos permite especificar el tipo de búsqueda a realizar. Para obtener una coincidencia exacta debemos especificar el valor cero.

Como resultado obtenemos el valor 3 que nos indica que “Diana” es el tercer nombre dentro del rango D2:D6. El hecho de obtener esta posición es de mucha ayuda porque si queremos conocer el teléfono de “Diana” debemos obtener el valor en la posición 3 bajo la columna Teléfono y eso es precisamente lo que haremos en el siguiente paso.

Fórmula para buscar datos en Excel

Ahora que ya sabemos cómo encontrar la posición de un valor con la función COINCIDIR, solo nos falta encontrar el valor correspondiente en otra columna y para eso utilizamos la función INDICE. La forma más simple de esta función requiere de solo dos argumentos, el primero de ellos es el rango de búsqueda y el segundo será la posición, dentro de dicho rango, que deseamos obtener.

Fórmula en Excel para encontrar datos

En este ejemplo estamos buscando el teléfono de “Diana” y ya sabemos, por la función COINCIDIR, que se encuentra en la posición 3 bajo la columna Nombre. Ahora utilizamos la función INDICE sobre los datos de la columna Teléfono y en su segundo argumento le indicamos que deseamos obtener la posición devuelta por la función COINCIDIR. El resultado es correcto y la fórmula recién creada es útil para obtener el teléfono de cualquier otra persona que indiquemos en la celda B1:

Fórmula para buscar datos en Excel 2010

Ventaja de INDICE y COINCIDIR sobre BUSCARV

A diferencia de la función BUSCARV, la fórmula con INDICE y COINCIDIR no nos obliga a realizar la búsqueda en la primera columna de un rango y para demostrarlo resolveremos el caso donde deseamos encontrar el nombre de una persona a partir de su apellido.

Fórmula para buscar en Excel

La diferencia entre esta fórmula y la del ejemplo anterior son los rangos de búsqueda. La función COINCIDIR hace la búsqueda sobre la columna Apellido y devuelve la posición correcta para que la función INDICE devuelva la misma posición pero bajo la columna Nombre. Este tipo de búsqueda no es posible de realizar con la función BUSCARV porque ya hemos visto que dicha función siempre hace la búsqueda sobre la primera columna del rango.

La flexibilidad que nos ofrece la función INDICE nos permite utilizarla en otros escenarios para buscar un valor y regresar múltiples resultados. Por otro lado, la función COINCIDIR combinada con la función BUSCARV es una excelente alternativa cuando deseamos hacer una búsqueda sobre una tabla y elegir la columna que necesitamos como resultado a partir de una lista desplegable. Si quieres leer más sobre esta alternativa consulta el artículo Combinar BUSCARV y COINCIDIR.

Ahora ya conoces dos alternativas para crear una fórmula para buscar datos en Excel, ya sea utilizando la función BUSCARV o la combinación de las funciones INDICE y COINCIDIR. Experimenta con ambas opciones y elige la que mejor se adapte a tus necesidades de acuerdo a los beneficios que ofrece cada una de ellas.

Artículos relacionados
Función BUSCARV en Excel
Función COINCIDIR en Excel
Función INDICE en Excel

64 pensamientos en “Fórmula para buscar datos en Excel

  1. javier

    Excelente tutorial como siempre! Muchísimas gracias.

    Habría laguna forma de obtener más de un dato para el mismo registro con Buscarv o con Indice…es decir, si Diana Cardona apareciese dos veces en la lista, una vez con el teléfono 982-3433 y más abajo con el teléfono 982-1414…habrái alguna forma de extraer los dos registros o como en el caso de buscarv siempre me encontraría el primero?

    Muchísimas gracias

      1. javier

        Me dejas de nuevo sin palabras Moisés. Muchísimas gracias

  2. Juan Bandera Cortes

    La mayoría de las veces conocemos las formulas por separado, pero ver los pros y contras junto con otras del mismo rango, es lo que marca la diferencia en un tutorial
    Muchas gracias, Moisés ¡¡¡

  3. Lázaro

    Moisés, Muchísimas Gracias una vez más por tan didácticas explicaciones, sin duda alguna logras que personas que no sabemos Excel, podamos ir comprendiendo la esencia de esta poderosa Aplicación.
    Un Abrazo Amigo.
    Lázaro.

  4. Enrique

    Gracias!
    La verdad que es muy clara la explicación y encima comparada con otras funciones similares.
    Nos ayudás a usarlas sin recurrir tanto a la ayuda de Excel, que no siempre es clara.
    (Un detalle: te falta una “i” en el quinto subtítulo)

    1. Moisés Ortíz Autor

      Gracias por tu observación Enrique.

  5. SERGIO

    Excelente, muchas gracias por tus aportaciones, hojala y hubiera mas personas como usted mi amigo

  6. Wilfredo

    Es de mucha ayuda su tutor, felicitaciones.

  7. miguel

    ¿Se puede colocar la formula en un libro y el rango de busqueda en otro?

    1. Moisés Ortíz Autor

      Hola Miguel, por supuesto que es posible hacerlo, solo debes poner mucha atención a la manera de crear las referencias dentro de la fórmula. Te dejo un artículo que habla sobre cómo crear referencias a celdas de otras hojas o libros:
      http://exceltotal.com/referencias-a-otras-celdas/

      También debes recordar que todos los libros que vas a consultar con una fórmula deben estar abiertos en Excel.

  8. Vicente

    Absolutamente fantástico. Si lo completas con un siguiente artículo con la función DESREF (para búsquedas hacia la izquierda, por ejemplo), sería algo maravilloso. Gracias!

  9. Sirumem

    Tus tutoriales son fantásticos. Sólo me permito hacerte una sugerencia y es que a la hora de presentar nuevas funciones de Excel pusieras entre paréntesis o en una nota al pie el equivalente en inglés de la función, alguno tenemos el Office en ese idioma por imposiciones de donde trabajamos o simplemente por costumbre. Saludos!

  10. HUBERT VALDIVA

    Muchísimas gracias amigo yo he hecho el ejercicio con datos propios y me ha funcionado excelentemente.
    Gracias por compartir tus conocimientos.

  11. Gerardo

    Para los que conocemos poco ,esto es maravilloso GRACIAS

  12. claudia

    Moises, como siempre preciso y con alternativas de uso. Mil gracias por compartir tu conocimiento en una herramienta tan completa como el Excel.

  13. Horacio Carmona

    Gracias Moy, muy nutritivo como todo lo que nos envias, muchas gracias!!!!

  14. Perla

    Muchas gracias, de verdad que lo explicas tan bien, que por fin entendí.

  15. Henry Castillo M.

    Excelente!! Muy Útil y Bien Explicado… Muchas Gracias!!
    SALUDOS desde Mérida Yucatán!

  16. filiberto

    exelente informacion me es muy util, estoy aprendiendo mucho de ti. gracias

  17. Julio César Contreras Leiva

    Estimado Moisés, sinceramente eres un maestro, en Chile se te estima mucho.
    tu amigo
    gracias por todos tus esfuerzos didácticos.

  18. Manuel Huacho

    Moisés excelentes ejemplos sobre todo para todos aquellos que empezamos en excel .
    Gracias …

  19. JUAN CARLOS

    Ya te he dado varias veces, las gracias, pero aún así, siguen siendo insuficientes, porque la información, la explicación, y el desarrollo que nos brindas, es impagable, con un simple agradecimiento.

    Un cordial saludo

  20. edward cendals

    excelente tutorial en él he podido avanzar en mis conocimientos llevados a la practica , felicitaciones, estoy expectante a todo lo que nos quiera compartir. saludos.

  21. Jorge

    Buenísimo Moisés, hasta ahora me la pasaba cambiando las columnas de lugar para usar el buscarv, con el consiguiente riesgo de perder información, demorar y dejar cambiadas de su orden natural las bases de datos.

  22. Mauricio Jiménez

    Estimado Moisés, primero que todo un gran saludo a un excelente Maestro.
    Soy un aficionado al Excel, nacido y residenciado en Medellín, Colombia, y en tu página he encontrado gran cantidad de enseñanzas que me han facilitado mis labores en forma inimaginable; tengo una hoja de Excel con los accesos a tus tutoriales, con el presente tengo 694… Es increíble! Y eso que no estoy seguro que me falten algunos.
    Un MIL GRACIAS por lo que nos enseña.

  23. Elvis M.C.

    solo puedo decir…. ¡¡GRACIAS!!…. por que haces que aprender sea facil… saludos desde LIMA – PERU

  24. Mauricio Pinos P.

    Como siempre son de mucha ayuda para mi trabajo los artículos que tu publicas, quiero hacerte una consulta respecto a consolidar varias hojas en una sola a través de una tabla dinámica.

    Gracias por tu ayuda

  25. Mario

    Excelente las aplicaciones que no presenta su material didáctico para nosotros que cada día tenemos que utilizar esta valiosa herramienta y con este aporte que usted profesionalmente nos brinda permite desarrollar trabajos importantes cotidianos{

    Gracias y feliz fin de Semana

  26. Juan Pablo Dulcey

    Hola Moises excelente artículo muchas gracias…
    Que pena molestarte pero quisiera preguntar tengo que multiplicar los valores entre una columna y otra y luego sumar el resultado. Sin embargo tengo unos datos que son texto entonces la multiplicación me sale error y por consiguiente la suma me sale error. Son demasiados entonces mirar cual es texto y cual no se hace muy complicado. Ahi una forma que la sumatoria no incluya los valores de error??? GRACIAS !!!!

  27. paco

    Hola como siempre muy buen tema.. Saludos Maestro…

  28. Carlos

    Te explico, tengo una base de datos con CURP y en ese Curp indica si es hombre (H) o Mujer (M), se que es fácil extraer por el nombre si es hombre o mujer pero se podría extraer por medio de una formula por decir CETS810425HHGRRL03 , si el digito 11 es H poner Hombre si es M poner Mujer, Gracias espero haberme podido explicar.

    Carlos @

    1. Moises Ortiz Autor

      Hola Carlos, suponiendo que el CURP está en la celda A1 puedes utilizar la siguiente fórmula:
      =SI(EXTRAE(A1,11,1)=”H”,”Hombre”,”Mujer”)

  29. David Martinez Espinoza

    Excelente ejemplo y aun mejor la aclaración de la desventaja, llevo casi 3 meses buscando por que no me salía correcta esta formula y solo era por que la condición a buscar tiene que estar en la primera columna, el día de hoy con esto termino un formato de horario de personal que me ahorrara mucho tiempo y evitara error al momento de capturar, gracias la verdad, he estado viendo tu pagina y esta excelente. FELICIDADES.

  30. RUBEN DARIO JIMENEZ

    GRACIAS MOISÉS POR TAN INTERESANTES TEMAS,DESEO CONOCER MAS DE EXCEL.

  31. Camilo Gonzalez

    Hola!

    Necesito tu ayuda con un tema. Estoy haciendo un contar.si.conjunto en una base de datos, pero quiero que uno de los rangos sea variable, es decir, que no siempre sea $A$2:$A$150 sino que haga referencia al encabezado de la columna, y cada vez que cambie el titulo, busque esa columna en la base de datos.

    Sabes como hacer esto?

  32. yony sanchez

    Tengo una linea de caracteres asi “161568 Carmen Sofia “, necesito que en una celda me busque “161568″ de esa cadena de caracteres y me coloque como resultado el valor de otra celda de la misma linea de la cadena de caracteres. no he podido hacerlo y debo revizar los resultados a mano de 4000 lineas. gracias

  33. Guillermo

    Buenas tardes Moisés,
    lo primero agradecerte compartir tus conocimientos, que son de gran utilidad.
    Lo segundo preguntarte si existe alguna manera de en una base de datos en excel con unos 6000 nombres extraer el genero de cada nombre, es decir si existe alguna formula donde te detecte si el nombre es de mujer o hombre.
    muchas gracias.

    1. Moisés Ortíz Autor

      Hola Guillermo, no existe tal cosa en Excel y sería prácticamente imposible de implementar porque la cantidad de nombres es inmensa.
      Seguramente existen empresas especializadas que podrían ayudar a hacer parte del trabajo, pero no será con un 100% de exactitud.

  34. Ramiro

    Hola Moises muchas gracias por los tutoriales, excelentes guías.
    Me puedes ayudar en algo, tengo una base de datos con varias columnas (nombre, apellido, teléfono, dirección, correo, etc)con la combinación de indice y coincidir puedo extraer un dato de esos (teléfono) a partir del nombre. ¿es posible extraer varios datos diferentes? es decir que adicional me mostrara la dirección y el correo. gracias por la ayuda me puedas brindar.

    1. Moisés Ortíz Autor

      Hola Ramiro, debo comenzar diciendo que una fórmula puede mostrar su resultado solo dentro de una misma celda. Asi que, partiendo de este principio, si quieres los datos de dirección y correo debes copiar la fórmula original a las celdas aledañas y hacer las modificaciones para obtener los datos adicionales a partir del mismo nombre que la fórmula original.
      También puedes concatenar el resultado de las tres formulas para mostrarlos dentro de una misma celda, pero eso será totalmente opcional.

  35. Orlando

    Buen día habrá una formula como INDICE, COINCIDIR o BUSCARV que busque en todas las hojas del libro y una vez encontrado el valor regrese el valor pero de otra celda y no la del valor buscado

    1. Moisés Ortíz Autor

      Hola Orlando, no existe tal función en Excel, pero te dejo un artículo que habla sobre cómo buscar en varias hojas con la función BUSCARV:
      http://exceltotal.com/buscarv-en-varias-hojas-de-excel/

      Aunque si la búsqueda es muy exhaustiva, la mejor alternativa sería crear tu propia función UDF utilizando programación VBA.

  36. Hilario

    Excelentes tus explicaciones.
    Gracias.

  37. ARTURP GARCIA

    Hola que tal Moisés, excelente artículo me sirvio de gran ayuda, pero quiero saber si este mismo buscador lo puedo hacer para realizar una búsqueda dentro de todas y cada una de las hojas de un libro?

  38. ARTURP GARCIA

    HOLA, QUE TAL, YA HE REALIZADO MI BUSCADOR, PARA MI TABLA DE DATOS QUE CONSTA DE 15 COLUMNAS Y CASI 4000 FILAS. LA BUSQUEDA SE REALIZA PERFECTAMENTE DE LA COLUMNA 2 A LA 13. LAS FILAS 14 Y 15 CONTIENEN DATOS DE FECHAS, ENTONCES EN MI BUCADOR NO ARROJA LAS FECHAS COMO TALES PARA ESTAS COLUMNAS. APARECEN OTROS NUMEROS QUE NO SE NI DE DONDE SALEN. NECESITO INGRESAR ALGUN FORMATO EN ESPECIFICO DE LAS FECHAS PARA QUE ESTAS PUEDAN APARECER??? O QUE ES ELO QUE PASA???

    1. Moisés Ortíz Autor

      Hola Arturp, las fechas son en realidad números y lo único que hace Excel es presentarlos en pantalla de una manera que las podamos reconocer. Solo tienes que cambiar el formato de la celda a Fecha para ver la fecha en el formato que estamos acostumbrados. Consulta el siguiente artículo para aprender un poco más sobre este tema:
      http://exceltotal.com/fechas-en-excel/

  39. Ruben

    Excelente manual y bien explicado el problema es que la separacion en las formulas para versiones avanzadas de excel es con ; y no con la , cambiando solo eso funcionan todas perfectamente.

    1. Moises Ortiz Autor

      Ruben, gracias por tu comentario, pero la coma (,) o punto y coma (;) no tienen nada que ver con “fórmulas para versiones avanzadas de Excel”.
      Yo utilizo la coma debido a la configuración regional de mi equipo (México), pero existen otras configuraciones regionales (como España) donde se utiliza el punto y coma como el separador de argumentos de una función. Puedes leer más al respecto en el siguiente artículo:
      http://exceltotal.com/separador-de-argumentos-de-funciones-en-excel/

  40. alfredo ledesma

    buenas tardes ,
    tengo 2 archivos de excel casi identicos , cda uno en la comumna J tiene los nombres de los clientes y su RFC en la columna K , necesito comparar estas 2 columnas y si son casi identicos traer el RFC al archivo 2 , el problema es que al realizar , coincidir , buscarV , y alguna otra no tiene el resultado deseado por que compara que sean identicas , ejemplos
    SERVICIOS PUENTE S.A DE C.V
    SERVICIO PUENTE SA DE CV
    SON LA MISMA EMPRESA pero al buscar me dice que no coinciden
    que puedo hacer

    1. Moises Ortiz Autor

      Hola Alfredo, no es posible utilizar funciones de Excel para hacer búsquedas con datos “casi idénticos”. Es necesario hacer una depuración “manual” de los datos.
      Te sugiero utilizar la búsqueda de Excel con caracteres comodín para encontrar las celdas que tienen datos similares y puedas homologar la información. En tu caso, podrías hacer una búsqueda utilizando: *PUENTE*
      Consulta el siguiente artículo para saber más sobre ese tipo de búsqueda:
      http://exceltotal.com/busquedas-aproximadas-en-excel/

  41. Rogelio

    Moises buen dia, tengo una duda tengo una tabla en donde quiero sacar un dato pero teniendo 3 o mas variables, puedo usar la funcion buscarv o debo usar alguna otra, que me aconsejarias..
    Saludos y gracias

  42. Alfredo

    Tengo una libro de excel con mas de 100 hojas. ¿Hay alguna manera de buscar una hoja con algún buscado o alguna herramienta? Es decir si estoy en la hoja 99 y quiero ir a la hoja 35 ¿Hay manera de buscar esa hoja o alguna otra sin tener que desplazarse por cada una de las otras hojas? Lo que sucede que es que las hojas que tengo no tienen un orden definido y a veces se consume mucho tiempo en desplazarse de hoja en hoja hasta encontrar la hoja requerida. Gracias
    Alfredo

    1. Moisés Ortíz Autor

      Hola Alfredo, lamentablemente no existe una fórmula que facilite la búsqueda de esa manera en Excel, pero no me queda claro si lo que necesitas es efectivamente una fórmula, ya que si solo estas revisando tu libro en búsqueda de cierta información entonces puedes utilizar el comando Buscar asegurándote de seleccionar la opción “Dentro de” > Libro.

  43. Dilan

    Hola, existirá alguna formula como BUSCARV pero que me devuelva el valor de la primera, segunda o enesima celda que yo elija de los que cumplen con la condición?

    1. Moisés Ortíz Autor

      Hola Dilan, lamentablemente no existe una función que devuelva la enésima ocurrencia de una búsqueda. Solo existen métodos alternos como la creación de una función propia en VBA.

  44. JOAO

    Hola una pregunta existe alguna forma de obtener resultados si el dato que escribo no es unico es decir si tengo un apellido comun obtener las identificaciones de todos

    1. Moisés Ortíz Autor

      Hola Joao, debo decir que en Excel no existe una función que devuelve múltiples resultados, así que en estricto sentido no se puede hacer lo que mencionas con una función. Sin embargo, existen métodos como las fórmulas matriciales que permiten devolver el varios resultados distribuidos en varias celdas. Te dejo un ejemplo de cómo obtener varios resultados:
      http://exceltotal.com/buscar-un-valor-y-regresar-multiples-resultados-en-excel/