La función BUSCARV es una de las funciones más utilizadas. Pero en grandes volúmenes de datos, la ejecución puede ser muy lenta 😕😡
Pero gracias a un truco de Charles Williams (Microsoft MVP), es posible mejorar la velocidad de búsqueda de la función BUSCARV.
ACTUALIZACIÓN :
- Si está trabajando con Excel 2019, 2021, versión Excel 365, La técnica descrita en este artículo ya no es útil. 😮
- De hecho, para estas versiones, los desarrolladores de Microsoft han modificado el algoritmo de la función BUSCARV y se ha optimizado la velocidad de ejecución.
- Por otra parteSi está trabajando con una versión de Excel anterior a 2019, la técnica aquí descrita te será de mucha utilidad 👍
¿Cómo encuentra valores la función BUSCARV?
¿Cómo se desarrolló la función BUSCARV? Charles Williams descubrí que la programación de la función BUSCARV no era la misma dependiendo de si elegías la búsqueda de coincidencias o la búsqueda exacta.
- Para la búsqueda aproximada (4to argumento = 1) es el método binario
- Para la búsqueda exacta (cuarto argumento = 4) es el método lineal
Y esa es la paradoja de esta función. En el 99,9% de los casos lo que se realiza es la búsqueda exacta y, sin embargo, es el algoritmo menos eficiente.
Técnica para acelerar la velocidad de BUSCARV
El truco consistirá en escribir una función BUSCARV exacta usando la función BUSCARV aproximando 😮
Ejemplo de varios miles de líneas.
Tomemos el caso de un libro de trabajo que contiene en una hoja la lista de 50 empleados de una empresa

Y en otra hoja tienes el listado de días de vacaciones que se toman tus empleados, lo que representa casi 200,000 líneas.

La necesidad es crear una BUSCARV entre las 2 hojas para mostrar el nombre de los empleados según el código de empleado.
Haz una prueba en el resultado de la búsqueda.
Vamos a empezar con Haz una prueba para saber si el resultado de la búsqueda arroja exactamente el resultado deseado. Sí, es una prueba un poco estúpida, pero es lo que hay que hacer.
=RECHERCHEV(A2;$A$2:$A$50000;1;1)=A2
Los datos de tu columna de búsqueda DEBE ordenarse en orden ascendente.

Integre esta prueba en una función SI
- Ahora que hemos creado una prueba que verifica si la búsqueda coincidente devuelve exactamente el valor que desea, vamos a poner esta prueba en un Función SI.
- Si el resultado de la prueba es verdadero, devolveremos una búsqueda similar pero en la columna que queremos devolver esta vez (cuarta columna aquí)
- Terminamos la función SI con un valor cuando la búsqueda no tiene éxito.
Luego se escribe la fórmula:
=SI(RECHERCHEV(A2;Employé!$A$2:$H$50000;1;1)=A2,RECHERCHEV(A2; Employé!$A$2:$H$50000;4;1), "Inconnu")

