Fonction UNIQUE sur plusieurs colonnes

Dernière mise à jour le 07/02/2025
Temps de lecture : 2 minutes

Comment utiliser la fonction UNIQUE sur plusieurs colonnes d'un tableau ?

Frédéric Le Guenex-Microsoft MVP 2010-2025
Fonctions PropagéesMis à jour le 07/02/20252 min de lecture

Extraire sans doublon sur une colonne

La fonction UNIQUE permet d'extraire les valeurs uniques d'une colonne sélectionnée.

Fonction UNIQUE

Extraire sur 2 colonnes contiguës

Si l'extraction concerne 2 colonnes contiguës (c'est à dire, l'une à coté de l'autre), la fonction UNIQUE retourne également l'unicité mais sur l'association des 2 colonnes.

La marque "Noke" est présente plusieurs fois car nous avons plusieurs couleurs de chaussures en stock pour cette marque mais chaque association (Marque + Couleur), est unique.

La formule avec un tableau est

=UNIQUE(Table1[[Col1]:[Col2]])

Et avec des références de cellules classiques c'est

=UNIQUE($A$1:$B$12)

UNIQUE sur 2 colonnes contiguës

Extraction sur des colonnes séparées

Maintenant, pour utiliser la fonction UNIQUE sur plusieurs colonnes qui sont séparées, la construction de la fonction est beaucoup plus hardues.

Il faut tout d'abord comprendre que le premier paramètre attendu par la fonction UNIQUE n'est pas une colonne mais un tableau. Il faut comprendre ici un tableau comme un tableau en mémoire. Et une colonne, ce n'est ni plus ni moins qu'un tableau mais sur une seule dimension.

Et la fonction FILTRE, retourne un tableau de données ???? Donc, la solution c'est de construire le tableau de données dans lequel nous allons extraire les données grâce à la fonction FILTRE.

Nous avons vu dans cet article comment se servir des opérateurs logiques pour réaliser des extractions complexes dans la fonction FILTRE. Et nous allons utiliser la même logique pour construire notre tableau. IL EST IMPORTANT DE SUIVRE LE LIEN POUR COMPRENDRE LA LOGIQUE.

Si par exemple, nous voulons "construire" un tableau en mémoire avec seulement le modèle et la couleur, nous allons écrire la formule suivante

