Problème de formule pour calculer le nombre de cellule contenant un mot [Résolu]

Signaler
Messages postés
8
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2020
-
Messages postés
8
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2020
-
Bonjour,
Pour commencer un grand merci aux membres de la communauté qui voudront bien m'éclairer sur ce problème de formule dans calc que je n'arrive pas à résoudre, étant plus ou moins - moins que plus d'ailleurs - novice en la matière.
Je recherche sur un ensemble de cellules (B2:B32), le nombre de celles qui contiennent le mot MATIN, APRES-MIDI, REPOS, FERIE....
J'utilise la formule : =NB.SI(B2:B32;"MATIN") pour "MATIN". Le résultat est tronqué lorsque la cellule contient "MATIN FERIE" et non "MATIN" seul.
Je vous joins mon tableur : https://www.cjoint.com/c/JEvmXMarpWP
Merci à nouveau pour votre participation.
Kazimix

Configuration: Windows / Chrome 81.0.4044.138

4 réponses

Messages postés
5670
Date d'inscription
mardi 13 février 2018
Statut
Contributeur
Dernière intervention
30 novembre 2020
2 434
Bonjour,

Raymond Pentier (hello !) signale à juste titre que la formule en B39 est fausse.

Pour utiliser le caractère générique *, va dans Outils > Options > LibreOffice Calc > Calcul


Tu pourras utiliser des formules du type =NB.SI(B2:B32;"*MATIN*")
(Le problème est résolu avec ces formules).
Messages postés
8
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2020

Bonjour Pierr10,
Je reviens sur ce sujet résolu avec ce même exemple (https://www.cjoint.com/c/JEEfFvz8TpP).
Les formules ne fonctionnent pas sous OO 4.1.7 (dernière version) avec l'option "autoriser les caractères génériques dans les formules" cochée


alors qu'avec Libre Office 6.4.4.2 (dernière version) ça fonctionne très bien.

Juste pour savoir s'il y a une explication puisque je me satisfait de Libre Office.
Encore merci
Cordialement
Messages postés
5670
Date d'inscription
mardi 13 février 2018
Statut
Contributeur
Dernière intervention
30 novembre 2020
2 434 >
Messages postés
8
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2020

Bonjour,

C'est un peu plus compliqué en effet.
Il faut utiliser comme caractère générique .*
= NB.SI(B2:B32;".*MATIN.*")

Voyez ceci : https://www.01net.com/astuces/openoffice-calc-utilisez-les-jokers-dans-les-formules-de-calcul-556498.html
Messages postés
8
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2020
>
Messages postés
5670
Date d'inscription
mardi 13 février 2018
Statut
Contributeur
Dernière intervention
30 novembre 2020

Merci Pierr10 pour cette explication précise qui va "peut-être" me permettre de revenir vers Open Office puisque la formule ainsi modifiée est conforme au résultat attendue.
Et apparemment la formule ainsi modifiée fonctionne également sous Libre Office en "autorisant les expressions régulières dans les formules" dans les options Calc.
Bon week end et encore merci à toute la communauté
Messages postés
52772
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
14 715
Parfait !

Et moi je remercie Pierr10, car je n'avais jamais fait attention à cette option de Calc, et ne comprenais pas pourquoi mes multiples écritures de formule ne marchaient pas davantage que celle de Kazimix.

Amitiés à tous deux.
Messages postés
52772
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
30 novembre 2020
14 715
Bonjour Kazimix.

Tes résultats attendus sont faux : Le total des cellules C35:C40 donne 35, alors que tu n'as que 31 jours (nombre de cellules de A2 à A32) !
Ta formule en B39 est fausse, car identique à celle en B35 !
La formule à saisir dans les cellules B35 à B40 est
=NB.SI(B$2:B$32;A:A), cellules dont le cumul donne bien 31.
Messages postés
8
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2020

Bonjour Raymond
Merci pour ta réponse. Je ne cherche pas à obtenir 31 dans la somme des cellules C35:C40 puisque les critères font que des résultats sont cumulés dans l'une ou l'autre formule.
Mon problème correspond à la formulation de la fonction en colonne B35 à B40 pour obtenir le résultat que j'ai mis en C35 à C40. Je ne sais pas si je me suis bien exprimé.
Exemple : en ligne 35 je cherche à trouver le nombre de cellule qui contient le mot "matin" (soit 10 et non 9 avec la fonction que j'ai mis en B35). J'ai essayé avec "*matin*" et également en majuscule mais rien n'y change
Messages postés
8
Date d'inscription
lundi 25 septembre 2006
Statut
Membre
Dernière intervention
1 juin 2020

Bonjour Pierr10
Merci pour cette réponse qui règle mon problème et merci Raymond Pentier pour avoir décelé la coquille.
Utilisant un Open Office obsolète (4.1.6) pour une raison de compatibilité avec un autre programme, je ne comprenais pas pourquoi la formule ne fonctionnait pas après la modification des options. J'ai donc lancé le tableur dans un Libre office à jour et bingo.
Merci pour votre aide précieuse et ultra rapide, et de plus un jour férié ;-)
Je suis très reconnaissant.
Je marque le sujet comme résolu