OVH Cloud OVH Cloud

formules trop longue

4 réponses
Avatar
Nico
Bonjour,

J'ai une formule qui possède 1021 caractères (qui fonctionne impec) et
j'aurais besoin de l'allonger... Mais comme Excel n'accepte que des formules
avec un maxi de 1024 caractères, me voila bloqué. Y a t'il une solution du
style par exemple je fractionne ma formule dans 2 cellules puis faire là où
je souhaite le résultat une sorte de concaténation. Ou peut-être une autre
solution....

Merci

Nico

4 réponses

Avatar
ROCHE Pierre
Bonsoir
Je dirais que cela dépend de ta formule en place :
1 - Celle-ci peut, peut-être, être raccourcie avec des calculs matriciels
2 - Celle-ci, peut, effectivement être découpée en plusieurs tronçons
indépendants qu'il suffirait de relier par la suite.

Cordialement
"Nico" a écrit dans le message de news:

Bonjour,

J'ai une formule qui possède 1021 caractères (qui fonctionne impec) et
j'aurais besoin de l'allonger... Mais comme Excel n'accepte que des
formules
avec un maxi de 1024 caractères, me voila bloqué. Y a t'il une solution du
style par exemple je fractionne ma formule dans 2 cellules puis faire là

je souhaite le résultat une sorte de concaténation. Ou peut-être une autre
solution....

Merci

Nico





