En Excel Clásico disponemos de la función SI donde separamos las condiciones con comas y podemos anidar hasta 64 condiciones (aunque como ya he señalado es preferible usar BUSCARV en lugar de complicarnos la vida, que bastante complicada es aún sin nuestra colaboración).
En Power Query, como era de esperar, podemos usar la interfaz de usuario para escribir fórmulas condicionales
pero en ciertos casos no podemos apoyarnos en la interfaz y tendremos que escribir la fórmula por nuestros propios medios.
En este post voy a mostrar las dos posibilidades.
Supongamos que queremos calcular las comisiones de los vendedores que aparecen en la tabla. El porcentaje depende del total de las ventas de cada uno. La comisión es el 5% si el total de ventas es mayor a 50 mil y menor de 100 mil (pesos, euros, dólares, la moneda no importa para el ejemplo); 7.5% si el monto supera los 100 mil y sin comisión si las ventas son inferiores a los 50 mil.
A partir de la base de datos hemos creado una consulta con el total de ventas por vendedor.
Cálculo usando solamente de interfaz de usuario.
Abrimos la opción Columna Condicional
En Nombre de columna seleccionamos la columna a evaluar. En Operador elegimos entre las distintas posibilidades (igual a, mayor que, etc.). En valor establecemos el criterio (aquí podemos elegir una columna de la tabla o poner una constante). En la casilla Salida (¿por qué "Salida"?, tendría que ser "Resultado") ponemos el resultado si se cumple la condición.
Ahora tenemos una columna con los porcentajes que podemos multiplicar por las ventas para obtener las comisiones de cada vendedor. Seleccionamos ambas columnas y en Agregar columna usamos Estándar-Multiplicar
Todo lo que nos queda por hacer es cambiar el encabezamiento de la nueva columna a "Comisión".
Introduciendo manualmente las fórmulas.
Algunos de nis suspicaces lectores se estarán preguntando: ¿por qué no ahorrarnos un paso y hacer el cálculo de la comisión directamente en la interfaz? Estaríamos tentados a hacer los siguiente
es decir, hacer la multiplicación en la casilla Salida. El problema es que no se puede. Si bien Power Query aceptará la "fórmula", de hecho la interpretará como texto
Para ahorrarnos el paso tendremos que escribir la fórmula condicional por nuestros propios medios usando Agregar Columna-Columna Personalizada
Nótese que usamos if, else if, else, en inglés y en minúsculas. Además podemos agregar líneas en el editor de las fórmulas para facilitar la lectura y el control, como también agregar sangría (indentation). Obtenemos el mismo resultado, obviamente, como en el caso anterior
Muchas gracias maestro, me ha surgido la duda de si se puede hacer lo mismo utilizando select case en caso de que cada vendedor tuviera tramos diferentes de comisión. He investigado por internet y no he visto esta opción.
ResponderBorrarSi, se puede. Irá un post sobre el tema.
BorrarMuchas gracias, lo acabo de leer. Como siempre me deja fascinado tus conocimientos de excel.
BorrarMuy agradecido puesto que tenia este situación en mi empresa y lo quería hacer también con powerquery en vez de con formulas. saludos
Excelente ejercicio maestro Jorge.
ResponderBorrarBuenas noches
ResponderBorrarQuisiera saber como usar contara con power querry, te lo agradeceria
Hay varias formas de hacerlo dependiendo del contexto. Lo más directo, es decir usando solamente la interfaz de usuario, es usar "Agrupar por".
Borrar