Nombre de colonnes répondant à plusieurs conditions

Résolu/Fermé
aurelp95 Messages postés 12 Date d'inscription mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014 - 12 déc. 2014 à 07:50
aurelp95 Messages postés 12 Date d'inscription mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014 - 16 déc. 2014 à 04:46
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 lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
12 déc. 2014 à 08:02
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 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
12 déc. 2014 à 08:10
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 mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014
12 déc. 2014 à 21:44
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 dimanche 2 novembre 2014 Statut Membre Dernière intervention 20 janvier 2015 3
Modifié par oz@work le 12/12/2014 à 22:39
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 mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014
13 déc. 2014 à 05:09
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 dimanche 2 novembre 2014 Statut Membre Dernière intervention 20 janvier 2015 3
14 déc. 2014 à 23:01
Alors?Elle fonctionne ou pas?
0
aurelp95 Messages postés 12 Date d'inscription mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014
15 déc. 2014 à 05:06
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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
15 déc. 2014 à 05:36
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 mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014
15 déc. 2014 à 05:52
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 mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
13 déc. 2014 à 02:59
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 mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014
13 déc. 2014 à 05:03
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 mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
13 déc. 2014 à 17:29
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 mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
13 déc. 2014 à 17:36
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 mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014 > Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016
13 déc. 2014 à 21:55
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 mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
13 déc. 2014 à 20:15
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 mercredi 12 novembre 2014 Statut Membre Dernière intervention 16 décembre 2014
16 déc. 2014 à 04:46
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