Power Query: instrução if – ifs aninhados e múltiplas condições
No Power Query do Excel, a instrução IF é uma das funções mais populares para verificar uma condição e devolver um valor específico consoante o resultado seja VERDADEIRO ou FALSO. Apesar de semelhante, apresenta algumas diferenças em relação à função SE do Excel. Neste tutorial, mostramos a sintaxe da instrução IF e ilustramo-la com exemplos simples e avançados.
Sintaxe básica da instrução if no Power Query
Instrução if do Power Query utilizando uma coluna condicional
Instrução if do Power Query escrevendo o código M
Sintaxe básica da instrução if no Power Query
No Power Query, a sintaxe é:
- teste_lógico: A condição que pretende avaliar.
- valor_se_verdadeiro: O valor a devolver se o resultado for VERDADEIRO.
- valor_se_falso: O valor a devolver se o resultado for FALSO.
No Power Query do Excel, existem duas formas de criar este tipo de lógica condicional:
- Utilizar a funcionalidade Coluna Condicional em cenários básicos;
- Escreva código M para cenários mais avançados.
Na secção seguinte, apresentarei alguns exemplos de utilização desta instrução if.
Instrução if do Power Query utilizando uma coluna condicional
Exemplo 1: Instrução if básica
Aqui explico como utilizar esta instrução **if** no Power Query. Por exemplo, tenho o seguinte relatório de produtos: se o estado do produto for **Antigo**, aplica-se um desconto de **50 %**; se for **Novo**, aplica-se um desconto de **20 %**, conforme ilustrado nas imagens abaixo.

1. Selecione a tabela de dados na folha de cálculo e, no Excel 2019 e Excel 365, clique em Dados > A partir da Tabela/Intervalo. Veja a imagem:

Nota: No Excel 2016 e Excel 2021, clique em Dados>A partir da Tabela, veja a imagem:

2. Depois, na janela aberta do Editor do Power Query, clique em Adicionar Coluna > Coluna Condicional. Veja a imagem:

3. Na caixa de diálogo exibida Adicionar Coluna Condicional, realize as seguintes operações:
- Novo Nome da Coluna: Introduza um nome para a nova coluna;
- Depois, especifique os critérios necessários. Por exemplo, especificarei Se Estado for igual a Antigo, então 50 %, senão 20 %;
- Nome da Coluna: A coluna em que vai avaliar a sua condição if. Aqui, selecione Estado.
- Operador: Lógica condicional a utilizar. As opções variam conforme o tipo de dados da coluna selecionada.
- Texto: começa por, não começa por, é igual a, contém, etc.
- Números: igual a, diferente de, maior ou igual a, etc.
- Data: é anterior a, posterior a, igual a, diferente de, etc.
- Valor: O valor específico com o qual comparar a sua avaliação. Em conjunto com o nome da coluna e o operador, forma uma condição.
- Resultado: O valor a devolver caso a condição seja cumprida.
- Senão: outro valor a devolver quando a condição é falsa.

4. Depois, clique no botão OK para regressar à janela do Editor do Power Query. Agora, foi adicionada uma nova coluna de Desconto. Veja a imagem:

5. Se pretender formatar os números como percentagem, basta clicar no ícone ABC123 no cabeçalho da coluna de Desconto e escolher Percentagem, conforme necessário. Veja a imagem:

6. Finalmente, clique em Base > Fechar e Carregar > Fechar e Carregar para carregar estes dados numa nova folha de cálculo.

Exemplo 2: Instrução if complexa
Com a opção Coluna Condicional, pode ainda inserir duas ou mais condições na caixa de diálogo Adicionar Coluna Condicional. Siga os passos abaixo:
1. Selecione a tabela de dados e aceda à janela do Editor do Power Query clicando em Dados > A partir da Tabela/Intervalo. Na nova janela, clique em Adicionar Coluna > Coluna Condicional.
2. Na caixa de diálogo exibida Adicionar Coluna Condicional, realize as seguintes operações:
- Introduza um nome para a nova coluna na caixa de texto Novo nome da coluna;
- Especifique o primeiro critério no primeiro campo de critérios e, em seguida, clique no botão Adicionar Cláusula para adicionar outros campos de critérios conforme necessário.

3. Após concluir os critérios, clique no botão OK para regressar à janela do Power Query Editor. Agora, obterá uma nova coluna com o resultado correspondente de que necessita. Veja a captura de ecrã:

4. Por fim, clique em Base > Fechar e Carregar > Fechar e Carregar para carregar estes dados numa nova planilha.
Instrução if do Power Query escrevendo o código M
Normalmente, a Coluna Condicional é útil em cenários básicos. Porém, se precisar de aplicar múltiplas condições com lógica E ou OU, terá de recorrer a código M numa Coluna Personalizada para lidar com situações mais complexas.
Exemplo 1: Instrução if básica
Tomando os primeiros dados como exemplo, se o estado do produto for Antigo, apresente um desconto de 50 %; se o estado do produto for Novo, apresente um desconto de 20 %. Para escrever o código M, proceda da seguinte forma:
1. Selecione a tabela e clique em Dados > Da Tabela/Intervalo para aceder à janela do Power Query Editor.
2. Na janela aberta, clique em Adicionar Coluna > Coluna Personalizada. Veja a captura de ecrã:

3. Na caixa de diálogo Coluna Personalizada que surge, realize as seguintes operações:
- Introduza um nome para a nova coluna na caixa de texto Novo nome da coluna;
- Depois, introduza esta fórmula: se [Estado] = «Antigo» então "50 %" senão "20 %" na caixa de Coluna personalizada fórmula.

4. Em seguida, clique em OK para fechar esta caixa de diálogo. Agora, obterá o seguinte resultado pretendido:

