XL 2019 Peut-être en combinant NB.SI et EQUIV ?

Formulatix

XLDnaute Nouveau
Bonsoir,

Je n'arrive pas à écrire la fonction pour ça:

En fonction du choix N° dossier en A2
SI la donnée texte x est présente dans le dossier tableau nommé A15 :J26
0 ou 1 sont attribués aux cellules B5 à B12 du tableau nommé A4 :B12
0 la donnée texte x n’est pas présente dans le dossier
1 la donnée texte x est présente dans le dossier
 

Pièces jointes

  • Ex_compare destination.xlsx
    16.5 KB · Affichages: 9
Solution
Bonjour @ tous,
Salut cher @mapomme, ce n'est pas grave mon ami ;)

@Formulatix
En D5 :
VB:
=NB(1/SI(G5:N5<>"";ESTNA(EQUIV(G5:N5;Tableau1[Données];0))))
@ valider par Ctrl+Maj+Entrée
Cette formule va te renvoyer le nombre de données textes qui n'existent pas dans la liste du tableau 1.

Si tu ne veux obtenir que 1 ou 0, tu pourrais ajouter le --(Formule>0) comme j'ai fait sur mon Post #4
La validation matricielle est toujours obligatoire.

Cordialement

njhub

XLDnaute Occasionnel
Bonsoir Formulatix,

testez la formule suivante en B5, à étendre jusqu'en B11 :
Code:
=ESTNUM(EQUIV($A5;INDIRECT(CONCATENER(ADRESSE(EQUIV($A$2;$A$16:$A$26;0)+15;1);":";ADRESSE(EQUIV($A$2;$A$16:$A$26;0)+15;10));1);0))

Elle renverra vrai ou faux tant que vous n'aurez pas formaté les cellules au format nombre

;)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Les deux tableaux sont des tableaux structurés. On peut donc utiliser la notation des tableaux structurés.
Un des avantages est le déplacement possible de chacun des tableaux tout en gardant les formules correctes. On peut aussi ajouter des colonnes à droite dans le TS "Tableau2". Les formules les prendront automatiquement en compte.

Formule en B5 à tirer vers le bas :
VB:
=1*(ESTNUM(EQUIV([@Données];DECALER(Tableau2[#En-têtes];EQUIV($A$2;Tableau2[[#Tout];[Dossiers]];0)-1;2;1;NBVAL(Tableau2[#En-têtes])-2);0)))
 

Pièces jointes

  • Formulatix- Ex_compare destination- v1.xlsx
    18.3 KB · Affichages: 0

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Une formule beaucoup plus simple qui conserve la notation des tableaux structurés, utilisable à conditions que les textes recherchés ne soit pas présent dans les colonnes "Dossiers" et Ref" de Tableau2 :
VB:
=1*(SOMMEPROD((Tableau2=[@Données])*(Tableau2[Dossiers]=$A$2))>0)

Au cas où les textes recherchés sont susceptibles d'être présents dans les colonnes "Dossiers" et Ref" de Tableau2, utiliser la formule suivante :
VB:
=1*(SOMMEPROD((Tableau2[[Colonne8]:[Colonne7]]=[@Données])*(Tableau2[Dossiers]=$A$2))>0)

Nota : @R@chid - Bonjour Rachid :). Je viens juste de m'apercevoir que ces formules sont en fait des variantes de la tienne. Milles excuses. Je t'en laisse donc avec plaisir la primeur ;).
 

Pièces jointes

  • Formulatix- Ex_compare destination- v2.xlsx
    18.9 KB · Affichages: 1
Dernière édition:

Formulatix

XLDnaute Nouveau
Bonjour et merci beaucoup Rachid et mapomme d'avoir suivi ce post

En effet le positionnement et l'évolution de mes tableaux fragilisaient la fiabilité des formules

C'est vrai que la solution proposée et plus fiable et simple

Du coup j'ose une demande supplémentaire pour les mêmes tableaux

Si j'insère une colonne dans le tableau 2
Comment pour chaque dossier, donner une valeur 1 si une donnée texte est inscrite alors qu'elle n'est plus dans la liste des données texte du tableau 1 ?
 

Pièces jointes

  • Formulatix- Ex_compare destination- v3.xlsx
    18.9 KB · Affichages: 3

R@chid

XLDnaute Barbatruc
Bonjour @ tous,
Salut cher @mapomme, ce n'est pas grave mon ami ;)

@Formulatix
En D5 :
VB:
=NB(1/SI(G5:N5<>"";ESTNA(EQUIV(G5:N5;Tableau1[Données];0))))
@ valider par Ctrl+Maj+Entrée
Cette formule va te renvoyer le nombre de données textes qui n'existent pas dans la liste du tableau 1.

Si tu ne veux obtenir que 1 ou 0, tu pourrais ajouter le --(Formule>0) comme j'ai fait sur mon Post #4
La validation matricielle est toujours obligatoire.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024