sábado, 2 de febrero de 2008

Excel: Doble BUSCARV()

La función
=BUSCARV(valor_buscado;matriz_buscar_en;indicador_columnas;ordenado) busca un valor específico en la primera columna de una tabla (matriz) y devuelve, en la misma fila, un valor de otra columna de la misma matriz. La V significa vertical.

En el ejemplo queremos saber cual es el precio del producto en función del mes. Si tan sólo tuvieramos un mes, por ejemplo enero, una sóla función =BUSCARV() sería suficiente:



=BUSCARV(A2;$E$22:$F$26;2;0)




Pero en este caso tenemos tres meses, con lo que la función anterior no es suficiente. Recurrimos a utilizar la función =BUSCARV() dos veces. así podremos saber el precio del producto en función del mes.

Creamos las siguientes dos tablas, precios y meses:


y escribimos la siguiente fórmula:

=BUSCARV(A2;$E$22:$H$26;BUSCARV(B2;$A$29:$B$31;2)+1;0)

que nos dará el precio del producto en función del mes.

Una explicación de esta fórmula es la que sigue:

Lo que tenemos es una función Buscarv() con otra ingresada en su tercer argumento, que es el indicador de columnas. Ahora el valor buscado depende del mes, y el mes cambia.

Queremos saber el precio (matriz E22:H26) del producto (columna A) en función del mes (matriz A29:B31)

=BUSCARV(Gasolina;MATRIZ PRECIO; Indicador de columna; ordenado)

Y el indicador de columna es la matriz meses. =BUSCARV(MES DE SUMINISTRO;MATRIZ MESES;COLUMNA EN LA QUE BUSCAR). Al estar ya ordenada podemos omitir el cuarto parámetro.
Y a este resultado le sumamos 1 porque la busqueda en la matriz precios se inicia en la segunda columna y no en la primera.

La plantilla fue sacada y modificada del siguiente enlace :www.excelavanzado.com