Optimisation formule complexe

Bonjour à tous,

Je vais tenter de faire simple et clair, j'utilise une formule qui a pour but de comparer 2 données, dans un tableau conséquent, depuis que cette formule est active je remarque de gros ralentissements, je cherche donc à l'optimiser.

Auriez-vous des idées afin de la simplifier ?

Ma problématique :

J'ai 2 poids, un en tonne, la cellule est bien en numérique

La seconde... elle est sous format texte, en kilogramme avec l'espace des milliers et se termine par " kg"

Je dois donc nettoyer cette data avant de la comparer et de prendre en compte les différentes tailles données = 100 kg / 1 000 kg / 10 000 kg

Voici les séquences de ma formule et la version complète à la fin :

1 sélection data : Xlookup(plage ; reférence ; DATA, "")

2 vérifications taille data : Nbcar(...

3 si taille > 7 (ex : 1 000 kg) alors on la prend, sinon, on concat un 0, devant : Si(...>7;...; contact("0,"...)

4 je remplace l'espace par une virgule : regexreplace(...;"\s";",")

RÉSULTAT INTERMÉDIAIRE : ma donnée est standardisée, forcément sous format "0,000 kg"

5 je supprime l'espace et kg final : regextract(...;"\d*,\d*)

6 je la convertie en donnée numérique : CUM(...

7 je la compare à ma donnée de base avec un si, si OK ça affiche un logo, sinon, la data pour pouvoir ainsi voir la différence : SI(....= poids de base; logo OK ; DATA)

8 Si erreur (car pas de donnée, introuvable), on affiche rien : SiERREUR(...; "")

9 Arrayformula bien évidement

Voici donc la formule finale :

=arrayformula(SIERREUR(SI(CNUM(regexextract(REGEXREPLACE(SI(NBCAR(XLOOKUP(plage ; références ; poids cible ;""))>7;XLOOKUP(plage;réfrence ; poids cible;"");concat("0,";XLOOKUP(plage;référence;poids cible;"")));"\s";",");"\d*,\d*"))=poids origin; logo OK ;CNUM(regexextract(REGEXREPLACE(XLOOKUP(plage ; référence ;poids cible;"");"\s";",");"\d*,\d*")));""))

Si ma tentative de clarté a échoué, je peux réaliser un fichier exemple.

La formule est complexe en effet.

Je ne vois pas comment l'alléger mis à part en insérant des colonnes intermédiaires qui découpent la formule mais ca n'aidera pas à alléger le fichier

L'idéal serait de pouvoir avoir une bbd uniquement en valeur numérique mais je présume que c'est impossible en l'état?

Rechercher des sujets similaires à "optimisation formule complexe"