Criar e invocar uma função personalizada

Aplica-se a
Excel para Microsoft 365 Excel 2024 Excel 2021

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

O exemplo a seguir mostra uma função personalizada simples que segue uma tradição de programação de longa data.

  1. Crie 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>Outras Fontes>Consulta em Branco.

  2. No painel Consultas à esquerda, clique duas vezes no nome e renomeie a nova consulta em branco para 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 aparecem na Visualização de Dados e são 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. Crie 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>Outras Fontes>Consulta em Branco.

  2. No painel Consultas à esquerda, renomeie a nova consulta em branco para 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. Em Visualização de dados, insira um número na caixa parâmetro1 e selecione Invocar.
    Invocando a função personalizada MyHex

  8. Os resultados da função aparecem na Visualização de Dados. O Power Query adiciona os resultados 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ê criar 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 MyHex função personalizada 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

Confira também

Ajuda do Power Query para Excel

Criar uma consulta de parâmetro (Power Query)

Gerenciar consultas (Power Query)

Noções básicas sobre as funções M do Power Query

Usando funções personalizadas