Aplica-se A
Excel para Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Uma função personalizada utiliza a linguagem da fórmula M, utiliza um conjunto de valores de entrada e, em seguida, devolve um único valor de saída. Se tiver lógica que pretende reutilizar muitas vezes ou aplicar o mesmo conjunto de transformações a uma consulta ou valor diferente, considere criar uma função personalizada e, em seguida, invocar a função onde e quando precisar dela. Existem várias formas de criar uma função personalizada: 

Segue-se um exemplo simples de uma função personalizada que segue uma tradição de programação de longa data.

  1. Para criar uma consulta em branco:Excel    Selecione Dados > Obter Dados > De Outras Origens > Consulta em Branco.Power Query    clique com o botão direito do rato num local em branco no painel Consultas à esquerda e, em seguida, selecione Nova Consulta > Outras Origens > Consulta em Branco.

  2. No painel Consultas à esquerda, faça duplo clique no nome e, em seguida, mude o nome da nova consulta em branco para "HelloWorld".

  3. Selecione a nova consulta e, em seguida, selecione Base > Editor Avançado.

  4. Substitua o código de arranque do modelo pelo seguinte código:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Selecione Concluído.

  6. Alterou a consulta "HelloWorld" para uma função personalizada. Repare no ícone de função Ícone Função à esquerda.

  7. Para invocar a função, selecione-a e, em seguida, selecione Invocar na Pré-visualização de Dados.Invocar a função personalizada HelloWorld

  8. Os resultados da função são apresentados na Pré-visualização de dados e adicionados ao painel Consultas como uma consulta com o nome predefinido Função Invocada. Talvez queira mudar o nome para algo mais significativo, como "HelloWorldResult".

  9. Selecione essa consulta e, em seguida, selecione Base > Fechar & Carregar para ver os resultados numa folha de cálculo.

Resultados 

Resultados do HelloWorld numa folha de cálculo

O exemplo seguinte mostra como transmitir um parâmetro para uma função personalizada para converter um número decimal em hexadecimal.

  1. Para criar uma consulta em branco:Excel    Selecione Dados > Obter Dados > De Outras Origens > Consulta em Branco.Power Query    clique com o botão direito do rato num local em branco no painel Consultas à esquerda e, em seguida, selecione Nova Consulta > Outras Origens > Consulta em Branco.

  2. No painel Consultas à esquerda, mude o nome da nova consulta em branco para "MyHex".

  3. Selecione a nova consulta e, em seguida, selecione Base > Editor Avançado.

  4. Substitua o código de arranque do modelo pelo seguinte código:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Selecione Concluído.

  6. Alterou a consulta "MyHex" para uma função personalizada. Repare no ícone de função Ícone Função à esquerda.

  7. Para invocar a função, selecione-a e, em seguida, em Pré-visualização de Dados, introduza um número na caixa parameter1 e selecione Invocar.

    Invocar a função personalizada MyHex

  8. Os resultados da função são apresentados na Pré-visualização de dados e adicionados ao painel Consultas como uma consulta com o nome predefinido Função Invocada. Poderá querer mudar o nome para algo mais significativo, como "MyHexResult".

  9. Selecione essa consulta e, em seguida, selecione Base > Fechar & Carregar para ver os resultados numa folha de cálculo.

Resultados 

Resultado da função MyHex numa folha de cálculo

Se tiver criado uma função com, pelo menos, um parâmetro, pode invocá-la como uma função personalizada para criar uma nova coluna e um novo valor para cada linha numa tabela.

  1. Para abrir uma consulta, localize uma que foi carregada anteriormente a partir do Editor do Power Query, selecione uma célula nos dados e, em seguida, selecione Consulta > Editar. Para obter mais informações, consulte Criar, editar e carregar uma consulta no Excel (Power Query).Nota    Para este exemplo, a consulta precisa de, pelo menos, uma coluna de um tipo de dados Número Inteiro .

  2. Crie a função personalizada "MyHex", conforme explicado na secção Criar e invocar uma função personalizada que tenha um parâmetro com o Editor Avançado.

  3. Na consulta, selecione Adicionar Coluna > Invocar Função Personalizada. É apresentada a caixa de diálogo Invocar Função Personalizada .

  4. Introduza o novo nome da coluna, como "HexConvert", na caixa Novo nome da coluna .

  5. Selecione o nome de uma função personalizada predefinida no menu pendente Consulta de função. Neste exemplo, selecione "MyHex".

  6. Uma vez que a função personalizada referencia um parâmetro, o parâmetro é agora apresentado.

  7. Selecione uma coluna de um tipo de dados Número Inteiro como um parâmetro para a função.A caixa de diálogo Invocar Função Personalizada

  8. Selecione OK.

Result

É criada uma nova coluna que mostra o valor hexadecimal da coluna Número Inteiro que introduziu como parâmetro.

A nova coluna myHex de valores numa folha de cálculo

Consulte Também

Ajuda do Power Query para Excel

Criar fórmulas do Power Query no Excel

Criar uma consulta parametrizada

Gerir consultas

Compreender as funções Power Query M (docs.com)

Utilizar funções personalizadas (docs.com)

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.