Y es así como en una sola fórmula acelerarás la velocidad de la función BUSCARV.
Video explicativo
Artículos relacionados
- Función BUSCARV con Excel
- ¿Por qué BUSCARV devuelve #N/A?
- ¿Por qué BUSCARV devuelve un resultado incorrecto?
- Ejercicio BUSCARV, elige la respuesta correcta
- Función BUSCAR XL de Excel (función más optimizada y más fácil de usar)
19/03/2022 a las 17:22
Hola Sr. Le Guen,
En primer lugar, muchas gracias por el tiempo que dedicas a crear/editar y compartir el fruto de tu trabajo.
Entonces tengo un problema en un archivo cuyos valores quiero recuperar de otra hoja.
Vi tu video y apliqué los 2 métodos para la función "Vsearch", pero todavía no funciona porque todavía recibo el código "#N/A".
Fui a ver otro de tus videos, que trataba sobre este problema de código #N/A (https://www.youtube.com/watch?v=Fo0Gz0BpF0s), con diferentes formas de abordar este problema, pero nuevamente, nada ayudó.
También agrego la conversión de cada columna rn a "Número", pero nada también.
Entonces, me comunico con usted para saber si puedo compartir mi archivo con usted y le agradecería mucho que me dijera dónde está mi error, por favor.
gracias de antemano por su ayuda
27/07/2019 a las 22:38
Gracias por su sitio.
En la fórmula indicas en blanco sobre fondo gris oscuro
=SI(RECHERCHEV(A2;$A$2:$H$50000;1;1)=A2,RECHERCHEV(A2;$A$2:$H$50000;4;1), "Inconnu")
para la igualdad de celda A2, falta la referencia a la otra hoja de trabajo.
18/01/2019 a las 17:15
Hola Federico,
¿Reemplazar BUSCARV con una COINCIDENCIA anidada en un ÍNDICE acelera la búsqueda?
Me aconsejaron este truco, pero leyendo tu artículo tengo dudas.
cordialement,
Marie
18/01/2019 a las 19:44
Hola,
Muchas gracias por hacer la pregunta porque es un mito para muchos usuarios.
No, la única forma de acelerar una búsqueda V es el truco que describo en este artículo. https://excel-exercice.com/accelerer-la-fonction-recherchev/
Pero el truco de ÍNDICE/EQUIV (bueno COINCIDIR) es hacer una BUSCARV a la izquierda https://excel-exercice.com/comment-faire-une-recherchev-vers-la-gauche/
Muchas gracias por esta pregunta tan relevante.
12/02/2018 a las 16:07
¡Muchas gracias por el consejo!
10/11/2017 a las 21:43
Realmente efectivo, probado en una pestaña con 60.000 referencias para buscar en una pestaña con 500.000 referencias... 10 minutos con vsearch clásico y 15 segundos con este método.
25/08/2017 a las 01:05
Hola,
Boisgontier
18/04/2017 a las 16:24
¡Hola
Pensé que la búsqueda difusa siempre devolvía el valor más cercano.
Sin embargo, noto que en ciertos casos devuelve #N/A como en una búsqueda exacta.
Parece que esto ocurre en el caso en el que mi valor buscado es menor (en la clasificación) que mi primer
valor de matriz
¿Alguna vez te has encontrado con este problema?
PD: puedo resolverlo así:
if(esterror(searchchev(a;tb;1;true);"error";if(searchchev(a;tb;1;true)=a;searchchev(a;tb;xx;true);"error"))
pero se vuelve engorrosa como fórmula
Gracias de antemano
24/04/2017 a las 08:48
Ojo, hay 2 cosas que no deben confundirse. Ahí estás en el artículo sobre cómo acelerar la velocidad de búsqueda en el caso de una búsqueda exacta (y el truco consiste en utilizar la búsqueda cercana, es cierto). Ahora, si lo que necesita es realizar una búsqueda "clásica" similar, el valor mínimo debe estar en su tabla de referencia, mientras que el valor máximo puede omitirse.
21/09/2015 a las 12:29
¡Hola y gracias por este consejo que acelera las fórmulas espectacularmente!
Me gustaría hacer una observación: es fundamental que las celdas tengan el mismo formato, más precisamente la misma longitud.
Queda una pregunta sin respuesta: guardar un archivo de este tipo lleva mucho tiempo. No puedo explicármelo a mí mismo.
cordialement,
Valérie
03/07/2015 a las 16:26
Es sorprendente que Microsoft no pueda integrar esta prueba directamente en su función BUSCARV
¡Qué mierda!
17/06/2015 a las 08:53
¡¡¡Siento que estoy retrocediendo 20 años cuando el parámetro 0 o falso no existía!!!
19/10/2014 a las 07:01
De hecho, es una técnica sencilla y eficaz. Gracias por la información. Estoy buscando cómo acelerar la apertura de mi Excel (pasar de 15 segundos a 1 o 2 segundos) (archivo con varios cientos de campos y enlaces a páginas de bases de datos de clientes - Base de datos de piezas con gestión de stock (2000 referencias) - Facturación.