Excel : lignes uniques et comptage avec formules
Apprenez à extraire des lignes uniques dans Excel et à compter les occurrences avec UNIQUE, FILTRE et NB.SI.ENS pas à pas.

Dans Excel, il est fréquent de devoir résumer un tableau contenant des doublons : liste de clients répétée, références produits présentes plusieurs fois, catégories dupliquées ou combinaisons identiques sur plusieurs lignes. Lorsque l’objectif est de produire une synthèse propre, deux besoins reviennent souvent : extraire automatiquement les valeurs ou lignes uniques, puis compter combien de fois chaque élément apparaît dans la source.
Avec les fonctions dynamiques d’Excel, ce travail peut être réalisé sans tri manuel, sans suppression de doublons définitive et sans recopie de formule sur des centaines de lignes. Le trio UNIQUE, FILTRE et NB.SI.ENS permet de construire une sortie qui se met à jour lorsque le tableau source change. Cela convient aussi bien à une simple liste de valeurs qu’à un tableau plus structuré avec plusieurs colonnes.
Ce tutoriel montre pas à pas comment préparer les données, extraire des éléments uniques depuis une colonne, extraire des combinaisons uniques sur plusieurs colonnes, filtrer les résultats selon des conditions simples, puis compter les occurrences correspondantes. L’objectif n’est pas seulement de donner une formule finale, mais aussi de vous aider à comprendre la logique de chaque étape afin d’adapter facilement la méthode à vos propres fichiers Excel.
Prérequis
- Utiliser une version d’Excel prenant en charge les fonctions dynamiques comme UNIQUE et FILTRE.
- Disposer d’un tableau source organisé en colonnes, avec si possible une ligne d’en-têtes claire.
- Connaître les bases de la saisie de formules dans Excel : signe
=, séparateur d’arguments adapté à votre version, et validation avec Entrée. - Savoir identifier la ou les colonnes qui définissent l’unicité : une seule colonne, ou une combinaison de plusieurs colonnes.
Matériel nécessaire
- Microsoft Excel avec fonctions dynamiques
- Tableau source contenant des doublons
- Zone vide pour afficher les résultats
Étapes
Comprendre le besoin : valeur unique ou ligne unique
Avant d’écrire la moindre formule, il faut préciser ce que vous appelez unique. Dans Excel, la réponse ne sera pas la même selon que vous travaillez sur une seule colonne ou sur plusieurs colonnes à la fois.
Premier cas : vous avez une colonne, par exemple une liste de clients. Si le nom Martin apparaît dix fois, vous voulez l’obtenir une seule fois dans votre synthèse. Ici, l’unicité repose sur une seule valeur.
Deuxième cas : vous avez plusieurs colonnes, par exemple Client, Produit et Ville. Une ligne est considérée comme unique si la combinaison complète de ces colonnes est différente des autres. Un même client peut donc apparaître plusieurs fois si le produit ou la ville change.
Cette distinction est essentielle, car UNIQUE peut s’appliquer soit à une colonne, soit à un bloc de colonnes. Ensuite, la formule de comptage avec NB.SI.ENS devra reprendre exactement les mêmes critères que ceux utilisés pour définir l’unicité.
Prenez aussi le temps de regarder la qualité des données. Des espaces en trop, des variantes d’écriture ou des cellules vides peuvent créer de faux résultats. Par exemple, Paris et Paris ne sont pas toujours interprétés comme identiques si les données sont mal nettoyées. Ce tutoriel se concentre sur la logique d’extraction et de comptage, mais la cohérence de la source reste déterminante.
Préparer la source dans un tableau Excel structuré

