Tempo de leitura:
Neste artigo hoje vou mostrar-te como podes trabalhar com uma das principais estruturas de dados do Power Query – Listas com uma das funções mais importantes: a Função List.Transform.
A função List.Transform permite iterar uma lista de valores e aplicar transformações a cada item da lista. O termo iterar significa percorrer cada item. A função List.Transform faz parte do conjunto de funções de iteração disponíveis em Power Query, e executa operações semelhantes a um Loop (ciclo) quando estamos a falar em termos de programação.
No artigo, vou mostrar-te tudo o que precisas de saber sobre esta função desde a base até exemplos mais complexos!
Iniciar o Power query e criar uma lista
Vamos começar por iniciar o Power Query e perceber como podemos em primeiro lugar obter uma lista. Acedemos ao Menu Dados [Data] -> Obter Dados [Get Data] -> Iniciar o Editor do Power Query [Launch Power Query Editor].

Uma vez no Power Query Editor, podemos iniciar uma nova consulta em branco.

Na consulta em branco, vamos iniciar uma lista. Neste momento iniciamos uma lista pela lógica de list initialization com os valores colocados entre {}.

Bases da função List.Transform
A função List.Transform necessita de uma Lista e uma transformação definida sobre a forma de função.
List.Transform(
list as list,
transform as function,
) as list
Vamos realizar uma transformação simples na lista criada, multiplicando os valores de cada lista por 2.

= List.Transform(
Origem, // Lista como origem
each _ * 2 // Transformação Aplicada
)
No código, verificamos a expressão ‘each _’:
- each _ representa o item (valor) no contexto da lista.
List.Transform com condicionais
Vamos agora num segundo exemplo aplicar a função List.Transform com condicionais. Significa que durante a iteração na lista vamos avaliar uma condição com a expressão if e retornar um resultado diferente em função da condição.
= List.Transform (
Origem,
each if Number.IsOdd(_) then _ * 3 else _ * 2
)

List.Transform para Texto
Podemos também realizar transformações a listas com texto usando uma Lista inicializada de forma sequencial: {“A”..”Z”}.
Depois é só aplicar uma transformação, neste caso adicionar um prefixo antes de cada letra.
= List.Transform(
Origem,
each “Letra: ” & _
)

E podemos continuar com mais transformações, transformando o Texto em Maiúsculas.
= List.Transform(
Personalizado1,
each Text.Upper(_)
)

Ou mesmo ainda continuar e dividir criar uma Lista de Listas com cada item a ser uma lista com 2 valores:
= List.Transform(
Personalizado2,
each Text.Split(_, “:”)
)

Neste cenário, uma vez que temos uma lista com vários itens, podemos gerar uma tabela.
= Table.FromRows(Personalizado3, {“PREFIXO”, “LETRA”})

List.Transform para Datas
Criando uma lista de valores entre 1 e 12 {1..12} podemos usar uma das transformações mais comuns que é gerar um conjunto de datas a partir dos valores.
= List.Transform(
Origem,
each #date(2025,_,1)
)

A partir do momento em que temos uma data podemos realizar múltiplas transformações conforme a necessidade, acrescentando mais passos na consulta:
= List.Transform(Personalizado1, each Date.DaysInMonth(_))
= List.Transform(Personalizado1, each Date.EndOfMonth(_))
= List.Transform(Personalizado4, each Text.Proper(Date.MonthName(_)))
List.Transform com múltiplas Listas
Numa lista podemos ter também múltiplas listas, ou seja, uma lista de listas. E em cada Sub-Lista aplicar uma transformação.
= List.Transform(
Origem,
each List.Average(_)
)

Ou mesmo obter o valor máximo de cada item da lista…
= List.Transform(
Origem,
each List.Max(_)
)

Conclusão
A função List.Transform é uma das mais importantes que deves ter no teu leque de funções para trabalhar em Power Query. Como podes verificar existem inúmeras utilizações para esta função que permite transformar vários tipos de valores numa lista e ainda estruturas complexas como sub-listas.
Próximo artigo:
Artigo Anterior:
Ficheiros
Artigos por Categoria
- Microsoft Excel (46)
- Power Apps (16)
- Power Automate (3)
- Power BI (13)
- Power Query (14)
- Python (3)
- VBA (7)
Últimos Artigos
- Funções DAX para Análise Avançada: INDEX, OFFSET e WINDOW
- Funções REDUCE e SCAN no Excel: Entenda a Diferença
- Como Usar Parâmetros no Power BI para Relatórios Interativos
- Como usar o Copilot no Excel para criar fórmulas, resumos, gráficos e preparar impressão
- Comparação entre Claude e Copilot no Excel

Leave a Reply