Criar e invocar uma função personalizada

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

Uma função personalizada usa a linguagem da fórmula M, usa um conjunto de valores de entrada e retorna um único valor de saída. Se você tiver lógica que deseja 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 você precisar dela. Há várias maneiras de criar uma função personalizada:

Criar e invocar uma função personalizada simples com o Editor Avançado

Veja a seguir 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 Selecionar Dados>Obter dados>de outras fontes> consultaem branco.

    Power Query Clique com o botão direito do mouse em um local em branco no painel Consultas à esquerda e selecione Nova Consulta> OutrasFontes>Consulta em Branco.

  2. No painel Consultas à esquerda, clique duas vezes no nome e renomeie a nova consulta em branco como "HelloWorld".

  3. Selecione a nova consulta e selecione HomeEditor>Avançado.

  4. Substitua o código inicial do modelo pelo seguinte código:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Selecione Concluído.

  6. Você alterou a consulta "HelloWorld" para uma função personalizada. Observe o ícone de função Ícone de função à esquerda dele.

  7. Para invocar a função, selecione-a e, em seguida, selecione Invocar na Visualização de Dados.

    Invocando a função personalizada HelloWorld

  8. Os resultados da função são exibidos na visualização de dados e adicionados ao painel Consultas como uma consulta com o nome padrão, Função Invocada. Talvez você queira renomeá-lo para algo mais significativo, como "HelloWorldResult".

  9. Selecione essa consulta e, em seguida, selecione Página Inicial>,Fechar & Carregar para ver os resultados em uma planilha.

Resultados

Resultados de HelloWorld em uma planilha

Criar e invocar uma função personalizada que tenha um parâmetro com o Editor Avançado

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

  1. Para criar uma consulta em branco:

    Excel Selecionar Dados>Obter dados>de outras fontes> consultaem branco.

    Power Query Clique com o botão direito do mouse em um local em branco no painel Consultas à esquerda e selecione Nova Consulta> OutrasFontes>Consulta em Branco.

  2. No painel Consultas à esquerda, renomeie a nova consulta em branco como "MyHex".

  3. Selecione a nova consulta e selecione HomeEditor>Avançado.

  4. Substitua o código inicial do modelo pelo seguinte código:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Selecione Concluído.

  6. Você alterou a consulta, "MyHex", para uma função personalizada. Observe o ícone de função Ícone de função à esquerda dele.

  7. Para invocar a função, selecione-a e, em Visualização de dados, insira um número na caixa parameter1 e selecione Invoke.
    Invocando a função personalizada MyHex

  8. Os resultados da função são exibidos na visualização de dados e adicionados ao painel Consultas como uma consulta com o nome padrão, Função Invocada. Talvez você queira renomeá-lo para algo mais significativo, como "MyHexResult".

  9. Selecione essa consulta e, em seguida, selecione Página Inicial>,Fechar & Carregar para ver os resultados em uma planilha.

Resultados

Resultado da função MyHex em uma planilha

Adicionar uma coluna invocando uma função personalizada

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

  1. Para abrir uma consulta, localize uma previamente carregada no Editor do Power Query, selecione uma célula nos dados e selecione Editar Consulta>. Para obter mais informações, consulte Criar, editar e carregar uma consulta no Excel (Power Query).

    Observação Para este exemplo, sua consulta precisa de pelo menos uma coluna de um tipo de dados de Número Inteiro .

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

  3. Na consulta, selecione Adicionar Coluna>Invocar Função Personalizada. A caixa de diálogo Invocar Função Personalizada é exibida.

  4. Insira o nome da nova coluna, como "HexConvert", na caixa Nome da nova coluna .

  5. Selecione o nome de uma função personalizada predefinida na lista suspensa Consulta de função. Neste exemplo, selecione "MyHex".

  6. Como a função personalizada faz referência a um parâmetro, o parâmetro agora é exibido.

  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.

Resultado

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

A nova coluna de valores MyHex em uma planilha

Veja Também

Ajuda do Power Query para Excel

Criar fórmulas do Power Query no Excel

Criar uma consulta parâmetro

Gerenciar consultas

Noções básicas sobre Power Query funções M (docs.com)

Usando funções personalizadas (docs.com)