Nombre de colonnes répondant à plusieurs conditions

Résolu
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans le fichier en lien, je voudrais qu'Excel me donne le nombre de colonne où les cellules de la ligne contenant B commencant soit par T ou D, et que la colonne contient T01.

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

Si le message n'est pas assez clair, n'hésitez pas à me poser des questions.

Merci
A voir également:

6 réponses

Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
effectivement, ça n'est pas clair du tout
on ne voit pas dans le tableau où vous aller chercher les D et T et à priori vous avez un feuille 1 une formule qui fait référence à un autre fichier?
on ne voit pas non plus où vous voulez le résultat
à vous lire pour complément

0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

Vous avez dit pas clair ! alors non pas clair

Donne un exemple avec des cellules commençant par T et dans la colonne nous trouvons T01 il faut en trouver combien ? cela nous aidera certainement à comprendre
0
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Si je prends le fichier en pièce jointe, le résultat (à trouver dans la colonne C de l'onglert Feuil1) serait pour chaque colonne :

- Jour 2 = 1 car la ligne avec "B" dans la colonne C (recherche de la cellule A2) contient "T01"
- Jour 3 = 1 (idem jour 2)
- Jour 4 = 1 car la ligne avec "B" dans la colonne C (recherche de la cellule A2) ne contient pas T01 MAIS commence par T et une autre cellule de la colonne contient T01
- Jour 10 = 0 car la ligne avec "B" dans la colonne C (recherche de la cellule A2) ne commence pas par T
- Jour 31 = 0 car la ligne avec "B" dans la colonne C (recherche de la cellule A2) ne contient pas T01 ET aucune cellule de la colonne ne contient T01

J'ai modifié le fichier pour faciliter la compréhension :
https://www.cjoint.com/c/DLmvXSBddEJ

Il ne peut pas y avoir plusieurs fois T01 dans une colonne.

Merci de voir si vous pouvez m'aider.
0
oz@work Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonsoir Aurelp95,

La formule que je peux te proposer se décompose de cette manière:
Commençons par la colonne D.J'inscris la formule en D12.
1.
=RECHERCHEV("B";$C$3:D11;COLONNES($C$3:D11);FAUX)
Renvoie la valeur de la colonne D qui est sur la même ligne que "B" dans la colonne C.

2.
=GAUCHE(INDEX(D3:D11;EQUIV("B";$C$3:$C$11;1);1);1)
ou
=GAUCHE(RECHERCHEV("B";$C$3:D11;COLONNES($C$3:D11);FAUX);1)
Renvoie la première lettre de la valeur de la colonne D qui est sur la même ligne que "B" dans la colonne C.

3.Formule finale:
=SI(RECHERCHEV("B";$C$3:D11;COLONNES($C$3:D11);FAUX)="T01";1;SI(ET(GAUCHE(INDEX(D3:D11;EQUIV("B";$C$3:$C$11;1);1);1)="T";NB.SI(D3:D11;"T01")=1);1;0))
ou
=SI(RECHERCHEV("B";$C$3:D11;COLONNES($C$3:D11);FAUX)="T01";1;SI(ET(GAUCHE(RECHERCHEV("B";$C$3:D11;COLONNES($C$3:D11);FAUX);1)="T";NB.SI(D3:D11;"T01")=1);1;0))
Renvoie "1" si la valeur de la colonne D qui est sur la même ligne que "B" dans la colonne C = "T01"
Renvoie "1" si la valeur de la colonne D qui est sur la même ligne que "B" dans la colonne C commence par "T" et si il y a "T01" présent une seule fois dans la colonne D.
Renvoie "0" si aucune des deux conditions au-dessus sont satisfaisantes.

4.Copier la formule du 3. dans [E12:AH12]

J'espère avoir répondu à ton soucis.Bonne soirée.
Je ne suis pas magicien :D
0
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Je viens de la tester sur l'exemple, la 2ème fonctionne.

Je vais donc la tester ce week-end sur le reste de mon fichier pour voir si celà fonctionne, mais ça me parait pas mal.
0
oz@work Messages postés 127 Date d'inscription   Statut Membre Dernière intervention   3
 
Alors?Elle fonctionne ou pas?
0
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Je viens de finir de la tester sur l'ensemble de mon fichier en la modifiant bien entendu pour que ça colle, d'où le retour un peu tardif.

C'est vrai qu'au départ, je cherchais une formule qui me donne tous le mois dans une seule cellule, mais si il faut passer par un calcul par jour, c'est déjà ça.

Merci.
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour,

Ça fait 2 jour que tu l'as ta formule !
Enfin, je devrais plutôt dire la formule qui correspond à ce que j'ai compris de ton problème

Et elle te calcule le mois en une seule fois.
Je l'ai même décomposée avec des noms (qu'il te reste quand même à créer) pour qu'elle soit plus claire.

