6 trucos para optimizar BUSCARV (todavía más)

Una vez que sabes y dominas el uso de BUSCARV es hora de planteare si quieres ir un paso más allá para mejorar la plantilla. Por supuesto, todo depende de la vida útil que le vayas a dar a esa plantilla. Merece la pena invertir un poco de tiempo en caso de que vayas a utilizarla para siempre o durante mucho tiempo o cuando sea una plantilla compleja.

Hoy te voy a mostrar 6 trucos que utilizo habitualmente y que mejorarán tanto la legibilidad de la función como la rapidez de la búsqueda de datos:

1. Utiliza nombres de rango

¿Cuál de estas fórmulas te parece más fácil de interpretar?

  • =BUSCARV(F8;A1:B17;2;FALSO)
  • =BUSCARV(Importe;TablaPrecios;2;FALSO)

En la primera versión es imposible saber qué tipo de dato se va a buscar a no ser que te dirijas directamente a la referencia de la celda. Lo mismo pasa en el rango de búsqueda. En la primera fórmula no hay ningún indicio de dónde se va a buscar el dato. En la segunda, ya sabes que se buscará en la tabla de precios.

Otra ventaja de utilizar nombres de rangos es la velocidad de acceso a los datos. Excel tarda más en acceder a un rango de celdas que a un rango con nombre. En tablas de búsqueda pequeñas esto es inapreciable pero a la hora de buscar un dato en una gran tabla o desde un ordenador algo antiguo….

El único inconveniente que tiene utilizar nombres de rango es que si el rango de búsqueda crece, las celdas nuevas se quedarán fuera del rango y Excel no buscará en ellas. Este es un truco pensado para rangos que se mantienen siempre con el mismo tamaño.

 

2. Utiliza rangos de búsqueda con referencias absolutas

Lo más habitual a la hora de crear varias fórmulas con BUSCARV  es escribir a mano la primera y arrastrar con el ratón hacia abajo para que se copie en todas las celdas.

En caso de que no quieras o no puedas utilizar nombres de rango, esto puede suponer un problema si no usas referencias absolutas para hacer referencia a la tabla de búsqueda. Al copiar una fórmula (que contenga referencias de celda relativas) hacia abajo, no solo se desplaza la celda con esa fórmula sino que se desplaza también la referencia de la tabla de datos.

La mejor solución es habituarte a utilizar siempre referencias absolutas.

Fíjate en el ejemplo:

 

buscarv1

 

Al escribir la fórmula y arrastrarla hacia abajo, también se mueve hacia abajo la referencia de la tabla de datos, así que, como ves en aquí, en la celda E7 se produce un error.

 

buscarv2

 

En el ejemplo anterior, deberías introducir la fórmula de la siguiente manera:

=BUSCARV(D5;$A$2:$B$5;2;0)

Prueba ahora a copiar la fórmula hacia abajo…

 

3. Utiliza tablas

Como acabas de ver más arriba utilizar nombres de rango está muy bien si tienes un rango fijo, que no crecerá a lo largo del tiempo. Pero… ¿qué ocurre si este rango crece?

Utilizar tablas es la mejor opción. Una tabla es parecida a un rango con nombre, pero ésta se adapta al tamaño de los datos que contiene. Es decir, a medida que introduces datos en la tabla, se van agregando filas. Se dice que es un rango dinámico.

buscarv3

Si tienes una versión de Excel inferior a la 2007 (no creo, pero por si acaso), estos rangos dinámicos no se llaman tablas, sino listas.

 

4. Gestiona los posibles errores de datos no encontrados

Cuando Excel es incapaz de encontrar el dato buscado en la tabla de datos, muestra un error #N/A. No queda muy bonito que, durante una presentación de datos ante el director general, aparezcan estos errores, ¿verdad?

Siempre debes procurar que no se produzcan errores, pero a veces es inevitable que aparezcan. La forma más sencilla de ocultarlos es con la función SI.ERROR(). Debes utilizarla de la siguiente forma:

=SI.ERROR(BUSCARV(…);”Error en la búsqueda”)

buscarv4

 

Igual que en el punto 3, si utilizas una versión anterior a Excel 2007 no podrías utilizar SI.ERROR, sino que deberás utilizar la siguiente estructura de funciones:

=SI(ESERROR(BUSCARV(…))

 

5. Utiliza 0 y 1 en el argumento “Ordenado” o, directamente no lo pongas

Cuando ya estás habituado a trabajar con BUSCARV es normal que comiences a cambiar el argumento Ordenado, de VERDADERO o FALSO a 1 y 0.

Es más, si vas a introducir el valor 0 (coincidencia exacta), puedes incluso omitirlo. Eso sí, no te olvides de poner el punto y coma. Quedaría de la siguiente forma:

= BUSCARV(D5;$A$2:$B$5;2;)

 

buscarv5

 

6. Utiliza BUSCARV solo cuando sea necesario

¿Sabías que funciones como SUMAR.SI() o SUMAPRODUCTO() son capaces de sustituir a BUSCARV?

En mi ebook “BUSCARV y otras funciones de búsqueda”, te muestro una buena cantidad de funciones que puedes utilizar para hacer búsquedas.

Por ejemplo, =SUMAR.SI(rango;criterio;rango_suma) es lo mismo que =BUSCARV(valor_buscado;tabla_busqueda;2;FALSO), asumiendo que existe una sola coincidencia y que el rango_suma contiene solamente números.

 

Ahora es tu turno

¿Qué otros tucos conoces para utilizar BUSCARV de forma eficiente? Por favor, coméntalos.

Respuestas

  1. Buenas Noche se me presenta un problema que el dia no he podido corregir.
    S 28/12/2019
    D 29/12/2019
    L 30/12/2019
    M 31/12/2019
    #N/A 1/01/2020
    #N/A 2/01/2020
    #N/A 3/01/2020
    #N/A 4/01/2020
    La formula es la siguiente
    =BUSCARV(B24,Calendario_2017[#Todo],2,0)

    1. Hola Rafael!
      Podría ser que las fechas no se encuentren en la tabla de búsqueda?

  2. Hola Sergio, te quisiera consultar, si existen mas valores de coincidencia en la misma tabla que haces referencia a BuscarV, como puedes buscar el que tenga mayor valor?

    1. Hola Rodrigo!
      Yo me olvidaría directamente de BUSCARV. Suponiendo que los datos se encuentre en el rango A3:C10, que la columna donde deseas buscar sea la A, la columna a devolver sea la C y el criterio de búsqueda se encuentre en la celda E3, usaría la siguiente fórmula.

      =MAX(SI($A$3:$A$10=E3;$C$3:$C$10))
      Se trata de una fórmula matricial. No olvides presionar Ctrl+Mayús+Intro para introducirla

  3. Hola, es cierto que la columna donde se va a buscar un valor debe estar ordenada para que buscarv de un resultado correcto?

    Gracias de antemano.

    1. Hola Ronald,

      Eso es según el tipo de búsqueda que hagas. En el 99% de los casos harás una búsqueda exacta y no hará falta ordenar el rango. Esta ordenación solo se debe hacer cuando la búsqueda sea aproximada.

Los comentarios están cerrados.