Evitar constantes en BUSCARV.

lunes, mayo 20, 2013

Si hay una línea en Excel que marca el paso de principiante a usuario intermedio, es el uso de BUSCARV. Esta función, como tantas otras funciones de búsqueda en Excel, extraer valores de una tabla de datos basándonos en un criterio de búsqueda.

Sin lugar a dudas, es una de las funciones más usadas en Excel. Sin embargo y desde el punto de vista de las buenas prácticas, tiene un problema al que pocos usuarios prestan atención: el tercer argumento de la función, el indicador_columna (la columna en la tabla de la cual se quiere extraer el dato). Veamos este ejemplo sencillo (que me vino a colación de una nota sobre normas de diseño en Excel que estoy escribiendo)



La fórmula en la celda F2 usa BUSCARV para extraer el número de teléfono de acuerdo al nombre que ponemos en E2.

Ahora, supongamos que insertamos en la tabla de datos una columna (Zona) entre los campos "Nombre" y "Teléfono"



Si bien los rangos de la función se han adaptado al cambio, el tercer argumento de la función es una constante. Y por lo tanto, ahora el resultado es la zona y no el teléfono.

En ciertos casos el error no es fácilmente identificable y puede ser crítico.

Las buenas prácticas en Excel nos indican que debemos evitar usar constantes en las fórmulas. En este caso podemos superar el problema usando la función COINCIDIR para crear una referencia dinámica.

Esto lo podemos hacer usando COINCIDIR junto con BUSCARV o, mejor en mi opinión, con INDICE.

Con BUSCARV usamos

=BUSCARV(F2;$A$2:$C$5;COINCIDIR(G$1;$A$1:$C$1;0);0)



con INDICE la fórmula es más corta

=INDICE($C$2:$C$5;COINCIDIR(F2;$A$2:$A$5;0))


Como Excel adapta los rangos dinámicamente al insertar, eliminar o mover filas y columnas, estas fórmulas mantienen siempre la referencia exacta y evitan errores inadvertidos.

Nótese que con la combinación de BUSCARV y COINCIDIR en nuestro ejemplo, podemos cambiar el data extraído con solo cambiar el texto en la celda G1.

7 comments:

elmundodelennon 20 mayo, 2013 21:55  

Tambien es muy util cuando lo que buscas esta en tablas dinámicas, que al actualizarlas modifican la ubicación de sus celdas. Muy útil este tip. Saludos.

Rubén López 21 mayo, 2013 11:50  

Interesante observación que tendré en cuenta para próximas búsquedas en tablas. (Entiendo que el primer parámetro de COINCIDIR en la fórmula con INDICE se refiere a F2 y no A2)

Jorge Dunkelman 21 mayo, 2013 16:20  

Rubén, efectivamente. Gracias por la observación (será corregido).

Miguel Raul Spindiak,  22 mayo, 2013 00:33  

Jorge: en el ejemplo que distes (y siguiendo tus observaciones sobre el uso de nombres en Excel), si le damos nombre a la tabla (ej. "Tabla") y si le asignamos en forma automática los nombres a las columnas de esta tabla, tendríamos la siguiente función:
BUSCARV(F2;tabla;COLUMNA(Teléfono);0)que es clara y autodocumentativa, y se conserva aunque agreguemos o quitemos columnas.

Es cierto que cada vez que haya una modificación de columnas, deberíamos repetir la operación de nombrar, pero es una tarea que es sencilla.

Estoy esperando tu nota de Normas de Diseño en Excel. Creo que es fundamental para todos y que cambiaría radicalmente la forma de trabajar de muchos, ahorrándonos tiempo, esfuerzo y sobre todo tener espacios pulcros y ordenados, donde como en la arquitectura, cuando una casa está bien diseñada, los resultados de las modificaciones guardan armonía y belleza.

Muchas gracias. Miguel.

Unknown 27 mayo, 2013 03:48  

Muy buen tip, gracias a todos, a quien sostiene el blog y los que aportan con sus comentarios.

Saludos,

Anónimo,  26 noviembre, 2013 18:40  

Muchas gracias, muy buena observación

Desde

México D.F.

Publicar un comentario

Google+ Followers

Seguidores

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP