Microsoft 365 NB.SI et ESTNUM

eric72

XLDnaute Accro
Bonjour à tous,
J'ai un petit souci avec une formule, j'aimerais faire un NB.SI en fonction du poste occupé, ça j'y arrive (formule en c21 feuille Planning), mais j'aimerais tester la présence de cette personne, c'est à dire que la colonne "C" contienne une valeur numérique, et là je bloque!!!
Merci beaucoup pour votre dévouement (une nouvelle fois)
Eric
 

Pièces jointes

  • Planning Type V1.xlsm
    87.1 KB · Affichages: 5
Solution
RE

Effectivement RECHERCHEX dans NB.SI ne travaille pas en matriciel et de plus il faut l'inverser

En C21
VB:
=SOMMEPROD((RECHERCHEX(Planning!$A$7:$A$18;TbEffectif[Init];TbEffectif[Poste occupé];"";0)=Données!$A$2)*(ESTNUM(C7:C18)))
Puis sélectionner C21:Z21 et utiliser CTRL D

job75

XLDnaute Barbatruc
Bonjour eric72, chris,

Pas certain d'avoir compris la demande mais voyez le fichier joint.

Puisque les heures sont des textes convertissons B20 en texte par TEXTE($B20;"hh:mm")

Formule classique en C21 :
Code:
=SOMMEPROD(ESTNUM(CHERCHE("pharmacien";$B7:$B18))*((TEXTE($B20;"hh:mm")>=C7:C18)*(TEXTE($B20;"hh:mm")<=D7:D18)+(TEXTE($B20;"hh:mm")>=E7:E18)*(TEXTE($B20;"hh:mm")<=F7:F18)))
Elle est longue car les 4 colonnes C D E F sont étudiées simultanément.

Elle ne nécessite pas de validation matricielle ce qui permet de fusionner la plage C21:F21.

A+
 

Pièces jointes

  • Planning Type V1.xlsm
    79.2 KB · Affichages: 4

eric72

XLDnaute Accro
Bonjour eric72, chris,

Pas certain d'avoir compris la demande mais voyez le fichier joint.

Puisque les heures sont des textes convertissons B20 en texte par TEXTE($B20;"hh:mm")

Formule classique en C21 :
Code:
=SOMMEPROD(ESTNUM(CHERCHE("pharmacien";$B7:$B18))*((TEXTE($B20;"hh:mm")>=C7:C18)*(TEXTE($B20;"hh:mm")<=D7:D18)+(TEXTE($B20;"hh:mm")>=E7:E18)*(TEXTE($B20;"hh:mm")<=F7:F18)))
Elle est longue car les 4 colonnes C D E F sont étudiées simultanément.

Elle ne nécessite pas de validation matricielle ce qui permet de fusionner la plage C21:F21.

A+
Bonjour job 75,
Merci pour votre réponse, je garde cette formule qui me va bien:
NB.SI.ENS($A$7:$A$18;RECHERCHEX(Données!$A$2;TbEffectif[Poste occupé];TbEffectif[Init]);C7:C18;">0")
Cependant Je garde au chaud la votre
Merci beaucoup et bonne journée
Eric
 

eric72

XLDnaute Accro
Bonjour eric72, chris,

Pas certain d'avoir compris la demande mais voyez le fichier joint.

Puisque les heures sont des textes convertissons B20 en texte par TEXTE($B20;"hh:mm")

Formule classique en C21 :
Code:
=SOMMEPROD(ESTNUM(CHERCHE("pharmacien";$B7:$B18))*((TEXTE($B20;"hh:mm")>=C7:C18)*(TEXTE($B20;"hh:mm")<=D7:D18)+(TEXTE($B20;"hh:mm")>=E7:E18)*(TEXTE($B20;"hh:mm")<=F7:F18)))
Elle est longue car les 4 colonnes C D E F sont étudiées simultanément.

Elle ne nécessite pas de validation matricielle ce qui permet de fusionner la plage C21:F21.

A+
Par contre j'ai un autre souci avec la formule du dessous, j'aimerais savoir combien de personnes sont présentes à l'heure indiquée en b20 mais ça ne fonctionne pas bien et pourtant!!!
 

Pièces jointes

  • Planning Type V1.xlsm
    105 KB · Affichages: 2

eric72

XLDnaute Accro
Bonjour eric72, chris,

Pas certain d'avoir compris la demande mais voyez le fichier joint.

Puisque les heures sont des textes convertissons B20 en texte par TEXTE($B20;"hh:mm")

Formule classique en C21 :
Code:
=SOMMEPROD(ESTNUM(CHERCHE("pharmacien";$B7:$B18))*((TEXTE($B20;"hh:mm")>=C7:C18)*(TEXTE($B20;"hh:mm")<=D7:D18)+(TEXTE($B20;"hh:mm")>=E7:E18)*(TEXTE($B20;"hh:mm")<=F7:F18)))
Elle est longue car les 4 colonnes C D E F sont étudiées simultanément.

Elle ne nécessite pas de validation matricielle ce qui permet de fusionner la plage C21:F21.

A+
j'ai essayé avec cette formule
NB.SI.ENS(C7:C18;">0";C7:C18;"<=B20";D7:D18;">0";D7:D18;">=B20")
sans succès.
Merci
 

Discussions similaires

Réponses
5
Affichages
149
Réponses
5
Affichages
134
Réponses
5
Affichages
274

Statistiques des forums

Discussions
312 210
Messages
2 086 277
Membres
103 170
dernier inscrit
HASSEN@45