5. Por fim, clique em Base > Fechar e Carregar > Fechar e Carregar para carregar estes dados numa nova planilha.
Exemplo 2: Instrução if complexa
Normalmente, para testar subcondições, pode aninhar múltiplas instruções if. Por exemplo, tenho a seguinte tabela de dados. Se o produto for “Vestido”, aplicar um desconto de 50 % ao preço original; se o produto for “Camisola” ou “Moletom”, aplicar um desconto de 20 % ao preço original; e os restantes produtos mantêm o preço original.

1. Selecione a tabela de dados e clique em Dados > Da Tabela/Intervalo para aceder à janela do Power Query Editor.
2. Na janela aberta, clique em Adicionar Coluna > Coluna Personalizada. Na caixa de diálogo Coluna Personalizada que surge, realize as seguintes operações:
- Introduza um nome para a nova coluna na caixa de texto Novo nome da coluna;
- Depois, introduza a fórmula abaixo na caixa de Coluna personalizada fórmula.
- = se [Produto] = «Vestido» então [Preço] * 0,5 senão
se [Produto] = «Camisola» então [Preço] * 0,8 senão
se [Produto] = «Moletom» então [Preço] * 0,8
senão [Preço]

3. Em seguida, clique no botão OK para regressar à janela do Power Query Editor e obterá uma nova coluna com os dados pretendidos. Veja a captura de ecrã:

4Por fim, clique em Base>Fechar e Carregar>Fechar e Carregarpara carregar estes dados numa nova planilha.
A função OU realiza vários testes lógicos e devolve VERDADEIRO se pelo menos um dos testes for verdadeiro. A sintaxe é:
Suponhamos que tenho a tabela abaixo. Pretendo que uma nova coluna apresente: se o produto for “Vestido” ou “T-shirt”, então a marca é “AAA”; a marca dos restantes produtos é “BBB”.

1. Selecione a tabela de dados e clique em Dados > Da Tabela/Intervalo para aceder à janela do Power Query Editor.
2Na janela aberta, clique em Adicionar Coluna>Coluna Personalizada. Na caixa de diálogo Coluna Personalizadaque surge, realize as seguintes operações:
- Introduza um nome para a nova coluna na caixa de texto Novo nome da coluna;
- Depois, introduza a fórmula abaixo na caixa da fórmula de coluna personalizada.
- = se [Produto] = "Vestido" ou [Produto] = "T-shirt" então "AAA"
senão «BBB»

3. Em seguida, clique no botão OK para regressar à janela do Power Query Editor e obterá uma nova coluna com os dados pretendidos. Veja a captura de ecrã:

4. Finalmente, clique em Base > Fechar e Carregar > Fechar e Carregar para carregar estes dados numa nova planilha.
A lógica E realiza múltiplos testes lógicos dentro de uma única instrução if. Todos os testes têm de ser verdadeiros para que seja devolvido um resultado verdadeiro. Se algum dos testes for falso, é devolvido um resultado falso. A sintaxe é:
Com base nos dados anteriores, pretendo uma nova coluna que apresente o seguinte: se o produto for “Vestido” e a encomenda for superior a 300, aplicar um desconto de 50 % ao preço original; caso contrário, manter o preço original.
1. Selecione a tabela de dados e clique em Dados>Da Tabela/Intervalopara aceder à Power Query Editorjanela.
2. Na janela aberta, clique em Adicionar Coluna > Coluna Personalizada. Na caixa de diálogo Coluna Personalizada que surge, realize as seguintes operações:
- Introduza um nome para a nova coluna na caixa de texto Novo nome da coluna;
- Depois, introduza a fórmula abaixo na caixa de fórmula de coluna personalizada.
- = se [Produto] =«Vestido» e [Encomenda] > 300 então [Preço]*0,5
senão [Preço]

3. Em seguida, clique no botão OKpara regressar à janela do Power Query Editor, e obterá uma nova coluna com os dados pretendidos, veja a captura de ecrã:

4. Por fim, carregue estes dados numa nova folha de cálculo clicando em Base > Fechar e Carregar > Fechar e Carregar.
Instrução if com lógicas OR e AND
Muito bem! Os exemplos anteriores são fáceis de compreender. Agora, vamos aumentar o desafio: pode combinar as funções E e OU para criar qualquer condição que consiga imaginar. Neste caso, utilize parênteses na fórmula para definir regras complexas.
Também com base nos dados anteriores, imagine que pretende criar uma nova coluna que mostre “A+” se o produto for “Vestido” e a encomenda for superior a 300, ou se o produto for “Calças” e a encomenda for superior a 300; caso contrário, deve apresentar “Outro”.
1. Selecione a tabela de dados e clique em Dados>Da Tabela/Intervalopara aceder à Power Query Editorjanela.
2Na janela aberta, clique em Adicionar Coluna>Coluna Personalizada. Na Coluna Personalizadacaixa de diálogo que surge, realize as seguintes operações:
- Introduza um nome para a nova coluna na caixa de texto Novo nome da coluna;
- Depois, introduza a fórmula abaixo na caixa de fórmula de coluna personalizada.
- =if ([Product] = «Dress» and [Order] > 300 ) ou
([Produto] = «Calças» e [Encomenda] > 300 )
então «A+»
senão «Outro»

3. Em seguida, clique em OKbotão para regressar à Power Query Editorjanela e obterá uma nova coluna com os dados pretendidos, veja a captura de ecrã:

4. Por fim, deverá carregar estes dados num(a) Nova planilha clicando em Base>Fechar e Carregar>Fechar e Carregar.
Na caixa de fórmula da coluna personalizada, pode utilizar os seguintes operadores lógicos:
- = : Igual a
- : Diferente de
- > : Maior que
- >= : Maior ou Igual a
- < : Menor que
- <= : Menor ou Igual a
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos