Problème de formule pour calculer le nombre de cellule contenant un mot

Résolu
Kazimix Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
Kazimix Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

4 réponses

Pierr10 Messages postés 13203 Date d'inscription   Statut Modérateur Dernière intervention   5 429
 
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).
1
Kazimix Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Pierr10 Messages postés 13203 Date d'inscription   Statut Modérateur Dernière intervention   5 429 > Kazimix Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Kazimix Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   > Pierr10 Messages postés 13203 Date d'inscription   Statut Modérateur Dernière intervention  
 
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é
0
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
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.
1
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
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.
0
Kazimix Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
Kazimix Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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
0