Excel 2007: comptabiliser une cellule si contient un caractère

Résolu/Fermé
Hélène-
Messages postés
5
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
- 4 déc. 2012 à 17:39
Hélène-
Messages postés
5
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
- 4 déc. 2012 à 21:07
Bonjour,

Je souhaiterais comptabiliser une cellule, contenue dans mon feuillet 1, qui s'appelle T1TARV, si elle contient un X. Ce X peut être n'importe où dans la cellule, c'est à dire que je peux avoir X tout seul, mais aussi PX, MX, etc, etc et après ce X j'ai une date.

J'ai cherché sur le net et je pense qu'il faut utiliser la fonction NB.SI

donc je voulais mettre =NB.SI('T1TARV'!$H$10:$H$1499;"*X*") mais excel ne me prend même pas la formule mais il m'ouvre un document "mettre à jour les valeurs". je ne comprends pas.

Pouvez vous m'aider?

Je voudrais aussi additionner dans cette formule tous les cellules, dans la même plage, qui contiendrait "ABS" .

De plus j'aimerais comptabiliser ce X seulement si le patient a plus de 15 ans donc je voulais y associer *((AUJOURDHUI()-'T1 TARV'!$E$10:$E$1499)/365,25>15))

Je vous remercie


8 réponses

Hélène-
Messages postés
5
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
2
4 déc. 2012 à 19:13
Merci pour ta réponse.
Alors j'ai essayé plein de choses et je suis arrivée à ça
=SOMMEPROD(((NB.SI('T1 TARV'!$H$10:$H$1499;"*X*")+((NB.SI('T1 TARV'!$H$10:$H$1499;"*ABS*")*('T1 TARV'!$F$10:$F$1499=$C14))*((AUJOURDHUI()-'T1 TARV'!$E$10:$E$1499)/365,25>15)))))

mais ça ne marche pas... J'ai fait un test et je devrais avoir 1 comme résultat et j'obtiens 1491.

les apostrophes, c'est excel qui me les met quand je vais dans la cellule.

Mais régulièrement, j'ai "mettre à jour les valeurs" alors que je n'ai aucun lien... donc je ne comprends pas...
1
Hélène-
Messages postés
5
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
2
4 déc. 2012 à 19:46
Merci beaucoup.

Donc en fait, je compte des patients.

Je veux savoir combien de X j'ai (avec le X n'importe où) + le nombre de patients ABS (pour comptabiliser aussi leur traitement donc où je mets ABS) qui ont tel ou tel protocole d'où le ('T1 TARV'!$F$10:$F$1499=$C14) dans ma formule pour préciser quel protocole et pour les patients de plus de 15 ans uniquement d'où la fin de ma formule.

Je ne peux malheureusement pas mettre le doc sur le forum car c'est des données confidentielles.

Merci encore de ton aide
1
pépé35530
Messages postés
2940
Date d'inscription
vendredi 1 mai 2009
Statut
Membre
Dernière intervention
19 mars 2016
1 377
4 déc. 2012 à 19:04
Bonsoir,

Ta formule devrait fonctionner.
Par contre le nom de ton fichier ne devrait pas être entre apostrophes.
As-tu essayé de faire la manip simplement avec la souris ?

A+

pépé
0
pépé35530
Messages postés
2940
Date d'inscription
vendredi 1 mai 2009
Statut
Membre
Dernière intervention
19 mars 2016
1 377
Modifié par pépé35530 le 4/12/2012 à 19:29
Bonjour,

Voici un fichier utilisant ta première formule

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


peux-tu donner plus d'infos pour les questions 2 et 3

A+

pépé
0

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

Posez votre question
Vaucluse
Messages postés
26495
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
8 avril 2022
6 252
Modifié par Vaucluse le 4/12/2012 à 20:05
Bonsoir

je n'ai pas d'explication pour votre première question, sauf peut être et un peu au hasard si vos données sont alimentées par un autre fichier.

la solution "*X*" ne fonctionne pas avec un code exigeant le signe égal.
Ce qu'il faudrait savoir, c'est comment est indiqué l'age de vos patients dans votre tableau!
Vous avez par exemple une solution dans excel à partir de 2007:
Si vous avez une colonne age:
=NB.SI.ENS(Champ age;">15";champ abs;"*ABS*";champ X;"*X*")
les "champs ..." étant bien sur les limites où se trouvent les valeurs à chercher

Je pense donc qu'il serait plus simple pour vous de créer une colonne avec la'age du patient et si vous voulez l'avoir en année complète, avec la formule:
=DATE DIF(Date naissance;AUJOURDHUI();"y")

Mais ce n'est qu'une supposition car on n'en sait peu sur votre sujet.
crdlmnt

ne sommes nous pas seuls à comprendre ce que l'on explique?
0
Hélène-
Messages postés
5
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
2
4 déc. 2012 à 20:24
Merci beaucoup pour votre aide. Je vais essayer de voir si je peux adapter votre formule.

Je n'ai pas de colonne avec l'âge mais juste une colonne avec la date de naissance.
Je ne peux pas mettre de colonne avec l'âge car je verrouille le document et je veux que les utilisateurs puissent insérer des lignes (et si il y avait une colonne avec l'âge calculé à partir de la date de naissance, on ne pouvait plus insérer de lignes) d'où mon ((AUJOURDHUI()-'T1 TARV'!$E$10:$E$1499)/365,25>15))))) dans la tentative de formule.

Bonne soirée
0
tontong
Messages postés
2512
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
17 mai 2022
1 023
4 déc. 2012 à 20:28
Bonjour,
Quelques observations:
On voit le nom de la feuille écrit avec et sans espace.
Est-ce la cause du dysfonctionnement de NB.SI(...) ?
NB.SI accepte les caractères de remplacement ?et * mais un seul critère.
Sommeprod accepte de multiples critères mais pas les caractères de remplacement.
SOMMEPROD((A2:A11="*ot*")*(B2:B11="abc")) nest pas correct .
Il faut utiliser SOMMEPROD((ESTNUM(CHERCHE("ot";A2:A11))*(B2:B11="abc"))
On peut aussi utiliser une fonction Texte si l'expression "ot"est toujours placée de la même façon dans le texte de la cellule.
Si on reste dans l'impasse il faudra faire un petit bout de fichier "bidon" et le joindre au prochain message.

Comme d(habitude je n'ai pas réactualisé et donc pas vu le message de Vaucluse...Mais ça complète un petit peu.
0
Hélène-
Messages postés
5
Date d'inscription
mardi 4 décembre 2012
Statut
Membre
Dernière intervention
4 décembre 2012
2
4 déc. 2012 à 21:07
Merci beaucoup.

voilà ça fonctionne.

Bonne soirée à tous
0