Avatar
Nico
1- Pour la matricielle, j'y ais pensé mais vraiment je ne trouve pas
2 - Pour ceci, je ne sais que faire, voir ci dessous ma formule :
=SI(ESTNA(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT(
"'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$
H$7:$bg$7");0)));"";SI(ESTNA(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");E
QUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"AM";INDIREC
T("'"&$AE$13&"'!"&"$H$7:$bg$7");0)));"";SI(ET(INDEX(INDIRECT("'"&$AE$13&"'!"
&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($
AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7");0))="B";(INDEX(INDIRECT("'"&
$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75")
;0);EQUIV($AE16&"AM";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7");0))="B"));8;SI(I
NDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&
"'!"&"$A$9:$A$75");0);EQUIV($AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7")
;0))="B";4;SI(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIR
ECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"AM";INDIRECT("'"&$AE$13&"'
!"&"$H$7:$bg$7");0))="B";4;"")))))

Merci

Nico

"ROCHE Pierre" a écrit dans le message de news:
#
Bonsoir
Je dirais que cela dépend de ta formule en place :
1 - Celle-ci peut, peut-être, être raccourcie avec des calculs matriciels
2 - Celle-ci, peut, effectivement être découpée en plusieurs tronçons
indépendants qu'il suffirait de relier par la suite.

Cordialement
"Nico" a écrit dans le message de news:

Bonjour,

J'ai une formule qui possède 1021 caractères (qui fonctionne impec) et
j'aurais besoin de l'allonger... Mais comme Excel n'accepte que des
formules
avec un maxi de 1024 caractères, me voila bloqué. Y a t'il une solution
du


style par exemple je fractionne ma formule dans 2 cellules puis faire là

je souhaite le résultat une sorte de concaténation. Ou peut-être une
autre


solution....

Merci

Nico









Avatar
LSteph
Bonsoir,
une méthode parmi d'autres
Menu Edition Définir un nom

schem1
dans réfère à :
=INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT(
"'"&$AE$13&"'!"&"$A$9:$A$75");0)

schem2
dans réfère à :
=EQuiv(....
Ce qui donnera dans la formule =si(estna(schem1);schem2 ....
...etc...

'lSteph

"Nico" a écrit dans le message de news:

1- Pour la matricielle, j'y ais pensé mais vraiment je ne trouve pas
2 - Pour ceci, je ne sais que faire, voir ci dessous ma formule :
=SI(ESTNA(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT(
"'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$
H$7:$bg$7");0)));"";SI(ESTNA(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");E
QUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"AM";INDIREC
T("'"&$AE$13&"'!"&"$H$7:$bg$7");0)));"";SI(ET(INDEX(INDIRECT("'"&$AE$13&"'!"
&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($
AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7");0))="B";(INDEX(INDIRECT("'"&
$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75")
;0);EQUIV($AE16&"AM";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7");0))="B"));8;SI(I
NDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&
"'!"&"$A$9:$A$75");0);EQUIV($AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7")
;0))="B";4;SI(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIR
ECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"AM";INDIRECT("'"&$AE$13&"'
!"&"$H$7:$bg$7");0))="B";4;"")))))

Merci

Nico

"ROCHE Pierre" a écrit dans le message de news:
#
Bonsoir
Je dirais que cela dépend de ta formule en place :
1 - Celle-ci peut, peut-être, être raccourcie avec des calculs matriciels
2 - Celle-ci, peut, effectivement être découpée en plusieurs tronçons
indépendants qu'il suffirait de relier par la suite.

Cordialement
"Nico" a écrit dans le message de news:

Bonjour,

J'ai une formule qui possède 1021 caractères (qui fonctionne impec) et
j'aurais besoin de l'allonger... Mais comme Excel n'accepte que des
formules
avec un maxi de 1024 caractères, me voila bloqué. Y a t'il une solution
du


style par exemple je fractionne ma formule dans 2 cellules puis faire


je souhaite le résultat une sorte de concaténation. Ou peut-être une
autre


solution....

Merci

Nico













Avatar
Daniel.M
Bonsoir,

Avec la même idée (se définir des noms) mais une implantation différente:

Ctrl-F3:
Terme1
=INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75")

Terme2
=INDIRECT("'"&$AE$13&"'!"&"$H$7:$BG$7")

Terme3
=INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75")

Terme10
=EQUIV($G$2;Terme1;0)

La formule devient:

=SI(ESTNA(Terme10 & EQUIV($AE16&"M";Terme2;0) & EQUIV($AE16&"AM";Terme2;0));"";
SI(INDEX(Terme3;Terme10;EQUIV($AE16&"M";Terme2;0))="B";
SI(INDEX(Terme3;Terme10;EQUIV($AE16&"AM";Terme2;0))="B";8;4);
SI(INDEX(Terme3;Terme10;EQUIV($AE16&"AM";Terme2;0))="B";4;"")))

Salutations,

Daniel M.


"LSteph" wrote in message
news:
Bonsoir,
une méthode parmi d'autres
Menu Edition Définir un nom

schem1
dans réfère à :
=INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT(
"'"&$AE$13&"'!"&"$A$9:$A$75");0)

schem2
dans réfère à :
=EQuiv(....
Ce qui donnera dans la formule =si(estna(schem1);schem2 ....
...etc...

'lSteph

"Nico" a écrit dans le message de news:

1- Pour la matricielle, j'y ais pensé mais vraiment je ne trouve pas
2 - Pour ceci, je ne sais que faire, voir ci dessous ma formule :
=SI(ESTNA(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT(
"'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$
H$7:$bg$7");0)));"";SI(ESTNA(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");E
QUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"AM";INDIREC
T("'"&$AE$13&"'!"&"$H$7:$bg$7");0)));"";SI(ET(INDEX(INDIRECT("'"&$AE$13&"'!"
&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($
AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7");0))="B";(INDEX(INDIRECT("'"&
$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&"'!"&"$A$9:$A$75")
;0);EQUIV($AE16&"AM";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7");0))="B"));8;SI(I
NDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIRECT("'"&$AE$13&
"'!"&"$A$9:$A$75");0);EQUIV($AE16&"M";INDIRECT("'"&$AE$13&"'!"&"$H$7:$bg$7")
;0))="B";4;SI(INDEX(INDIRECT("'"&$AE$13&"'!"&"$H$9:$bg$75");EQUIV($G$2;INDIR
ECT("'"&$AE$13&"'!"&"$A$9:$A$75");0);EQUIV($AE16&"AM";INDIRECT("'"&$AE$13&"'
!"&"$H$7:$bg$7");0))="B";4;"")))))

Merci

Nico

"ROCHE Pierre" a écrit dans le message de news:
#
Bonsoir
Je dirais que cela dépend de ta formule en place :
1 - Celle-ci peut, peut-être, être raccourcie avec des calculs matriciels
2 - Celle-ci, peut, effectivement être découpée en plusieurs tronçons
indépendants qu'il suffirait de relier par la suite.

Cordialement
"Nico" a écrit dans le message de news:

Bonjour,

J'ai une formule qui possède 1021 caractères (qui fonctionne impec) et
j'aurais besoin de l'allonger... Mais comme Excel n'accepte que des
formules
avec un maxi de 1024 caractères, me voila bloqué. Y a t'il une solution
du


style par exemple je fractionne ma formule dans 2 cellules puis faire


je souhaite le résultat une sorte de concaténation. Ou peut-être une
autre


solution....

Merci

Nico