Trouver & Compter le nombre de valeurs égales entre deux listes [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
mercredi 2 décembre 2015
Statut
Membre
Dernière intervention
3 décembre 2015
-
Messages postés
2
Date d'inscription
mercredi 2 décembre 2015
Statut
Membre
Dernière intervention
3 décembre 2015
-
Bonjour tous le monde,

Je vais schématiser mon problème pour que ce soit plus simple, J'ai deux listes de noms :



Liste 1 :

aaa
bbb
ccc
vvv
zzz


Liste 2 :

aaa
bbb
xxx




J'aimerai avoir trois formules :

- Une pour compter le nombre de valeurs égales entre ces deux listes, soit "2" (pour aaa & bbb)
- Une pour compter le nombre de valeurs de la liste 2 qui ne figurent pas dans la liste 1, soit "1" (pour xxx)
- Une pour compter le nombre de valeurs de la liste 1 qui ne figurent pas dans la liste 2, soit "3" (pour ccc, vvv & zzz)

Je ne veux pas de macros et je ne veux pas avoir besoin d'ajouter une nouvelle colonne à mon tableau. Je ne voudrai qu'une unique formule pour chacun de ces trois cas ! Pour moi c'est un vrai casse-tête ;)

Je vous remercie par avance !

1 réponse

Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 239
Bonjour,

Pour moi c'est un vrai casse-tête ;)

C'est sans doute pour cela que tu le refiles à l'ensemble du web ?

Voici tes résultats avec une unique formule pour chacun de ces trois cas
présents 2 listes
=SOMMEPROD(--(NON(ESTERREUR(EQUIV(liste1;Liste2;0)))))

seuls liste1
=NBVAL(liste1)-SOMMEPROD(--(NON(ESTERREUR(EQUIV(liste1;Liste2;0)))))

seuls liste2
=NBVAL(Liste2)-SOMMEPROD(--(NON(ESTERREUR(EQUIV(Liste2;liste1;0)))))


https://www.cjoint.com/c/ELdirh4HxTl

Pour que cela fonctionne sans avoir besoin de modifications, il est préférable de nommer dynamiquement les listes, comme tu peux le vérifier en rajoutant ou supprimant des éléments aux listes.
Messages postés
2
Date d'inscription
mercredi 2 décembre 2015
Statut
Membre
Dernière intervention
3 décembre 2015

ça marche ! Merci beaucoup, c'est parfait !