[Résolu] Caractère faisant office de joker dans une formule

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
juju0209
Fraîchement OOthentifié
Messages : 9
Inscription : 02 sept. 2018 17:41

[Résolu] Caractère faisant office de joker dans une formule

Message par juju0209 »

Bonjour à toutes et à tous,

Petite question toute bête mais à laquelle je n'ai pas encore trouvé de réponse. Quel est le symbole à écrire dans une formule pour dire "n'importe quelle lettre" et 'n'importe quel chiffre ? En effet, dans ma formule =SOMMEPROD(STXT(F24:F34;7;2)="AK") je souhaite que "AK" puisse être replacé par deux jokers. Je pense qu'il doit s'agire d'un truc du genre "??" ou "**". Ainsi AK sera comptabilisé, tout comme BY ou ZT ou .... bref vous avez compris lol. Même question mais pour les chiffres.

Merci à tous de vos réponses
Apache Openoffice 4.1.5 avec Windows 7
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 629
Inscription : 09 août 2017 22:15

Re: Quel caractère fait office de joker dans une formule ?

Message par Jurassic Pork »

hello,
il n'y a que certaines fonctions qui permettent l'utilisation de caractères génériques :
regarder ici dans la partie Expressions régulières dans les fonctions Calc

Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Quel caractère fait office de joker dans une formule ?

Message par Jean-Louis Cadeillan »

Bonsoir,
Jurassic Pork a écrit :il n'y a que certaines fonctions qui permettent l'utilisation de caractères génériques
et pas SOMMEPROD()... mais tu peux utiliser, pour reprendre ton exemple :

Code : Tout sélectionner

=NB.SI(STXT(F24:F34;7;2);"[:alpha:][:alpha:]")
pour rechercher deux caractères alphabétiques aux positions indiquées, cette formule est matricielle comme celle avec SOMMEPROD() mais elle se valide par Ctrl+Maj+Entrée.
De la même manière, pour deux caractères numériques :

Code : Tout sélectionner

=NB.SI(STXT(F24:F34;7;2);"[:digit:][:digit:]")
Tu peux bien sûr combiner :

Code : Tout sélectionner

=NB.SI(STXT(F24:F34;7;2);"[:digit:][:alpha:]")
ou même chercher deux caractères quelconques :

Code : Tout sélectionner

=NB.SI(STXT(F24:F34;7;2);"..")
Tout cela dans la mesure où tu as autorisé les caractères génériques dans les formules...
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Quel caractère fait office de joker dans une formule ?

Message par OOotremer971 »

Bonjour,
en complément
Jean-Louis Cadeillan a écrit :et pas SOMMEPROD()...
Je m’apprêtais justement à proposer une solution basée sur le précédent fil initié par juju0209 avec l'utilisation de SOMMEPROD() :? :
juju0209.png
Ce qui donnerait pour les caractères alphabétiques :

Code : Tout sélectionner

=SOMMEPROD(NON(ESTERREUR(CHERCHE("[:alpha:]{2}";GAUCHE(DROITE($F$23:$F$33;6);2)))))
et pour les numériques :

Code : Tout sélectionner

=SOMMEPROD(NON(ESTERREUR(CHERCHE("[:digit:]{2}";GAUCHE(DROITE($F$23:$F$33;6);2)))))
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
juju0209
Fraîchement OOthentifié
Messages : 9
Inscription : 02 sept. 2018 17:41

Re: Quel caractère fait office de joker dans une formule ?

Message par juju0209 »

Bonjour à tous et merci de vos réponses.

Après lecture de vos propositions, mon choix s'est porté sur la formule : =NB.SI(STXT(F24:F34;7;2);"[:alpha:][:alpha:]")
proposée par Jean-Louis Cadeillan (tout simplement parce que je la trouve assez facile à comprendre). Malheureusement lorsque je la colle dans ma feuille de calcul je n'ai pas le retour attendu mais une erreur 504 ... sauriez-vous me dire ce qui pose pb ???
Merci également à OOotremer971 pour le document joint et que je vais disséquer dès que possible pour comprendre la formule.
Si j'ai bien compris, il n'est pas possible d'utiliser [:alpha:] ou [:digit:] dans toutes les formules, c'est bien ça ??

Merci également pour le lien transmis (très intéressant).
Apache Openoffice 4.1.5 avec Windows 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Quel caractère fait office de joker dans une formule ?

Message par OOotremer971 »

Bonjour,
juju0209 a écrit :mon choix s'est porté sur la formule : =NB.SI(STXT(F24:F34;7;2);"[:alpha:][:alpha:]")
proposée par Jean-Louis Cadeillan [...]Malheureusement lorsque je la colle dans ma feuille de calcul je n'ai pas le retour attendu mais une erreur
Jean-Louis Cadeillan te précise qu"il s'agit d'une formule matricielle. Il faut donc maintenir les touche Ctrl+Maj enfoncées lorsque tu appuies sur la touche Entrer pour la valider (un simple copier/coller ne suffit pas.

