Microsoft 365 Résultat toujours le même

Squoltahthx94

XLDnaute Occasionnel
Bonjour à tous,

Je vous joins un exemple de mon problème :

Je recherche dans l'exemple joint pour une date donné (H5:H11) et un utilisateur donné (H2) une valeur de num_inter.
J'utilise somme prod mais j'ai toujours une erreur 'pas trouvée'

VB:
=SIERREUR(SOMMEPROD((rep_intervention[NoM]=H2)*(rep_intervention[date_inter]=H5)*(rep_intervention[num_inter]));"Pas trouvée")

Ces informations proviennent d'une BDD Mysql que je lie avec le connecteur OBDC.
Ma question est la suivante :
- est ce que je fais une erreur dans la formule ?
- ou bien faut il que j'utilise autre chose (Power query par exemple) pour trouver mon résultat en J3

Merci de vos réponses

Bon dimanche
 

Pièces jointes

  • Exemple.xlsx
    21.6 KB · Affichages: 15

R@chid

XLDnaute Barbatruc
Bonjour,
normalement tu n'as pas besoin de SIERREUR() avec SOMMEPROD(), car si les critères ne corresmondent pas la formule va renvoyer 0, l'erreur vient du fait que tu multiplies une plage de texte (num_inter) par des nombres ce qui n'est pas évident.
Qu'est-ce que tu souhaites compter ?
Si tu cherches le num_inter il faut faire comme ça :
VB:
=SIERREUR(INDEX(rep_intervention[num_inter];EQUIV(H5&H2;rep_intervention[date_inter]&rep_intervention[NoM];0));"Pas trouvé")
@ valider par Ctrl+Shift+Enter

Cordialement
 

job75

XLDnaute Barbatruc
Bonjour Squoltahthx94, R@chid,
Une question supplémentaire comment puis je traiter le fait d'avoir plusieurs numéros pour la même date.
D'une manière très classique, voyez le fichier joint et cette formule matricielle en I6 :
Code:
=SIERREUR(INDEX(rep_intervention[num_inter];PETITE.VALEUR(SI(((rep_intervention[date_inter]=I$2)+ESTVIDE(I$2))*((rep_intervention[Nom]=I$3)+ESTVIDE(I$3));LIGNE(rep_intervention)-1);LIGNE(I1)));"")
A+
 

Pièces jointes

  • Exemple(1).xlsx
    21.2 KB · Affichages: 8

Statistiques des forums

Discussions
312 172
Messages
2 085 932
Membres
103 050
dernier inscrit
HAMZA BKA