Même si les formules fonctionnent avec de simples plages de cellules, il est très pratique de convertir la source en tableau Excel. Pour cela, sélectionnez vos données puis utilisez la commande de mise sous forme de tableau. L’intérêt principal est d’obtenir des références structurées plus lisibles et plus robustes quand le nombre de lignes augmente.
Imaginons un tableau nommé
Ventesavec les colonnesClient,Produit,VilleetMontant. Les références structurées prennent alors une forme claire, par exempleVentes[Client]ouVentes[Ville]. Cela rend les formules plus faciles à comprendre qu’une plage commeA2:A500.Cette organisation a plusieurs avantages :
- si vous ajoutez de nouvelles lignes, les formules basées sur le tableau s’adaptent automatiquement ;
- les en-têtes de colonnes évitent les erreurs de lecture ;
- les formules deviennent plus explicites, surtout lorsqu’on combine plusieurs critères.
Pour la suite, vous pouvez utiliser soit des références structurées, soit des plages classiques. Les exemples ci-dessous restent valables dans les deux cas. Si votre Excel utilise un autre séparateur d’arguments, adaptez simplement la ponctuation à votre configuration.
Enfin, réservez une zone vide à droite ou sur une autre feuille pour afficher les résultats. Les fonctions dynamiques produisent une plage déversée : elles ont besoin d’espace libre sous la cellule de formule et, selon le cas, aussi sur les colonnes voisines.
Extraire une liste unique depuis une seule colonne avec UNIQUE


