Consulta de Potencia: Sentencia IF - ifs anidados y múltiples condiciones
En Excel Power Query, la sentencia IF es una de las funciones más populares para verificar una condición y devolver un valor específico dependiendo de si el resultado es VERDADERO o FALSO. Hay algunas diferencias entre esta sentencia IF y la función SI de Excel. En este tutorial, presentaré la sintaxis de esta sentencia IF y algunos ejemplos simples y complejos para ti.
Sintaxis básica de la sentencia IF en Power Query
Sentencia IF en Power Query usando una columna condicional
Sentencia IF en Power Query escribiendo el código M
Sintaxis básica de la sentencia IF en Power Query
En Power Query, la sintaxis es:
- prueba_lógica: La condición que deseas evaluar.
- valor_si_verdadero: El valor a devolver si el resultado es VERDADERO.
- valor_si_falso: El valor a devolver si el resultado es FALSO.
En Excel Power Query, hay dos formas de crear este tipo de lógica condicional:
- Usando la característica de Columna Condicional para algunos escenarios básicos;
- Escribiendo código M para escenarios más avanzados.
En la siguiente sección, hablaré sobre algunos ejemplos del uso de esta sentencia IF.
Sentencia IF en Power Query usando una columna condicional
Ejemplo 1: Sentencia IF básica
Aquí, te mostraré cómo usar esta sentencia IF en Power Query. Por ejemplo, tengo el siguiente informe de productos, si el estado del producto es Antiguo, mostrar un descuento del 50%; si el estado del producto es Nuevo, mostrar un descuento del 20%, como se muestra en las capturas de pantalla a continuación.
1. Selecciona la tabla de datos de la hoja de cálculo, luego, en Excel 2019 y Excel 365, haz clic en Datos > Desde Tabla/Rango, ver captura de pantalla:
Nota: En Excel 2016 y Excel 2021, haz clic en Datos > Desde Tabla, ver captura de pantalla:
2. Luego, en la ventana abierta del Editor de Power Query, haz clic en Agregar Columna > Columna Condicional, ver captura de pantalla:
3. En el cuadro de diálogo Añadir Columna Condicional emergente, realiza las siguientes operaciones:
- Nombre de Nueva Columna: Ingresa un nombre para la nueva columna;
- Luego, especifica los criterios que necesitas. Por ejemplo, especificaré Si Estado es igual a Antiguo entonces 50% sino 20%;
- Nombre de la Columna: La columna contra la cual evaluar tu condición IF. Aquí, selecciono Estado.
- Operador: Lógica condicional a utilizar. Las opciones variarán dependiendo del tipo de datos del Nombre de la Columna seleccionada.
- Texto: comienza con, no comienza con, igual a, contiene, etc.
- Números: igual a, no igual a, mayor o igual que, etc.
- Fecha: antes de, después de, igual a, no igual a, etc.
- Valor: El valor específico con el que comparar tu evaluación. Junto con el Nombre de la Columna y el Operador conforman una condición.
- Salida: El valor a devolver si se cumple la condición.
- Sino: Otro valor a devolver cuando la condición es falsa.
4. Luego, haz clic en el botón Aceptar para regresar a la ventana del Editor de Power Query. Ahora, se ha añadido una nueva columna Descuento, ver captura de pantalla:
5. Si deseas formatear los números como porcentaje, simplemente haz clic en el ícono ABC123 desde el encabezado de la columna Descuento, y elige Porcentaje según sea necesario, ver captura de pantalla:
6. Finalmente, haz clic en Inicio > Cerrar y Cargar > Cerrar y Cargar para cargar estos datos en una nueva hoja de cálculo.
Ejemplo 2: Sentencia IF compleja
Con esta opción de Columna Condicional, también puedes insertar dos o más condiciones en el cuadro de diálogo Añadir Columna Condicional. Haz lo siguiente:
1. Selecciona la tabla de datos, y ve a la ventana del Editor de Power Query haciendo clic en Datos > Desde Tabla/Rango. En la nueva ventana, haz clic en Agregar Columna > Columna Condicional.
2. En el cuadro de diálogo Añadir Columna Condicional emergente, realiza las siguientes operaciones:
- Ingresa un nombre para la nueva columna en el cuadro de texto Nombre de nueva columna;
- Especifica el primer criterio en el primer campo de criterios, y luego haz clic en el botón Añadir Cláusula para añadir otros campos de criterios según sea necesario.
3. Después de terminar los criterios, haz clic en el botón Aceptar para regresar a la ventana del Editor de Power Query. Ahora, obtendrás una nueva columna con el resultado correspondiente que necesitas. Ver captura de pantalla:
4. Por último, haz clic en Inicio > Cerrar y Cargar > Cerrar y Cargar para cargar estos datos en una nueva hoja de cálculo.
Sentencia IF en Power Query escribiendo el código M
Normalmente, la Columna Condicional es útil para algunos escenarios básicos. A veces, puede que necesites usar múltiples condiciones con lógica AND u OR. En este caso, debes escribir código M dentro de una Columna Personalizada para escenarios más complejos.
Ejemplo 1: Sentencia IF básica
Tomemos los primeros datos como ejemplo, si el estado del producto es Antiguo, mostrar un descuento del 50%; si el estado del producto es Nuevo, mostrar un descuento del 20%. Para escribir el código M, haz lo siguiente:
1. Selecciona la tabla, y haz clic en Datos > Desde Tabla/Rango para ir a la ventana del Editor de Power Query.
2. En la ventana abierta, haz clic en Agregar Columna > Columna Personalizada, ver captura de pantalla:
3. En el cuadro de diálogo Columna Personalizada emergente, realiza las siguientes operaciones:
- Ingresa un nombre para la nueva columna en el cuadro de texto Nombre de nueva columna;
- Luego, introduce esta fórmula: if [Estado] = "Antiguo " then "50% " else "20% " en el cuadro de fórmula columna personalizada.
4. Luego, haz clic en Aceptar para cerrar este cuadro de diálogo. Ahora, obtendrás el siguiente resultado según sea necesario:
5. Por último, haz clic en Inicio > Cerrar y Cargar > Cerrar y Cargar para cargar estos datos en una nueva hoja de cálculo.
Ejemplo 2: Sentencia IF compleja
Por lo general, para probar subcondiciones, puedes anidar múltiples sentencias IF. Por ejemplo, tengo la siguiente tabla de datos. Si el producto es “Vestido”, dar un descuento del 50% sobre el precio original; si el producto es “Suéter” o “Sudadera”, dar un descuento del 20% sobre el precio original; y otros productos mantienen el precio original.
1. Selecciona la tabla de datos, y haz clic en Datos > Desde Tabla/Rango para ir a la ventana del Editor de Power Query.
2. En la ventana abierta, haz clic en Agregar Columna > Columna Personalizada. En el cuadro de diálogo Columna Personalizada abierto, realiza las siguientes operaciones:
- Ingresa un nombre para la nueva columna en el cuadro de texto Nombre de nueva columna;
- Luego, introduce la siguiente fórmula en el cuadro de fórmula de columna personalizada.
- = if [Producto] = "Vestido" then [Precio] * 0.5 else
if [Producto] = "Suéter" then [Precio] * 0.8 else
if [Producto] = "Sudadera" then [Precio] * 0.8
else [Precio]
3. Y luego, haz clic en el botón Aceptar para regresar a la ventana del Editor de Power Query, y obtendrás una nueva columna con los datos que necesitas, ver captura de pantalla:
4. Por último, haz clic en Inicio > Cerrar y Cargar > Cerrar y Cargar para cargar estos datos en una nueva hoja de cálculo.
La lógica OR realiza múltiples pruebas lógicas, y el resultado verdadero se devolverá si cualquiera de las pruebas lógicas es verdadera. La sintaxis es:
Supongamos que tengo la siguiente tabla, ahora quiero que una nueva columna muestre: si el producto es “Vestido” o “Camiseta”, entonces la marca es “AAA”, la marca de otros productos es “BBB”.
1. Selecciona la tabla de datos, y haz clic en Datos > Desde Tabla/Rango para ir a la ventana del Editor de Power Query.
2. En la ventana abierta, haz clic en Agregar Columna > Columna Personalizada, en el cuadro de diálogo Columna Personalizada abierto, realiza las siguientes operaciones:
- Ingresa un nombre para la nueva columna en el cuadro de texto Nombre de nueva columna;
- Luego, introduce la siguiente fórmula en el cuadro de fórmula de columna personalizada.
- = if [Producto] = "Vestido" or [Producto] = "Camiseta" then "AAA"
else "BBB"
3. Y luego, haz clic en el botón Aceptar para regresar a la ventana del Editor de Power Query, y obtendrás una nueva columna con los datos que necesitas, ver captura de pantalla:
4. Finalmente, haz clic en Inicio > Cerrar y Cargar > Cerrar y Cargar para cargar estos datos en una nueva hoja de cálculo.
La lógica AND realiza múltiples pruebas lógicas dentro de una sola sentencia IF. Todas las pruebas deben ser verdaderas para que se devuelva el resultado verdadero. Si alguna de las pruebas es falsa, se devuelve el resultado falso. La sintaxis es:
Tomemos los datos anteriores como ejemplo. Quiero que una nueva columna muestre: si el producto es “Vestido” y el pedido es mayor que 300, entonces aplica un descuento del 50% al precio original; de lo contrario, mantener el precio original.
1. Selecciona la tabla de datos, y haz clic en Datos > Desde Tabla/Rango para ir a la ventana del Editor de Power Query.
2. En la ventana abierta, haz clic en Agregar Columna > Columna Personalizada. En el cuadro de diálogo Columna Personalizada abierto, realiza las siguientes operaciones:
- Ingresa un nombre para la nueva columna en el cuadro de texto Nombre de nueva columna;
- Luego, introduce la siguiente fórmula en el cuadro de fórmula de columna personalizada.
- = if [Producto] ="Vestido" and [Pedido] > 300 then [Precio]*0.5
else [Precio]
3. Luego, haz clic en el botón Aceptar para regresar a la ventana del Editor de Power Query, y obtendrás una nueva columna con los datos que necesitas, ver captura de pantalla:
4. Finalmente, deberías cargar estos datos en una nueva hoja de cálculo haciendo clic en Inicio > Cerrar y Cargar > Cerrar y Cargar.
Sentencia IF con lógicas OR y AND
Muy bien, los ejemplos anteriores son fáciles de entender para nosotros. Ahora, hagámoslo más difícil. Puedes combinar AND y OR para formar cualquier condición que puedas imaginar. En este tipo, puedes usar paréntesis en la fórmula para definir reglas complejas.
Tomemos los datos anteriores como ejemplo también, supongamos que quiero que una nueva columna muestre: si el producto es “Vestido” y su pedido es mayor que 300, o el producto es “Pantalones” y su pedido es mayor que 300, entonces muestra “A+”, de lo contrario, muestra “Otro”.
1. Selecciona la tabla de datos, y haz clic en Datos > Desde Tabla/Rango para ir a la ventana del Editor de Power Query.
2. En la ventana abierta, haz clic en Agregar Columna > Columna Personalizada. En el cuadro de diálogo Columna Personalizada abierto, realiza las siguientes operaciones:
- Ingresa un nombre para la nueva columna en el cuadro de texto Nombre de nueva columna;
- Luego, introduce la siguiente fórmula en el cuadro de fórmula de columna personalizada.
- =if ([Producto] = "Vestido" and [Pedido] > 300 ) or
([Producto] = "Pantalones" and [Pedido] > 300 )
then "A+"
else "Otro"
3. Luego, haz clic en el botón Aceptar para regresar a la ventana del Editor de Power Query, y obtendrás una nueva columna con los datos que necesitas, ver captura de pantalla:
4. Finalmente, deberías cargar estos datos en una nueva hoja de cálculo haciendo clic en Inicio > Cerrar y Cargar > Cerrar y Cargar.
En el cuadro de fórmula de columna personalizada, puedes usar los siguientes operadores lógicos:
- = : Igual a
- <> : No igual a
- > : Mayor que
- >= : Mayor o igual que
- < : Menor que
- <= : Menor o igual que
Las mejores herramientas de productividad para Office
Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...
Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
- ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!