Cdlt
0
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Désolé, je viens seulement de voir votre message car quand j'ai travaillé sur la feuille ce matin, je n'étais pas connecté (boîte mail du boulot que je ne reçois pas sur mon téléphone).

Je vais y regarder de plus près pour voir si celà fonctionne.

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention   953
 
Salut le Forum

Essaye cette formule :
=SOMMEPROD(($C$3:$C$11="B")*(NON(ESTERREUR(TROUVE("T01";$D$3:$AH$11))))*((GAUCHE($D$3:$AH$11;1)="T")+(GAUCHE($D$3:$AH$11;1)="D")))

Mytå
0
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
J'avais déjà essayé cette formule, mais je l'ai tout de même réessayé, et elle ne fonctionne pas car elle ne tient pas compte de la condition si T01 est attribué à une autre lettre que "B" et que la cellule de "B" de cette colonne commence par "T" ou "D".

Le résultat pour la formule devrait être 15 et là, on ne trouve que 14.
0
Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention   953
 
Re le Forum

J'aurais 16 comme résultat 14 pour B et 2 pour A

=SOMMEPROD(($C$3:$C$11="B")*(NON(ESTERREUR(TROUVE("T01";$D$3:$AH$11))))*((GAUCHE($D$3:$AH$11;1)="T")+(GAUCHE($D$3:$AH$11;1)="D")))+SOMMEPROD(($C$3:$C$11<>"B")*(NON(ESTERREUR(TROUVE("T01";$D$3:$AH$11)))))

Mytå
0
Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention   953
 
Re le Forum

Si c'est pas le bon résultat, colore en rouge les cellules à compter dans ton fichier.

Mytå
0
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > Mytå Messages postés 2973 Date d'inscription   Statut Contributeur Dernière intervention  
 
Voici le nouveau lien avec les cellules coloriées en rouge

https://www.cjoint.com/?DLnv7hTnqVJ

Le problème est qu'elle compte toutes les fois où T01 apparait dans le tableau, peu importe ce qu'il y a dans la ligne de "B" alors que si la ligne de "B" ne commence par "T" ou "D", le T01 ne doit pas être comptabilisé.
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonsoir à tous,

proposition de formule :
=SOMMEPROD(zone_Data_T01*ligne_Lettre_Deb_T_ou_D)

avec comme liste de noms :
agents	        ='01'!$C$3:$C$197
lettre =Feuil1!$A$2
ligne_Lettre =INDEX(zone_Data;EQUIV(lettre;agents;FAUX);0)
ligne_Lettre_Deb_T_ou_D =--(GAUCHE(ligne_Lettre)="T")--(GAUCHE(ligne_Lettre)="D")
zone_Data ='01'!$D$3:$AH$197
zone_Data_T01 =--(zone_Data="T01")


cordialement
0
aurelp95 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Merci JvDo, elle fonctionne nickel.

Et pour me faciliter le travail pour les autres mois et pour d'autres agents, j'ai tous remis directement dans la cellule sans passer par les listes de noms et celà fonctionne aussi.

Bonne journée
0