Excel : comparaison de listes
Résoludanielc0 Messages postés 2053 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je me retrouve avec une "équation" en 2 étapes.
J'ai 3 listes :
- QP (col A) la plus longue et complète
- PRI, (col B) un premier tri : ils sont déjà dans QP mais avec un critère de plus (ex. âge)
- Poten (col G) qui est une autre liste.
https://www.transfernow.net/dl/20250527LszkiK99
Questions :
- quelle formule utilisée dans Col C : Tous ceux qui sont QP mais pas PRI ?
- lorsque c'est effectif, le résultat est copié dans la colonne F puis on compare le résultat avec la liste Poten. Donc quelle formule utilisée dans col H : Tous ceux qui ne sont ni PRI ni Poten mais QPV ? soit en plus simple : H= F-G .
Dans ces 2 colonnes, je ne verrais que les noms des personnes absentes de B puis de G. Au besoin, il peut apparaitre dans les colonnes C et H : 0 pour dire que le nom est présent dans les 2 colonnes concernés.
La formule que j'ai : =SI(NB.SI(B:B;A3)=0;A3;"") est défaillante. D'où cette question.
J'espère avoir été claire.
Si besoin, n'hésitez pas à me demander une reformulation.
Je vous remercie pour vos conseils.
Bonne journée
Anne, utilisatrice de base ![]()
Windows / Chrome 136.0.0.0
- Comment faire une moyenne sur excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
3 réponses
Le besoin est d’extraire, à partir de QP (col A), les noms qui ne figurent pas dans PRI (col B) pour obtenir C, puis de retenir parmi ces noms ceux qui ne sont pas dans Poten (col G) afin d’obtenir H, avec H calculé à partir des éléments de F (la liste des QP sans PRI). Pour Excel 365, les solutions recommandées consistent à utiliser les formules FILTRE et NB.SI: en C5, =FILTRE(A5:A22;NB.SI(B5:B15;A5:A22)=0;""); et en H5, =FILTRE(F5:F22;((NB.SI(G5:G22;F5:F22)=0)*(F5:F22<>""));""), avec la possibilité d’utiliser C5# comme source pour éviter de recopier. Une alternative sans FILTRE existe, basée sur INDEX et AGREGAT pour agréger les valeurs manquantes. L’usage de plages non structurées facilite l’application des formules et évite les recopiages, ce qui permet d’obtenir les résultats directement.
Pour conserver les tableaux structurés :
En C5, à recopier vers le bas :
=SIERREUR(INDEX(A:A;AGREGAT(15;6;LIGNE([QP])/ESTNA(EQUIV([QP];[PRI
(ils sont déjà de base QP)];0));LIGNE(A1)));"")
En H5, à recopier vers le bas :
=SIERREUR(INDEX(F:F;AGREGAT(15;6;LIGNE([Tous ceux qui sont
QP mais pas PRI
= COLONNE C])/ESTNA(EQUIV([Tous ceux qui sont
QP mais pas PRI
= COLONNE C];[Poten];0));LIGNE(F1)));"")
Note, il faut conserver les sauts de ligne de la dernière formule.
Daniel
Bonjour,
Je ne comprends absolument pas ta demande ; tu ne donnes aucun exemple de réponse souhaitée dans ton tableau
Pourquoi A3 dans la formule alors que les données sur le premier tableau commencent en ligne 5 ?
Cordialement
Bonjour,
Solution avec Excel 365. Les colonnes contenant les formules ne doivent pas se trouver dans des tableaux structurés. J'ai convertis ces tableaux en plage. En C5 :
=FILTRE(A5:A22;NB.SI(B5:B15;A5:A22)=0;"")
En H5 :
=FILTRE(F5:F22;((NB.SI(G5:G22;F5:F22)=0)*(F5:F22<>""));"")
(formules uniques, ne pas recopier vers le bas).
Daniel
De quelle formule parles-tu ?
Il ne faut pas recopier celle-ci :
=FILTRE(A5:A22;NB.SI(B5:B15;A5:A22)=0;"")
https://www.transfernow.net/dl/20250527RRmUlYbi
Daniel
je vais essayer.
merci beaucoup
C'es parafait
Merci beaucoup Daniel.
En repassant en plage plutôt qu'en tableau, cela fonctionne parfaitement.
Au TOP !
Bonne journée
Anne
Bonjour à tous,
Merci du retour. Bonne journée également.
Daniel