15

Dos sustitutas para BUSCARV

Si  visitas con frecuencia en internet webs relacionadas con funciones de Excel, te habrás fijado en que la función BUSCARV es una de las más utilizadas. Y no es precisamente porque todos tengamos que hacer la misma tarea, sino porque es una, si no la que más, de las más versátiles que ofrece Excel.

Aunque es una de mis favoritas, la función BUSCARV no sirve en todas las situaciones. Una de estas situaciones se da cuando el valor donde se desea buscar se encuentra en una columna a la izquierda del valor de referencia.

Recuerda que la función BUSCARV tiene la siguiente sintaxis:

BUSCARV(valor_buscado;matriz_buscar_en;indicador_columnas;ordenado)

El argumento indicador_columnas es siempre un número positivo que indica el número de columna en el que se encuentra el valor_buscado, dentro del rango. Este número, al ser siempre un número positivo viene a significar que la columna se encuentra a la derecha del valor buscado.

Te pongo un ejemplo:

En la fórmula =BUSCARV(C1;A1:B30;2;0), se le indica a Excel que busque el valor de la celda C1 en el rango de celda A1:B30 y cuando lo encuentre, que devuelva el valor situado en la segunda columna con respecto al valor buscado, es decir, en la columna B. Como puedes ver, el valor 2 hace referencia a la columna de la derecha. Si intentases buscar el valor en la columna de la izquierda, tendrías que crear una fórmula como esta:

=BUSCARV(C1;A1:B30;-2;0)

Por supuesto, la fórmula anterior da error porque el argumento indicador_columnas solo puede contener un número positivo.

¿Cómo puedes sustituir la función BUSCARV?

Para solucionar este problema entran en acción otras dos de mis funciones favoritas: INDICE y COINCIDIR. La combinación de estas dos funciones, además de otras maravillas, pueden sustituir perfectamente, incluso mejorar, los resultados de BUSCARV.

Siguiendo con el ejemplo anterior, la fórmula que necesitarías para obtener el mismo resultado, sería la siguiente:

=INDICE(A1:A30;COINCIDIR(C1;B1:B30;0))

La función que realiza esta fórmula es crear un índice en la columna A, luego toma el valor de la celda C1 y busca su coincidencia en la columna B.

A diferencia de la función BUSCARV, las funciones INDICE y COINCIDIR sí, pueden buscar hacia la izquierda del valor de referencia.

¿Conoces alguna otra función que sea capaz de sustituir a BUSCARV?

buscarv-indice-coincidir
Título: buscarv-indice-coincidir (1054 clics)
Tamaño: 42 KB

¡Compartir es vivir!
Sergio
 

La destreza y el perfeccionismo quizá sean las dos virtudes que me permiten ayudar a mis clientes a facilitar las tareas administrativas de sus negocios.

Haz clic aquí para dejar un comentario 15 comentarios
manuel - 04/12/2013

también puede ser en el ejemplo =DESREF($A$4;COINCIDIR(G6;B5:B9;0);0)

Responder
Manuel jimeno - 04/12/2013

Gracias por el aporte, Manuel. Aunque nunca la he utilizado, he visto que funciona!

Responder
MIGUEL-ANGEL - 11/12/2013

Me parece mas versatil y de mejor control las funciones buscarv y buscarh

Responder
    YUBELLY - 06/10/2017

    PUES SI ES MEJOR PERO LO QUE PASA ES QUE A UNOS COMPUTADORES NO LES FUNCIONA ESA FORMULA COMO AL MIO NO ME FUNCIONA NI “BUSCARV” Y TAMPOCO “BUSCARH” ENTONCES NECESITO UNA QUE PUEDA REMPLAZAR ESAS.

    Responder
      Sergio - 06/10/2017

      Yubelly, prueba a utilizar las funciones CONSULTAV o CONSULTAH. Si no te funciona BUSCARV, estás si lo harán.

      Responder
manuel - 14/12/2013

Es por el hecho de que esta si funciona para la izda., Un saludo.

Responder
JUANGO - 20/02/2014

Hola esta bien la opcion de reemplazo de BuscarV, pero que pasa cuando hay varios registros iguales, me explico, por ejemplo en el fichero que adjuntas como ejemplo, perdon la redundancia, hay un Juan Sanchez, que pasa si hubiese un Pedro Sanchez, con la funcion Indice no iria mas alla de buscar el primer Sanchez y en consecuencia el resultado siempre seria Juan, es como resolverlo?

Responder
Manuel jimeno - 21/02/2014

Juan, las fórmulas tradicionales solamente devuelven un resultado. Si deseas que devuelva varios (una matriz), tendrías que utilizar una fórmula matricial.

Responder
m........ - 01/04/2014

me gusta tu portal quisiera una ayuda tengo un archivo de excel con el programa macros
Que es control de entradas y salida de suministros pero el problema es que tengo que hacer uno por uno
Quisiera saber si se puede hacer lo mismo pero con una ampliacionde 50 suministros a la vezunido con la funcion buscar en otra hoja

Responder
Manuel jimeno - 01/04/2014

Claro que puedes. Además, la automatización de los procesos es uno de los puntos fuertes de VBA.

Por favor, entra en el foro de la web (https://www.ayudaexcel.com/foro) y plantea allí tu duda. Me pasaré esta tarde para responderte.

Saludos

Responder
Alexander - 18/07/2018

Hola. Gracias por el tutorial. Al intentar descargar el archivo de ejemplo, no lo encuentra. Muchas gracias.

Responder
    Sergio - 18/07/2018

    Alexander, ya está solucionado. Puedes descargarlo cuando quieras.
    Saludos.

    Responder
Hector Tessari - 12/02/2019

Hola, al igual que consultaron antes mi duda es:

Con todas estas funciones, al encontrar el primer valor coincidente devuelve el resultado ¿que pasa si quiero que me traiga el resultado del siguiente valor coincidente? ¿me explico?
Va un ejemplo.

Columna 1, numero de orden de entrega
Columna 2, marca

234, Ford,
234, Renault
342, Fiat
455, Volkswagen

segun la tabla tengo que entregar 2 items en el mismo numero de orden, pero si quiero saber cuales son con un BUSCARV solo tendria como resultado Ford+Ford y no Ford+Renault.

Muchas gracias.-

Responder
    Sergio - 12/02/2019

    Hola, Hector!:
    Echa un vistazo a este artículo donde te muestro cómo crear una lista en la que aparecen todos los resultados de la búsqueda.

    También puedes encontrar ayuda en el foro de la web, en este hilo.

    Espero haberte ayudado.

    Responder

Escribe una respuesta:

Powered by WishList Member - Membership Software