=FILTRE(Chaussures;(Chaussures[#En-têtes]="Modèle")+(Chaussures[#En-têtes]="Couleur"))

La fonction FILTRE construit un tableau personnalisé

Il ne reste plus qu'à intégrer cette formule, dans la formule UNIQUE pour extraire les colonnes séparées.

=UNIQUE(FILTRE(Chaussures;(Chaussures[#En-têtes]="Modèle")+(Chaussures[#En-têtes]="Couleur")))

Extraction sur des colonnes séparées

Ou, si nous n'utilisons pas les références d'un tableau, nous écrivons la formule comme ceci.

=UNIQUE(FILTRE($A$2:$E$199;($A$1:$E$1="Modèle")+($A$1:$E$1="Couleur")))

10 commentaires

  1. Doncamelo
    14/10/2023 @ 20:40

    Bonjour,
    Un grand merci pour ce tuto !!
    J'aurai une question.
    Dans votre exemple, est-il possible d'avoir la colonne qté en stock avec
    le résultat ci-dessous en exemple :
    Sportif Marron 52
    Sportif Noir 10

    Répondre

  2. Noemie
    20/07/2023 @ 09:57

    Bonjour,
    Merci pour ce tuto.
    Est-il possible d'ajouter à cette formule d'extraction des colonnes non contigües, une condition permettant d'extraire seulement certaines valeurs dans ces colonnes séparées?

    Répondre

    • Frédéric LE GUEN
      20/07/2023 @ 10:19

      Oui, c'est la fonction FILTRE

      Répondre

      • Noemie
        20/07/2023 @ 14:12

        Rebonjour,
        Merci pour votre réponse. J'ai testé avec une formule de ce type, sur la base de ce que avez expliqué dans votre tuto FILTRE. Mais malheureusement ça ne fonctionne pas. Savez-vous ce qui peux poser problème dans cette formule?

        =UNIQUE(FILTRE(Incorporations;((Incorporations[#En-têtes]=$U$5)+(Incorporations[#En-têtes]=$V$5)+(Incorporations[#En-têtes]=$W$5))*(Incorporations[Date d''entrée]=$C$2);))

      • Frédéric LE GUEN
        20/07/2023 @ 14:48

        Déjà Incorporations[#En-têtes], ce n'est pas bon, #En-têtes signifie que vous sélectionnez TOUS les entêtes de votre tableau. Ca devrait plus ressembler à Incorporations[Date d''entrée]
        Mais même, votre formule me semble bien, bien, bien compliquée. Il doit y avoir plus simple ; genre avec un tableau croisé dynamique avec des segments

  3. LA
    24/03/2021 @ 11:53

    Bonjour,
    Est-il possible d'utiliser UNIQUE sur plusieurs colonnes, non pas comme il est expliqué ci-dessus, mais avec des données de même type.
    Je m'explique, j'ai 6 feuilles qui reprennent dans la 1ère colonne un identifiant et cet identifiant peut apparaître ou pas dans chacune de ces feuilles.
    J'aimerais utiliser UNIQUE pour chacune des 1ères colonnes de chaque feuille et ainsi obtenir la liste unique de tous les identifiants, toutes feuilles cofondues.
    Je sais que je peux copier tous les 1ères colonnes les unes à la suite des autres et d'utiliser UNIQUE sur ce résultat de copie, mais si je pouvais éviter la manip de copie ...
    Si vous avez une idée, je suis preneur et encore merci pour votre site qui est une mine d'or pour tous les utilisateurs Excel, novices comme avancés.

    Répondre

    • Trevax
      06/12/2021 @ 15:50

      J'ai le mêe soucis

      Répondre

      • Frédéric LE GUEN
        06/12/2021 @ 16:21

        Non, avec UNIQUE ce n'est pas possible. Par contre avec Power Query, il est très facile de regrouper vos données et ensuite d'appliquer une suppression des doublons

  4. Lb
    12/01/2021 @ 09:38

    Bonjour,
    J'ai un problème car je ne trouve pas la fonction UNIQUE sur Excel 2020, lorsque je tape unique, Excel me propose UNICODE ou UNICAR.

    Répondre

    • Frédéric LE GUEN
      12/01/2021 @ 09:47

      Normal, c'est seulement avec Excel 365 ou Excel Online

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.

Fonction UNIQUE sur plusieurs colonnes

Reading time: 2 minutes
Dernière mise à jour le 07/02/2025

Comment utiliser la fonction UNIQUE sur plusieurs colonnes d'un tableau ?

Frédéric Le Guenex-Microsoft MVP 2010-2025
Fonctions PropagéesMis à jour le 07/02/20252 min de lecture

Extraire sans doublon sur une colonne

La fonction UNIQUE permet d'extraire les valeurs uniques d'une colonne sélectionnée.

Fonction UNIQUE

Extraire sur 2 colonnes contiguës

Si l'extraction concerne 2 colonnes contiguës (c'est à dire, l'une à coté de l'autre), la fonction UNIQUE retourne également l'unicité mais sur l'association des 2 colonnes.

La marque "Noke" est présente plusieurs fois car nous avons plusieurs couleurs de chaussures en stock pour cette marque mais chaque association (Marque + Couleur), est unique.

La formule avec un tableau est

=UNIQUE(Table1[[Col1]:[Col2]])

Et avec des références de cellules classiques c'est

=UNIQUE($A$1:$B$12)

UNIQUE sur 2 colonnes contiguës

Extraction sur des colonnes séparées

Maintenant, pour utiliser la fonction UNIQUE sur plusieurs colonnes qui sont séparées, la construction de la fonction est beaucoup plus hardues.

Il faut tout d'abord comprendre que le premier paramètre attendu par la fonction UNIQUE n'est pas une colonne mais un tableau. Il faut comprendre ici un tableau comme un tableau en mémoire. Et une colonne, ce n'est ni plus ni moins qu'un tableau mais sur une seule dimension.

Et la fonction FILTRE, retourne un tableau de données ???? Donc, la solution c'est de construire le tableau de données dans lequel nous allons extraire les données grâce à la fonction FILTRE.

Nous avons vu dans cet article comment se servir des opérateurs logiques pour réaliser des extractions complexes dans la fonction FILTRE. Et nous allons utiliser la même logique pour construire notre tableau. IL EST IMPORTANT DE SUIVRE LE LIEN POUR COMPRENDRE LA LOGIQUE.

Si par exemple, nous voulons "construire" un tableau en mémoire avec seulement le modèle et la couleur, nous allons écrire la formule suivante

=FILTRE(Chaussures;(Chaussures[#En-têtes]="Modèle")+(Chaussures[#En-têtes]="Couleur"))

La fonction FILTRE construit un tableau personnalisé

Il ne reste plus qu'à intégrer cette formule, dans la formule UNIQUE pour extraire les colonnes séparées.

=UNIQUE(FILTRE(Chaussures;(Chaussures[#En-têtes]="Modèle")+(Chaussures[#En-têtes]="Couleur")))

Extraction sur des colonnes séparées

Ou, si nous n'utilisons pas les références d'un tableau, nous écrivons la formule comme ceci.

=UNIQUE(FILTRE($A$2:$E$199;($A$1:$E$1="Modèle")+($A$1:$E$1="Couleur")))

Newsletter

1 fois par mois :
Astuces et quiz

    Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

    10 commentaires

    1. Doncamelo
      14/10/2023 @ 20:40

      Bonjour,
      Un grand merci pour ce tuto !!
      J'aurai une question.
      Dans votre exemple, est-il possible d'avoir la colonne qté en stock avec
      le résultat ci-dessous en exemple :
      Sportif Marron 52
      Sportif Noir 10

      Répondre

    2. Noemie
      20/07/2023 @ 09:57

      Bonjour,
      Merci pour ce tuto.
      Est-il possible d'ajouter à cette formule d'extraction des colonnes non contigües, une condition permettant d'extraire seulement certaines valeurs dans ces colonnes séparées?

      Répondre

      • Frédéric LE GUEN
        20/07/2023 @ 10:19

        Oui, c'est la fonction FILTRE

        Répondre

        • Noemie
          20/07/2023 @ 14:12

          Rebonjour,
          Merci pour votre réponse. J'ai testé avec une formule de ce type, sur la base de ce que avez expliqué dans votre tuto FILTRE. Mais malheureusement ça ne fonctionne pas. Savez-vous ce qui peux poser problème dans cette formule?

          =UNIQUE(FILTRE(Incorporations;((Incorporations[#En-têtes]=$U$5)+(Incorporations[#En-têtes]=$V$5)+(Incorporations[#En-têtes]=$W$5))*(Incorporations[Date d''entrée]=$C$2);))

        • Frédéric LE GUEN
          20/07/2023 @ 14:48

          Déjà Incorporations[#En-têtes], ce n'est pas bon, #En-têtes signifie que vous sélectionnez TOUS les entêtes de votre tableau. Ca devrait plus ressembler à Incorporations[Date d''entrée]
          Mais même, votre formule me semble bien, bien, bien compliquée. Il doit y avoir plus simple ; genre avec un tableau croisé dynamique avec des segments

    3. LA
      24/03/2021 @ 11:53

      Bonjour,
      Est-il possible d'utiliser UNIQUE sur plusieurs colonnes, non pas comme il est expliqué ci-dessus, mais avec des données de même type.
      Je m'explique, j'ai 6 feuilles qui reprennent dans la 1ère colonne un identifiant et cet identifiant peut apparaître ou pas dans chacune de ces feuilles.
      J'aimerais utiliser UNIQUE pour chacune des 1ères colonnes de chaque feuille et ainsi obtenir la liste unique de tous les identifiants, toutes feuilles cofondues.
      Je sais que je peux copier tous les 1ères colonnes les unes à la suite des autres et d'utiliser UNIQUE sur ce résultat de copie, mais si je pouvais éviter la manip de copie ...
      Si vous avez une idée, je suis preneur et encore merci pour votre site qui est une mine d'or pour tous les utilisateurs Excel, novices comme avancés.

      Répondre

      • Trevax
        06/12/2021 @ 15:50

        J'ai le mêe soucis

        Répondre

        • Frédéric LE GUEN
          06/12/2021 @ 16:21

          Non, avec UNIQUE ce n'est pas possible. Par contre avec Power Query, il est très facile de regrouper vos données et ensuite d'appliquer une suppression des doublons

    4. Lb
      12/01/2021 @ 09:38

      Bonjour,
      J'ai un problème car je ne trouve pas la fonction UNIQUE sur Excel 2020, lorsque je tape unique, Excel me propose UNICODE ou UNICAR.

      Répondre

      • Frédéric LE GUEN
        12/01/2021 @ 09:47

        Normal, c'est seulement avec Excel 365 ou Excel Online

        Répondre

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.