Commençons par le cas le plus simple : obtenir la liste des clients sans doublons à partir d’une seule colonne. Si votre source est un tableau
Venteset que la colonne concernée estClient, la formule de base est :=UNIQUE(Ventes[Client])Validez la formule dans une cellule vide. Excel renvoie automatiquement la liste des clients distincts dans les cellules situées en dessous. Si de nouveaux clients apparaissent dans le tableau source, la liste se met à jour.
Cette approche est idéale lorsque vous souhaitez créer une base de synthèse simple, une liste de validation ou un premier niveau de regroupement. Vous n’avez pas besoin de copier la formule vers le bas : une seule formule suffit pour toute la sortie.
Il faut toutefois observer trois points :
- si la source contient des cellules vides, celles-ci peuvent apparaître dans le résultat ;
- l’ordre retourné dépend de l’ordre des données dans la source ;
- si la zone de déversement n’est pas libre, Excel affichera une erreur liée au blocage de la plage résultante.
Si votre source n’est pas un tableau structuré, le principe est identique. Par exemple :
=UNIQUE(A2:A100)Dans les deux cas, vous obtenez une liste dynamique. C’est la base sur laquelle nous allons ensuite ajouter un filtrage et un comptage des occurrences.
Ignorer les cellules vides avec FILTRE avant UNIQUE
Dans de nombreux tableaux, la colonne à analyser contient quelques cellules vides. Si vous appliquez UNIQUE directement, le résultat peut inclure une ligne vide dans la liste des éléments distincts. Pour éviter cela, il est utile d’employer FILTRE avant UNIQUE.
Exemple sur la colonne
Client:=UNIQUE(FILTRE(Ventes[Client];Ventes[Client]<>""))La logique est simple :
FILTRE(Ventes[Client];Ventes[Client]<>"")conserve uniquement les cellules non vides ;UNIQUE(...)extrait ensuite les valeurs distinctes de ce résultat nettoyé.
Cette combinaison est particulièrement utile si votre colonne source provient d’imports, de saisies incomplètes ou de fichiers enrichis progressivement. Elle vous évite d’avoir à nettoyer manuellement le tableau avant la synthèse.
Vous pouvez appliquer la même logique à une plage classique :
=UNIQUE(FILTRE(A2:A100;A2:A100<>""))Ce modèle de formule est à retenir, car il sert souvent de point de départ réel dans les fichiers professionnels. En pratique, on extrait rarement une liste unique brute sans au minimum écarter les lignes vides.
Si vous avez besoin de conserver uniquement certaines lignes selon un critère simple, FILTRE devient encore plus intéressant, ce que nous allons voir ensuite.
Extraire des valeurs uniques sur un sous-ensemble de lignes
Il n’est pas toujours pertinent d’extraire les valeurs uniques de toute la source. Vous pouvez vouloir limiter la liste à une ville particulière, à un type de produit ou à une condition métier présente dans une autre colonne. Dans ce cas, FILTRE sert à restreindre l’entrée de UNIQUE.
Supposons que vous souhaitiez obtenir la liste des clients uniques pour lesquels la ville est Lyon. La formule peut être écrite ainsi :
=UNIQUE(FILTRE(Ventes[Client];Ventes[Ville]="Lyon"))Le fonctionnement est séquentiel :
- FILTRE parcourt la colonne
Clientet ne retient que les lignes oùVillevaut Lyon ; - UNIQUE supprime ensuite les doublons dans la liste obtenue.
Vous pouvez raffiner la logique en cumulant l’exclusion des vides et un critère de sélection. Par exemple :
=UNIQUE(FILTRE(Ventes[Client];(Ventes[Ville]="Lyon")*(Ventes[Client]<>"")))Cette formule ne garde que les clients non vides associés à Lyon. Le produit des conditions permet ici d’exiger que les deux critères soient vrais en même temps.
Cette méthode est utile lorsque vous préparez des listes de synthèse ciblées pour une zone géographique, une catégorie, une période déjà identifiée dans la source ou une population spécifique. Elle évite de multiplier les tableaux intermédiaires et garde la logique dans une seule formule lisible.
- FILTRE parcourt la colonne
Compter les occurrences de chaque valeur unique avec NB.SI.ENS
Une fois la liste unique obtenue, l’étape suivante consiste souvent à savoir combien de fois chaque élément apparaît dans la source. Pour cela, NB.SI.ENS est particulièrement adapté, car il compte les lignes répondant à un ou plusieurs critères.
Supposons que votre liste unique de clients commence en
G2et se déverse vers le bas. Pour compter les occurrences du premier client de cette liste dans le tableau source, vous pouvez écrire à côté :=NB.SI.ENS(Ventes[Client];G2)Ensuite, recopiez la formule vers le bas si vous travaillez cellule par cellule à côté de la liste déversée. Le principe est très direct : Excel compte le nombre de lignes où la valeur de
Ventes[Client]est égale au client affiché enG2, puis enG3, et ainsi de suite.La structure de votre synthèse devient alors claire :
- une colonne pour les valeurs uniques ;
- une colonne voisine pour le nombre d’occurrences.
Dans un tableau de synthèse simple, cela suffit déjà à produire une vue exploitable. Vous pouvez ensuite trier, mettre en forme ou créer un graphique à partir de ces résultats.
Si vous avez extrait une liste unique après filtrage, il faut réfléchir à la logique de comptage : souhaitez-vous compter dans toute la source, ou seulement dans le sous-ensemble filtré ? La réponse détermine les critères à ajouter dans NB.SI.ENS. Nous allons justement détailler ce point dans l’étape suivante.
Compter sur toute la source ou sur une source filtrée logiquement
Quand votre liste unique est issue d’un FILTRE, deux interprétations sont possibles pour le comptage :
- compter dans toute la source les occurrences de chaque valeur unique ;
- compter uniquement dans le sous-ensemble correspondant au même critère de filtrage.
Exemple : vous extrayez les clients uniques de Lyon. Si votre liste est basée sur :
=UNIQUE(FILTRE(Ventes[Client];Ventes[Ville]="Lyon"))alors un premier comptage possible est :
=NB.SI.ENS(Ventes[Client];G2)Cette formule compte toutes les occurrences du client dans la source, quelle que soit la ville. Elle répond donc à la question : combien de fois ce client apparaît-il au total ?
Si vous voulez au contraire compter seulement les lignes correspondant à Lyon, il faut reprendre le critère de ville :
=NB.SI.ENS(Ventes[Client];G2;Ventes[Ville];"Lyon")Ici, la formule répond à une autre question : combien de fois ce client apparaît-il dans les lignes de Lyon ?
Ce point est fondamental, car beaucoup d’erreurs de synthèse viennent d’un décalage entre la logique de sélection de la liste et la logique de comptage. Une bonne pratique consiste à formuler explicitement la question métier avant de saisir la formule. Voulez-vous une présence globale, une présence locale, ou un comptage sur un jeu de données déjà restreint ?
Avec NB.SI.ENS, la solution est simple : il suffit d’ajouter les mêmes critères que ceux utilisés pour définir le sous-ensemble à analyser.
Extraire des lignes uniques sur plusieurs colonnes avec UNIQUE
Passons maintenant au cas des lignes uniques, c’est-à-dire lorsque l’unicité repose sur une combinaison de plusieurs colonnes. C’est très utile si vous souhaitez connaître les couples Client + Produit distincts, ou encore les triplets Client + Produit + Ville.
Si vous voulez extraire les combinaisons uniques des colonnes
ClientetProduit, vous pouvez appliquer UNIQUE à un bloc de colonnes :=UNIQUE(Ventes[[Client]:[Produit]])Le résultat est une plage déversée sur deux colonnes : la première pour le client, la seconde pour le produit. Chaque combinaison distincte n’apparaît qu’une seule fois.
De la même façon, pour trois colonnes contiguës, vous pouvez étendre le bloc concerné :
=UNIQUE(Ventes[[Client]:[Ville]])Cette approche est extrêmement puissante, car elle reproduit le comportement d’une extraction de doublons basée sur la ligne entière, sans altérer la source. Toute modification dans le tableau d’origine entraîne une mise à jour automatique de la synthèse.
Comme pour une seule colonne, il faut toutefois garder un œil sur les lignes incomplètes. Si certaines combinaisons contiennent des cellules vides, elles peuvent apparaître dans le résultat. Dans beaucoup de cas, il est donc pertinent d’utiliser FILTRE avant UNIQUE pour ne conserver que les lignes réellement exploitables.
Filtrer les lignes avant d’extraire les combinaisons uniques
Lorsque vous travaillez sur plusieurs colonnes, FILTRE permet d’écarter les lignes qui ne répondent pas à vos règles minimales. Par exemple, si vous souhaitez extraire les couples Client + Produit uniquement lorsque le client et le produit sont renseignés, vous pouvez filtrer le bloc de colonnes sur ces deux conditions.
=UNIQUE(FILTRE(Ventes[[Client]:[Produit]];(Ventes[Client]<>"")*(Ventes[Produit]<>"")))Cette formule procède en deux temps :
- FILTRE conserve uniquement les lignes où
ClientetProduitne sont pas vides ; - UNIQUE supprime ensuite les doublons parmi ces couples valides.
Vous pouvez aussi ajouter un critère métier complémentaire. Par exemple, pour extraire les couples Client + Produit pour la ville Lyon :
=UNIQUE(FILTRE(Ventes[[Client]:[Produit]];Ventes[Ville]="Lyon"))Ou, si vous voulez à la fois exiger des champs renseignés et limiter la ville :
=UNIQUE(FILTRE(Ventes[[Client]:[Produit]];(Ventes[Ville]="Lyon")*(Ventes[Client]<>"")*(Ventes[Produit]<>"")))Cette manière de composer la formule est très souple. Elle permet de transformer un grand tableau brut en liste de combinaisons distinctes directement exploitables pour une synthèse, un contrôle ou une préparation de reporting.
- FILTRE conserve uniquement les lignes où
Compter les occurrences d’une combinaison avec NB.SI.ENS
Une fois vos lignes uniques extraites sur plusieurs colonnes, le comptage doit reprendre chaque critère de la combinaison. C’est exactement le rôle de NB.SI.ENS.
Supposons que la liste unique Client + Produit se déverse à partir de
G2:H2. La colonneGcontient le client, la colonneHle produit. Pour compter combien de fois ce couple apparaît dans la source, utilisez :=NB.SI.ENS(Ventes[Client];G2;Ventes[Produit];H2)La formule compte les lignes du tableau
Ventespour lesquelles le client correspond àG2et le produit àH2. Vous pouvez la recopier vers le bas pour chaque combinaison déversée.Si votre extraction était limitée à une ville donnée et que vous souhaitez compter uniquement à l’intérieur de cette ville, ajoutez le troisième critère :
=NB.SI.ENS(Ventes[Client];G2;Ventes[Produit];H2;Ventes[Ville];"Lyon")Le principe général est toujours le même : chaque colonne qui participe à la définition d’une ligne unique doit être reprise dans NB.SI.ENS. Sinon, vous ne comptez plus la combinaison exacte, mais un niveau plus large.
C’est cette cohérence entre extraction et comptage qui garantit une synthèse fiable. Si vous extrayez des paires, comptez des paires. Si vous extrayez des triplets, comptez des triplets. Et si la liste a été restreinte par un filtre métier, reprenez ce filtre dans le comptage lorsque c’est bien ce sous-ensemble que vous voulez mesurer.
Construire une synthèse lisible et durable
À ce stade, vous avez tous les éléments pour créer une synthèse automatisée. L’objectif est maintenant de la rendre lisible, stable et facile à maintenir dans le temps.
Une structure simple fonctionne très bien :
- une zone de sortie pour la liste unique ou les lignes uniques ;
- une colonne Occurrences à droite ;
- des en-têtes explicites ;
- si nécessaire, une mise sous forme de tableau de synthèse séparé visuellement de la source.
Par exemple, pour une synthèse par client :
- en
G1, mettez l’en-tête Client ; - en
H1, mettez l’en-tête Occurrences ; - en
G2, placez la formule d’extraction unique ; - en
H2, placez la formule de comptage puis recopiez-la.
Pour une synthèse par combinaison Client + Produit, vous pouvez utiliser trois en-têtes : Client, Produit et Occurrences. La liste unique se déverse sur deux colonnes, et la formule NB.SI.ENS s’appuie sur les cellules de la ligne courante.
Veillez à laisser un espace suffisant autour de la plage déversée. Évitez de saisir des valeurs manuelles juste sous la formule UNIQUE ou dans les colonnes qu’elle doit occuper, car cela bloquerait l’affichage du résultat.
Enfin, documentez votre feuille si elle doit être reprise par d’autres personnes. Une note courte indiquant que la synthèse repose sur UNIQUE, FILTRE et NB.SI.ENS peut éviter bien des incompréhensions lors d’une maintenance future.
Adapter la méthode à des cas courants
La méthode présentée peut être réutilisée dans de nombreuses situations courantes de bureautique et d’analyse dans Excel. Voici plusieurs modèles d’usage que vous pouvez reproduire avec la même logique.
1. Liste des catégories sans doublons
Si votre tableau contient une colonne Catégorie, utilisez UNIQUE pour obtenir une liste distincte, puis NB.SI.ENS pour savoir combien d’articles appartiennent à chaque catégorie.2. Liste des clients actifs dans une zone donnée
Avec FILTRE, ne retenez que les lignes correspondant à une ville ou à une région, puis extrayez les clients uniques. Le comptage peut rester global ou reprendre le même critère géographique.3. Couples produit + ville
Appliquez UNIQUE sur les deux colonnes concernées, puis comptez les occurrences de chaque couple avec NB.SI.ENS en reprenant les deux critères.4. Contrôle des doublons par combinaison
Lorsqu’une combinaison ne devrait apparaître qu’une seule fois, la synthèse permet de repérer rapidement les cas où le nombre d’occurrences est supérieur à 1.5. Préparation d’une liste de travail
Avant un publipostage, une relance, une vérification ou un reporting, vous pouvez produire une liste allégée et dédoublonnée sans toucher au tableau d’origine.Dans tous ces scénarios, la logique reste stable : définir l’unicité, filtrer si nécessaire, puis compter avec les mêmes critères que ceux qui décrivent l’élément à mesurer.
Erreurs fréquentes & dépannage
- Confondre valeur unique et ligne unique : extraire une seule colonne alors que l’unicité dépend de plusieurs colonnes produit une synthèse inexacte.
- Oublier les cellules vides : sans FILTRE, une ligne vide peut se glisser dans la liste unique.
- Compter avec un niveau de critère insuffisant : si vous extrayez un couple Client + Produit mais que vous comptez seulement le client, le résultat ne correspond plus à la combinaison.
- Ne pas reprendre le filtre logique dans NB.SI.ENS : une liste limitée à une ville peut être suivie d’un comptage global non souhaité.
- Bloquer la plage déversée : si des cellules contiennent déjà des données dans la zone de résultat, la formule dynamique ne pourra pas s’afficher correctement.
- Travailler sur une source incohérente : variantes d’écriture, espaces superflus ou données incomplètes peuvent créer de faux doublons ou de faux uniques.
Astuces & pour aller plus loin
Commencez toujours par écrire la formule la plus simple possible, puis ajoutez les conditions progressivement. Par exemple, testez d’abord =UNIQUE(Ventes[Client]), puis ajoutez FILTRE si vous devez exclure des vides ou restreindre le jeu de données.
Lorsque vous passez à des lignes uniques sur plusieurs colonnes, vérifiez systématiquement ce qui définit réellement l’unicité métier. Dans beaucoup de cas, une combinaison de deux ou trois colonnes est plus pertinente qu’une seule valeur isolée.
Pour le comptage, posez-vous une question claire : je compte dans toute la source ou seulement dans le sous-ensemble filtré ? Cette simple vérification évite la majorité des incohérences avec NB.SI.ENS.
Enfin, privilégiez les tableaux Excel structurés si votre source évolue souvent. Les références de type Ventes[Client] rendent les formules plus lisibles et plus simples à relire plusieurs semaines plus tard.
Questions fréquentes
Quelle différence entre extraire une colonne unique et extraire des lignes uniques ?
Extraire une colonne unique consiste à supprimer les doublons d’une seule liste de valeurs. Extraire des lignes uniques consiste à considérer une combinaison de plusieurs colonnes, par exemple Client et Produit, et à ne garder chaque combinaison qu’une seule fois.
Pourquoi utiliser FILTRE avant UNIQUE ?
FILTRE permet de nettoyer ou de restreindre les données avant l’extraction. Il sert notamment à ignorer les cellules vides ou à ne conserver que les lignes correspondant à un critère précis.
NB.SI.ENS est-il utile même si je n’ai qu’un seul critère ?
Oui. Avec un seul critère, il permet de compter les occurrences d’une valeur unique dans la source. Son intérêt est qu’il s’étend naturellement aux cas où plusieurs colonnes doivent être prises en compte.
Comment compter une combinaison Client + Produit extraite avec UNIQUE ?
Il faut reprendre chaque élément de la combinaison dans NB.SI.ENS, par exemple =NB.SI.ENS(Ventes[Client];G2;Ventes[Produit];H2). Ainsi, le comptage porte bien sur le couple exact et non sur un seul des deux champs.
Dois-je obligatoirement convertir mes données en tableau Excel ?
Non, les formules peuvent aussi fonctionner avec des plages classiques. Cependant, un tableau structuré rend les références plus lisibles et s’adapte mieux à l’ajout de nouvelles lignes.
Pourquoi ma formule UNIQUE ne s’affiche-t-elle pas correctement ?
La cause fréquente est l’absence d’espace libre pour la plage déversée. Vérifiez que les cellules situées sous la formule, et parfois sur les colonnes voisines, sont vides.
Conclusion
Extraire automatiquement des lignes ou des valeurs uniques dans Excel ne nécessite plus de manipulations manuelles répétitives lorsque vous disposez des fonctions dynamiques adaptées. En combinant UNIQUE pour dédoublonner, FILTRE pour restreindre ou nettoyer la source, et NB.SI.ENS pour compter précisément les occurrences, vous pouvez bâtir des synthèses souples, lisibles et mises à jour automatiquement.
La clé de la méthode tient dans une idée simple : définir correctement ce qui est unique, puis appliquer au comptage les mêmes critères que ceux qui décrivent l’élément extrait. Une fois cette logique maîtrisée, vous pourrez réutiliser ce schéma dans de très nombreux tableaux Excel, qu’il s’agisse de listes simples, de combinaisons de colonnes ou de sous-ensembles filtrés selon vos besoins.