martes, 10 de enero de 2012

La función de Excel BUSCAR.

Responderé hoy a la cuetión planteada por un lector a través de los comentarios del blog. Me parece interesante por aprender a usar una función de Excel algo olvidada, pero muy práctica; hablo de la función BUSCAR en su forma vectorial.
La cuestión dice:

...Tengo las columnas A (con porcentajes: 1.00, 1.20, 1.40, 1.60, 1.80, 2.00), B (con valores: 500, 1000, 2000, 3000, 4000, 5000) y C (con valores 999, 1999, 2999, 3999, 4999, 5999). Los datos empiezan desde la fila 5.
Cuando en la celda D1 tenga un valor entre 501 y 998, que ese valor se multiplique por 1% y el resultado lo coloque en la celda F1
Cuando el valor de D1 esté en el Segundo rango, o sea entre 1000 y 1999, que lo multiplique por 1.20% y el resultado igualmente lo coloque en F1
Y así sucesivamente cuando el valor de D1 vaya cambiando, lo multiplique por los porcentajes de la columna A y los resultados se vayan actualizando en la celda F1...


Empezaremos viendo cuál es la estructura de nuestra función BUSCAR vectorial:
=BUSCAR(valor_buscado; vector_comparación; [vector_resultado])
Esta función BUSCAR en su formato vectorial realiza la búsqueda un valor en un rango de una columna o una fila (denominado vector) y devuelve un valor desde la misma posición en un segundo rango de una columna o una fila. El uso de esta función está pensado para cuando deseemos especificar un rango que incluya los valores que desea buscar.
Como precaución debemos saber que los valores del argumento vector_comparación se deben colocar en orden ascendente, ya que de lo contrario, la función BUSCAR podría devolver un valor incorrecto. Además, si la función BUSCAR no puede encontrar el valor_buscado, la función muestra el valor más grande en vector_comparación que es menor o igual al valor_buscado.

Trabajemos sobre el ejemplo planteado por el lector:

La función de Excel BUSCAR.


Vemos que verificamos las condición para el uso de BUSCAR, ya que el vector_comparación, esto es, el rango de celdas B2:B7 está ordenado en sentido ascendente (de menor a mayor); aunque es preciso tener presente, de acuerdo a las especificaciones de la función de Excel, que para valores buscados inferiores al menor de los importes del rango o vector de comparación la función devolverá un error #N/A
Conociendo la sintáxis de la función y las características de esta, en F1 podremos escribir la función:
=BUSCAR(D1;$B$2:$B$7;$A$2:$A$7)
con lo que conseguiremos nuestro objetivo, para valores buscados dentro del rango del vector de comparación, obtendremos su equivalencia en el vector o rango de resultados, para nosotros el porcentaje... como podíamos ver en la imagen anterior.
Ojo con los valores buscados por encima o debajo de los máximos o mínimos del rango de comparación, ya que la función BUSCAR podría devolver datos incorrectos.

Esta función es replicable mediante el uso de las funciones INDICE y COINCIDIR, dos viejas conocidas. Podríamos haber introducido la siguiente fórmula con igual resultado:
=INDICE($A$2:$A$7;COINCIDIR($D$1;$B$2:$B$7;1))

No hay comentarios:

Publicar un comentario en la entrada