Référence Power Query · 4 min de lecture

Table.Column : récupérer une colonne sous forme de liste dans Power Query

Extraire les valeurs d’une colonne pour les additionner, les dédoublonner ou s’en servir comme filtre dans une autre requête.

Table.Column renvoie les valeurs d’une colonne sous forme de liste. Le résultat n’est plus une table : c’est une liste de valeurs, dans l’ordre des lignes, doublons et valeurs null compris.

Ce passage de la table à la liste ouvre l’accès à toutes les fonctions List : additionner un montant, dédoublonner des noms, tester l’appartenance d’une valeur. Elle sert souvent à construire une liste de référence, par exemple les clients actifs, que l’on réutilise ensuite pour filtrer une autre table.

Syntaxe

Une table, un nom de colonne, une liste en sortie

Table.Column(table as table, column as text) as list
ParamètreRôle
tableLa table de départ.
columnLe nom de la colonne à extraire, sous forme de texte.

La fonction n’a aucun paramètre facultatif : contrairement à Table.SelectColumns, elle ne propose pas d’option MissingField pour une colonne absente.

Exemples

Quatre façons de s’en servir

Extraire une colonne

Table.Column(
    Table.FromRecords({
        [CustomerID = 1, Name = "Bob"],
        [CustomerID = 2, Name = "Jim"],
        [CustomerID = 3, Name = "Paul"],
        [CustomerID = 4, Name = "Ringo"]
    }),
    "Name"
)

Le résultat est la liste {"Bob", "Jim", "Paul", "Ringo"}, reprise de l’exemple de la documentation officielle.

Additionner un montant

List.Sum(Table.Column(Factures, "Montant"))

List.Sum additionne les valeurs non null de la liste, et renvoie null si la liste n’en contient aucune.

Lister les clients sans doublon

List.Distinct(Table.Column(Factures, "Client"))

Une facture par mois pour Bob donne une seule fois Bob dans la liste.

Filtrer une table avec la colonne d’une autre

let
    ClientsActifs = Table.Column(Clients, "Client"),
    Filtre = Table.SelectRows(Factures,
        each List.Contains(ClientsActifs, [Client]))
in
    Filtre

Seules les factures dont le client figure dans la table Clients sont conservées.

En pratique

La colonne renommée en amont

Une requête calcule le total facturé avec Table.Column(Factures, "Montant"). Un jour, l’outil source renomme la colonne en « Montant HT ». La fonction ne trouve plus la colonne demandée et l’actualisation s’arrête sur une erreur.

Quand la source change souvent, testez la présence de la colonne avant de l’extraire, avec Table.HasColumns :

if Table.HasColumns(Factures, "Montant")
then List.Sum(Table.Column(Factures, "Montant"))
else null

Ne généralisez pas ce garde-fou : sur une colonne indispensable au calcul, mieux vaut une erreur visible qu’un total à null qui passe inaperçu.

Second piège, plus discret : List.Distinct compare les textes en respectant la casse. Si Bob est saisi « Bob » et « bob », il apparaît deux fois. Passez la colonne par Text.Lower ou utilisez List.Distinct(liste, Comparer.OrdinalIgnoreCase).

Questions fréquentes

Ce qu’on nous demande sur Table.Column

Quelle différence avec Table.SelectColumns ?

Table.SelectColumns renvoie une table réduite aux colonnes choisies. Table.Column renvoie une liste de valeurs, utilisable directement avec les fonctions List.

La liste renvoyée contient-elle les doublons et les null ?

Oui. Elle reprend toutes les valeurs de la colonne, dans l’ordre des lignes. On dédoublonne ensuite avec List.Distinct si besoin.

Comment obtenir la liste des noms de colonnes plutôt que leurs valeurs ?

Avec Table.ColumnNames, qui renvoie les noms de toutes les colonnes de la table sous forme de liste.

Comment vérifier qu’une colonne existe avant de l’extraire ?

Table.HasColumns(Factures, "Montant") renvoie true si la colonne existe et false sinon. On s’en sert dans un if avant d’appeler Table.Column.

Sources. Documentation officielle de l’éditeur, consultée le 14 octobre 2026 : Table.Column, Table.HasColumns, List.Sum, List.Distinct, Table.SelectColumns.

Vos requêtes cassent dès qu’une colonne change de nom ?

Nous relisons vos requêtes pour isoler les dépendances fragiles et sécuriser vos actualisations.

Réserver un appelou 01 83 64 60 25
01 83 64 60 25 Réserver un appel