jueves, marzo 23, 2006

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

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: ,


13 comentarios:

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

    ResponderBorrar
  2. 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

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

    ResponderBorrar
  4. 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

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

    ResponderBorrar
  6. 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 ... :)

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

    ResponderBorrar
  8. 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

    ResponderBorrar
  9. Puedes mandarme un ejemplo del caso vía mail

    ResponderBorrar
  10. 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

    ResponderBorrar
  11. 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).

    ResponderBorrar
  12. 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.

    ResponderBorrar
  13. 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).

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.