Numbers, formules et élégance

DoiY

Membre confirmé
3 Mai 2020
41
1
45
Bonjour à toutes et tous,

Dans la création des fichier numbers, je met en place des formules, avec le peu de connaissances que j'ai, j'arrive souvent à mes fins cependant je pense que l'écriture est souvent maladroite, peu élégante.
Je voudrais exposer ici certaines des formules, qui arrivent ou non à un résultat mais surtout, qui manque d'élégance, qui pourraient certainement être réduites ou être plus efficaces, efficientes.
Par exemple pour résoudre ce problème:
La colonne B contient des cellules de texte (composé de plusieurs mots :hushed: ) je souhaiterai la colonne C regroupe les cellules qui cherche des mots prédéfinis et que si l'un de ces mots prédéfinis est trouvés alors "charges fixes" sinon "Paiements divers".
La seule formules que j'ai trouvé, est la suivante mais elle est clairement inesthétique, je pense qu'il existe un moyen de la compacter et de l'écrire différemment de manière plus conventionnelle.

SI(A2="";"";SI(SI.ERREUR(CHERCHE("JAZZ";B2);SI.ERREUR(CHERCHE("DECHETS";B2);SI.ERREUR(CHERCHE("EDF";B2);SI.ERREUR(CHERCHE("AXA";B2);SI.ERREUR(CHERCHE("AVANSSUR";B2);SI.ERREUR(CHERCHE("QUIETIS";B2);SI.ERREUR(CHERCHE("BUSINESS";B2);"faux")))))));"Charges Fixes";"Paiements Divers"))

Dans l'attente de votre aide,
Par avance merci
 
Bonjour,
Au premier abord, j’aurais utilisé la formule suivante, mais pas sûr que cela soit plus compact mais personnellement je trouve plus simple que l’imbrication des SI.

SI(B2="";"";SI(OU(B2="Jazz";B2="Déchets";B2="AXA";B2="EDF";B2="Avanssur";B2="QUIETIS";B2="Business");"charges fixes";"paiements divers"))


PS : on peut aussi éviter de multiplier les références à B2, en poussant au bout ton idée d’utilisation de la fonction CHERCHE

SI(B2="";"";SI(SI.ERREUR(CHERCHE(B2;"JAZZ DECHETS EDF AXA AVANSSUR QUIETIS BUSINESS");"faux");"Charges Fixes";"Paiements Divers"))
 
Dernière édition:
Cela ne fonctionne pas, ou plutôt j'ai autres dépenses dans chacune des cellules même celle qui contiennent au moins un mot recherché.
Dans la case B2 peut-être inscrit plusieurs mots du style:
QUETIS PRO REDUC JAZZPRO
Mais sur cette ligne cela me renvoie autres dépenses alors que je voudrais charges fixes
 
Ah Oui, c’est nettement plus compliqué si la colonne B peut contenir plusieurs mots.
Je pensais pas que ça le serait, étant donné que j'ai trouvé quelque chose qui fonctionne je m'étais dit que c'était juste pas joliment formulé.
Je tourne en rond ou je fini toujours par quelque chose de complexe, sans arriver à réduire la syntaxe.

Dans l'idée, il faudrait dire si tu trouves l'un de ces mots alors "Charges Fixes" sinon "Paiements Divers".
 
Pour l’instant j’ai une solution partielle qui fonctionne seulement si la liste des mots clés saisis en B2 commence bien par un mot-clé de type « charge fixe » s’il doit y en avoir un dans la liste B2 (ça marche si on saisit en B2 « JAZZ PRO » mais pas si on met « PRO JAZZ »

SI(B2="";"";SI(ESTERREUR(TROUVE(GAUCHE(B2&" ";TROUVE(" ";B2&" ";1)−1);"JAZZ DECHETS EDF AXA AVANSSUR QUIETIS BUSINESS";1));"Paiements divers";"Charges fixes"))

Il y a sans doute moyen de progresser