Tu peux aussi mixer les deux solutions proposées en englobant la formule retenue dans la fonction SOMMEPROD(). Cela te dispense alors de la validation matricielle :

Code : Tout sélectionner

=SOMMEPROD(NB.SI(STXT(F24:F34;7;2);"[:alpha:][:alpha:]"))
@+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
juju0209
Fraîchement OOthentifié
Messages : 9
Inscription : 02 sept. 2018 17:41

Re: Quel caractère fait office de joker dans une formule ?

Message par juju0209 »

Re bonjour Jean-Louis.

A nouveau un grand merci à toi (vous) pour l'information. Effectivement je n'avais pas activé au bon moment le ctrl maj entrée ... :? à présent tout fonctionne bien (j'ai noté que l'ordi avait rajouté les 2 caractères {} en tout début et fin de la formule (j'en déduis que c'est l'effet ctrl maj ).
Sinon, comme l'on peut combiner, c'est ce que j'ai choisi.
Dernière question (heu ... avant la prochaine lol), le [:alpha:] ne peut-il être utilisé que dans certaines formules ou est-ce possible dans tous les cas ?

Encore merci à vous tous pour vos contributions !!
Apache Openoffice 4.1.5 avec Windows 7
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Quel caractère fait office de joker dans une formule ?

Message par OOotremer971 »

juju0209 a écrit :Dernière question (heu ... avant la prochaine lol), le [:alpha:] ne peut-il être utilisé que dans certaines formules ou est-ce possible dans tous les cas ?
A ce stade, tu devrais consulter l'aide (raccourci clavier F1) sous l'onglet Index dans la zone de recherche sur les termes :

Code : Tout sélectionner

Expressions régulières;liste de
Tu va découvrir une multitude de jokers avec la description de ce que chacun d'entre eux permet.
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Quel caractère fait office de joker dans une formule ?

Message par Jean-Louis Cadeillan »

juju0209 a écrit :j'en déduis que c'est l'effet ctrl maj
Tout à fait.
En plus de la mine que te propose de découvrir OOotremer971, (re)lis le lien que t'a donné Jurassic Pork, notamment cette partie.
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
juju0209
Fraîchement OOthentifié
Messages : 9
Inscription : 02 sept. 2018 17:41

Re: Quel caractère fait office de joker dans une formule ?

Message par juju0209 »

La doc est assez complète et effectivement les choses à apprendre sont encore très nombreuses. Grâce à vous tous j'arrive peu à peu à réaliser mon document c'est l'essentiel. Malheureusement je crois que j'atteins les limites de mes aptitudes à analyser et apprivoiser la chose. En effet, pourquoi =SOMMEPROD(SI(STXT(M20;1;2)="[:alpha:][:alpha:]")) me donne zéro alors que si je remplace les 2 alpha pas oo (les deux lettres dans la cellule) le résultat est bien 1 ....(dans le doute, testé avec et sans ctrl maj). Il y a de nombreux mystères que je n'arrive pas encore à percer ... mais peut-être qu'avec plus de temps (qui me manque) ça viendra !! il faut persévérer....

Dans tous les cas un grand merci à vous tous pour le temps accordé à cet inconnu qui débute dans le domaine lol :wink:
Apache Openoffice 4.1.5 avec Windows 7
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Quel caractère fait office de joker dans une formule ?

Message par Jean-Louis Cadeillan »

juju0209 a écrit :=SOMMEPROD(SI(STXT(M20;1;2)="[:alpha:][:alpha:]"))
SI() ne reconnaît pas les expressions régulières, NB.SI()... si ! Voir le dernier lien que je t'avais donné :
Il y a un certain nombre de fonctions dans Calc qui vous autorisent l'utilisation des expressions régulières :'SOMME.SI', 'NB.SI','EQUIV', 'CHERCHE', 'RECHERCHE', 'RECHERCHEH', 'BDMAX', 'BDMIN', 'BDMOYENNE', 'BDECARTYPE', 'BDECARTYPEP', 'BDVAR', 'BDVARP','BDLIRE'
Il fallait mettre :

Code : Tout sélectionner

=SOMMEPROD(NB.SI(STXT(M20:M20;1;2);"[:alpha:][:alpha:]"))
ou

Code : Tout sélectionner

=NB.SI(STXT(M20:M20;1;2);"[:alpha:][:alpha:]")
en validation matricielle.
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
juju0209
Fraîchement OOthentifié
Messages : 9
Inscription : 02 sept. 2018 17:41

Re: Quel caractère fait office de joker dans une formule ?

Message par juju0209 »

Ha ! le mauvais élève que je suis. Il suffisait de bien lire la leçon et la mettre en application ... tout simplement !
Effectivement avec les éléments de réponse communiqués, tout va mieux ...
Mon esprit a parfois un peu de mal à imaginer les combinaisons à réaliser pour arriver au résultat. Nul doute qu'avec un peu ... (heu beaucoup :D de travail) ça viendra !!!

Je m'accroche !!
Apache Openoffice 4.1.5 avec Windows 7