Utilizar BUSCARV (Vlookup) en lugar de combinaciones de SI (nested IF functions)

jueves, marzo 23, 2006

For the English version of this post, press here.

Ya he mencionado a mi abuelita y su inagotable fuente de saber (aquello de "si los atajos fueran buenos, no existirían caminos"). Decíamos esto en relación a buscar atajos al construir fórmulas en Excel. EL caso clásico es combinar varias funciones SI (IF en la versión inglesa) para resolver casos de varias condiciones. En esa entrada había sugerido que a veces es posible usar ELEGIR (Choose) en lugar de combinaciones de SI (If).
Ayer tuve oportunidad de ver otro caso de fórmulas innecesariamente complicadas. Claro, que mi abuelita diría a esto: "para pensar en forma sencilla hay que ser extremadamente sofisticado".
Aquí les muestro el caso. En uno de los departamentos de mi empresa decidieron poner en marcha un plan de aumentos salariales basados en la antigüedad el empleado (déjenme decirles que somos socialistas, ya que soy miembro de un
kibbutz).
La idea es dar un aumento de acuerdo a esta tabla






El director del departamento de recursos humanos pidió ver una lista de quien recibiría qué aumento, así que el encargado del departamento preparó esta hoja en Excel



Para calcular los porcentajes de aumentos utilizó esta fórmula:

=SI(C2<2,0%,si(y(c2>=2,C2<5),2%,si(y(c2>=5,C2<10),4%,6%)))

Como pueden ver hay aquí 3 funciones SI combinadas (de acuerdo al principio: cantidad de casos menos 1).

Una forma más sencilla es utilizar BUSCARV, para lo cual todo lo que tenemos que hacer es rescribir un poco la tabla de aumentos



Luego usamos la función BUSCARV, con el argumento "ordenado" (el cuarto argumento de la función) en blanco (o con valor VERDADERO).



Ordenado es un valor lógico que especifica si BUSCARV debe localizar una coincidencia exacta o aproximada. Si se omite o es VERDADERO, devolverá una coincidencia aproximada. En otras palabras, si no localiza ninguna coincidencia exacta, devolverá el siguiente valor más alto inferior a valor_buscado.

De esta manera la fórmula será la siguiente: =BUSCARV(C2,$D$16:$E$20,2)
Como pueden ver más sencilla y concisa. Los resultados, por supuesto, son los mismos


Para calcular la antigüedad de cada empleado usamos la función SIFECHA (DATEDIF en la versión inglesa)



Pueden descargar el cuaderno con el ejemplo aquí.


Categorías: Funciones&Formulas_


Technorati Tags: ,


14 comments:

Manuel Alejandro 24 mayo, 2006 21:49  

todo bien, pero no se puede ver o descargar el cuaderno..

Jorge L. Dunkelman 24 mayo, 2006 22:46  

Hola, eso me pasa por usar servicios gratis. Acabo de actualizar el enlace en la entrada. Tambien podes descargar el archivo aqui

Anónimo,  11 enero, 2007 20:55  

Hola como estas? he estado buscando ayuda con Vlookup, pues tengo un archivo del que necesito hacer vlookup pero a varias hojas, (una hoja por cada proyecto) y no encuento como redactar la formula ser la formula podrias ayudarme?


Te agradezco de antemano, Saludos

Hector Villarreal

Jorge L. Dunkelman 11 enero, 2007 23:12  

Te sugiero que me mandes el cuaderno por mal así puedo hacerme una idea más precisa del problema

Anónimo,  04 abril, 2007 17:31  

buenas me llamo juan; y tengo un nivel muy basico en excel, en estos momentos tengo un problema, nesecito condicionar una celda a otra es decir tengo en una colunmna Fases y otra Actividad; las he relacionada que cuando de la lista desplegable de fase ejemplo Diseño a la columna actividad se condicione solo la actividad correspondiente a diseño; hasta ahi todo bien; pero solo me deja incluir 9 fases como hago para incluir mas con sus actividades muchas gracias

Jorge L. Dunkelman 04 abril, 2007 21:34  

Hola, no se si termino de entender el problema, pero para listas desplegables dependientes te sugiero leer mi nota sobre el tema

Anónimo,  30 agosto, 2007 14:20  

Hola Jorge,
La verdad me había hecho ilusión encontrar la fórmula para calcular la antiguedad, pero cuando la aplico, el número resultante es incorrecto. La fórmmula no demasiado exacta que me ha funcionado, para calcular la antiguedad entre fecha de ingreso en la compañía y hoy es la siguiente:
=ENTERO((HOY()-J8)/365)
Siendo J8 la fecha de incorporación a la compañía,
¿es correcto?
Saludos,
María,
Por cierto, muy útil tu blog, buenos consejos para superar la pelea diaria con el excel ... :)

Jorge L. Dunkelman 30 agosto, 2007 21:45  

Hola María
el tema está tratado en esta nota sobre uso de la función SIFECHA

Anónimo,  21 junio, 2008 23:11  

Hola Jorge

Muy buena tu ayuda para excel
en realidad tengo algunas dudas
en cuanto a utilizar varias funciones en el IF, en donde
pueda utilizar el AND o el Or
podrias ayudarme
Gracias

Jorge L. Dunkelman 22 junio, 2008 18:13  

Puedes mandarme un ejemplo del caso vía mail

jerry 10 febrero, 2009 01:03  

hola que tal tengo muchas dudas no se como utilizar un vlookup y las tablas dinamicas se me complica ademas de que mi maquina todo esta en ingles podre cambiarle el idioma a español?

gracias

Jorge L. Dunkelman 10 febrero, 2009 13:56  

No tienes que cambiar el idioma de la máquina, sino agregar el castellano. En cuanto a Excel, tienes que conseguir el paquete de idiomas (Language Package) de Office 2003 e instalarlo. Este te permite cambiar la interfaz del Office a otro idioma (incluido los nombres de las funciones en Excel y la ayuda).

Anónimo,  28 diciembre, 2010 21:03  

Hola, enhorabuena por la página. Haces un gran trabajo.
Yo también soy muy nuevo en el mundo del excel y a la mínima me atasco. A ver si me podeis ayudar con el siguiente caso:
Tengo una serie de nombres de proyectos y cada uno tiene su código. Lo que quiero es que al elegir un proyecto en una casilla, en la de al lado me de automáticamente el código.

Para empezar he hecho dos listas: una columna con los nombres de proyecto y otra con sus códigos. En la celda donde quiero meter el nombre del proyecto lo he hecho mediante desplegable con validación de datos. Y en la contigua es donde quiero que en función del nombre elegido me de un nombre u otro.
No se con que función se hace. Lo he intentado con BUSCARV pero no me sale. ¿Cual sería la forma más sencilla de hacerlo?
Un saludo, gracias.

Jorge L. Dunkelman 01 enero, 2011 09:47  

Lo más sencillo es tal como lo describes. Puedes mandarme el cuaderno para que vea donde está el problema (fijate en el enlace Ayuda).

Publicar un comentario

Seguidores

Google+ Followers

Google+ Badge

Términos Legales

  © Blogger template On The Road by Ourblogtemplates.com 2009

Back to TOP