Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul en Amont d'un évènement (reformulation)

12 réponses
Avatar
stephane-lalut
Bonjour,

Ce qui ce conçoit bien, s'énnonce clairement...

Ce qui explique vraisemblablement mes formulations obscures...

Je cherche à faire des calcul en amont et en aval d'un évènement
prédéterminé.

J'ai deux colonnes A et B.
A donne des valeurs
B est une moyenne mobile calculée à partir de A.
Sens de lecture du tableau de bas en haut.
A B
39 45%
42 59%
43 70%
45 80%
44 77%
43 75%
40 60%

Des que B >= à 70% et tant qu'il le reste, je souhaite faire le rapport en
% dans la colonne A entre le A de la ligne précedente au 70% de B et la
dernière ligne de A correspondant à la requête (B>=70%)

De telle manière que je puisse calculer que 40 (init de la première ligne en
partant du bas) et que 43 et la borne (puisque dernière ligne ou B>=70%).
Donc pendant que B>=70% A a augmenté de 7,5% (43/40-1).

Merci de votre attention.

2 réponses

1 2
Avatar
stephane-lalut
Bonjour,
{=MAX(SI((B$1:B1>p%)*1;LIGNE(B$1:B1)))}
en E2 (et non F2) ne fonctionne pas car le calcul s'opère entre la valeur A
repondant à la condition de B>p% sur la ligne supérieure et la valeur A de
ligne au dessus (celle ou B>p%) alors qu'il faudrait que la valeur A la
plus haute soit celle qui correspond à la ligne ou B et pour la dernière
fois de la série >p%
Sans fichier les explications sont ardues, donc je reprend un exemple réel
du fichier.

LIGNES A B
1 44,62 48,01%
2 46 46,34%
3 46,34 74,94%
4 46,03 72,72%
5 45,81 71,09%
6 44,79 61,71%
7 44,42 57,24%

Le %A est calculé entre A6 et A3 car la ligne 6 correspont à la ligne qui
précède le B>p% et la ligne 3 car c'est la dernière ou B>p% de manière
continue

La formule précédente en E2 faisait le premier calcul juste mais le réferent
(A3 dans mon exemple du dessus) comme fixe donc les autre série dans la base
était comparé à ce référent.

Si cela est plus clair...merçi de ton aide.
"docm" a écrit dans le message de
news:
Bonjour.
J'avais mal compris la question. Je me suis laissé abusé par la présence
de

deux valeurs identiques ( "43" ) dans l'exemple que tu proposes. Je crois
que de mettre en F2 la formule matricielle suivante correspond à tes
attentes. Sinon, on avisera en conséquence.
{=MAX(SI((B$1:B1>p%)*1;LIGNE(B$1:B1)))}



"stephane-lalut" wrote in message
news:416fc10e$0$26726$
Bonjour,
Je reposte mon dernier message, car j'ai eu une coupure et je ne sais
pas


si
l'envoie a été fait.

Votre formule fonctionne mais seulement pour la première occurence
correspondant à la condition.
Si j'étend à l'ensemble de la base alors le calcul du pourcentage dans
la


colonne A se fait entre la "nouvelle borne basse (Colonne A LIGNE-1 de
celle

ou B>p%)
et la borne haute dans A qui reste celle de la première occurence
remplissant la condition.

Avec le fichier je crois que cela sera plus simple est-il possible de
vous


l'envoyer et à quelle adresse ?

Merçi à vous.
"docm" a écrit dans le message de
news:%
On peut tester l'arrivée de la première occurence >p% avec une
fonction


Si() dans la colonne G:
=SI(F2=0;"";INDIRECT(F2)/A2-1)



"stephane-lalut" wrote in message
news:416d4dda$0$27895$
Merci de votre contribution, il semble que vous débutiez là ou je
finis,



ce
qui ouvre des perspectives et ferme des illusions (les miennes)...
Votre combinaison fonctionne en résultat sur l'exemple fini que je
propose,

mais il faut que je réfléchisse plus en détail pour savoir
exactement




comment.
Neanmoins elle ne peut pas s'appliquer sur une suite d'occurence ou
p%

va revenir plusieurs fois selon un fréquence "cahotique".
Votre formulation reste bloquée sur la première condition et calcul
tout



le
reste à partir de cela. Alors qu'il faudrait que le calcul se
reproduise



à
chaque fois que la condition est remplie.
Comme je ne maitrise pas l'utilisation maticielle, il faut que
j'intègre



le
processus pour comprendre précisement ce qui ne va pas.
Je vous remercie encore de vos efforts et demeure toujours demandeur
de



bonne volonté.
:o)))



"docm" a écrit dans le message de
news:
Bonjour stephane-lalut.


Voici une tentative de solution répartie sur 5 colonnes.
Sous toutes réserves car débutant avec les matrices.

La matrice de base, qui sert de référence aux autres matrices,
part





de
B$1
et finit sur la ligne juste au-dessus.

En C2, entrer la formule matricielle suivante:
{=MAX(SI((B$1:B1<70%)*1;LIGNE(B$1:B1)))}
trouver la dernière ligne au-dessus de B2 qui contient une valeur
inférieure

à 70%

En D2
="B"&SI(C2>0;C2;1)
ajouter B devant la ligne trouvée en C2 ou écrire B1

En E2
{=MIN(SI((INDIRECT(D2):B1>p%)*1;LIGNE(INDIRECT(D2):B1)))}
trouver la ligne contenant la premiere valeur >= 70% dans la
matrice





commencant en INDIRECT(D2) et finissant sur la ligne juste
au-dessus






En F2
=SI(E2>0;"A"&E2;F1)
ajouter A devant la ligne trouvee en E2 si plus grande que 0,
sinon





garder
la valeur precedente de la colonne F

En G2
=INDIRECT(F2)/A2-1
Calculer le pourcentage d'augmentation de A2 par rapport à
INDIRECT(F2).




Recopier ces formules vers le bas.



"stephane-lalut" wrote in message
news:416bf1c7$0$27879$
Merci, je vais faire des essais dans ce sens.

"Thierry Euzenot" a écrit dans le message de
news:
Le plus simple serait peut-être dans un premier temps de
découper






sur
un
papier les fonctions en fonction simple

Exemple :
Si B5 >= 70% alors Action1. Si Action = X alors action 2, etc.
Si B5 < 70% alors action3, etc.

Une fois toutes les fontions de base mises à plat, il ne
restera







plus
que
de
la concaténation ou de l'imbrication de formules...

Exemple de fonctions SI() imbriquées :
=SI(A=1;SI(B3=2;Action1;Action2);Action3)

"stephane-lalut" a écrit dans le
message





de
news:416bea7b$0$26699$
Merci de ta réponse, la fonction logique doit être une
réponse








je
l'ai
expérimenté pendant plusieurs jours, mais je ne sais pas
imbriquer






les
conditions lorsque qu'il y a une interaction entre des
colonnes







différentes.

"Thierry Euzenot" a écrit dans le message
de








news:
Désolé, je n'ai pas tout compris à ton problème, mais
peut-être







qu'avec
des
=SI((Calcul)>=0.7;Action1;Action2) cela pourrait faire
avancer








le
schmilblick

"stephane-lalut" a écrit dans
le









message
de
news:416be35d$0$27856$
Bonjour,

Ce qui ce conçoit bien, s'énnonce clairement...

Ce qui explique vraisemblablement mes formulations
obscures...









Je cherche à faire des calcul en amont et en aval d'un
évènement







prédéterminé.

J'ai deux colonnes A et B.
A donne des valeurs
B est une moyenne mobile calculée à partir de A.
Sens de lecture du tableau de bas en haut.
A B
39 45%
42 59%
43 70%
45 80%
44 77%
43 75%
40 60%

Des que B >= à 70% et tant qu'il le reste, je souhaite
faire








le
rapport
en
% dans la colonne A entre le A de la ligne précedente au
70%









de
B
et
la
dernière ligne de A correspondant à la requête (B>p%)

De telle manière que je puisse calculer que 40 (init de
la










première
ligne
en
partant du bas) et que 43 et la borne (puisque dernière
ligne








ou
B>p%).
Donc pendant que B>p% A a augmenté de 7,5% (43/40-1).

Merci de votre attention.










































Avatar
stephane-lalut
Un extrait de la base pour avoir au moins deux serie répondant à la
condition.
44,62 48,01%
46 68,08%
46,34 74,94%
46,03 72,72%
45,81 71,09%
44,79 61,71%
44,42 57,24%
43,83 48,75%
43,9 49,79%
44,44 58,35%
44,88 66,64%
44,9 67,03%
44,94 67,72%
44,94 67,72%
44,73 66,27%
45,61 79,61%
45,4 78,70%
45,29 78,25%
42,75 61,49%
42,37 57,09%
42,56 60,14%
43,06 68,74%


"docm" a écrit dans le message de
news:
Bonjour.
J'avais mal compris la question. Je me suis laissé abusé par la présence
de

deux valeurs identiques ( "43" ) dans l'exemple que tu proposes. Je crois
que de mettre en F2 la formule matricielle suivante correspond à tes
attentes. Sinon, on avisera en conséquence.
{=MAX(SI((B$1:B1>p%)*1;LIGNE(B$1:B1)))}



"stephane-lalut" wrote in message
news:416fc10e$0$26726$
Bonjour,
Je reposte mon dernier message, car j'ai eu une coupure et je ne sais
pas


si
l'envoie a été fait.

Votre formule fonctionne mais seulement pour la première occurence
correspondant à la condition.
Si j'étend à l'ensemble de la base alors le calcul du pourcentage dans
la


colonne A se fait entre la "nouvelle borne basse (Colonne A LIGNE-1 de
celle

ou B>p%)
et la borne haute dans A qui reste celle de la première occurence
remplissant la condition.

Avec le fichier je crois que cela sera plus simple est-il possible de
vous


l'envoyer et à quelle adresse ?

Merçi à vous.
"docm" a écrit dans le message de
news:%
On peut tester l'arrivée de la première occurence >p% avec une
fonction


Si() dans la colonne G:
=SI(F2=0;"";INDIRECT(F2)/A2-1)



"stephane-lalut" wrote in message
news:416d4dda$0$27895$
Merci de votre contribution, il semble que vous débutiez là ou je
finis,



ce
qui ouvre des perspectives et ferme des illusions (les miennes)...
Votre combinaison fonctionne en résultat sur l'exemple fini que je
propose,

mais il faut que je réfléchisse plus en détail pour savoir
exactement




comment.
Neanmoins elle ne peut pas s'appliquer sur une suite d'occurence ou
p%

va revenir plusieurs fois selon un fréquence "cahotique".
Votre formulation reste bloquée sur la première condition et calcul
tout



le
reste à partir de cela. Alors qu'il faudrait que le calcul se
reproduise



à
chaque fois que la condition est remplie.
Comme je ne maitrise pas l'utilisation maticielle, il faut que
j'intègre



le
processus pour comprendre précisement ce qui ne va pas.
Je vous remercie encore de vos efforts et demeure toujours demandeur
de



bonne volonté.
:o)))



"docm" a écrit dans le message de
news:
Bonjour stephane-lalut.


Voici une tentative de solution répartie sur 5 colonnes.
Sous toutes réserves car débutant avec les matrices.

La matrice de base, qui sert de référence aux autres matrices,
part





de
B$1
et finit sur la ligne juste au-dessus.

En C2, entrer la formule matricielle suivante:
{=MAX(SI((B$1:B1<70%)*1;LIGNE(B$1:B1)))}
trouver la dernière ligne au-dessus de B2 qui contient une valeur
inférieure

à 70%

En D2
="B"&SI(C2>0;C2;1)
ajouter B devant la ligne trouvée en C2 ou écrire B1

En E2
{=MIN(SI((INDIRECT(D2):B1>p%)*1;LIGNE(INDIRECT(D2):B1)))}
trouver la ligne contenant la premiere valeur >= 70% dans la
matrice





commencant en INDIRECT(D2) et finissant sur la ligne juste
au-dessus






En F2
=SI(E2>0;"A"&E2;F1)
ajouter A devant la ligne trouvee en E2 si plus grande que 0,
sinon





garder
la valeur precedente de la colonne F

En G2
=INDIRECT(F2)/A2-1
Calculer le pourcentage d'augmentation de A2 par rapport à
INDIRECT(F2).




Recopier ces formules vers le bas.



"stephane-lalut" wrote in message
news:416bf1c7$0$27879$
Merci, je vais faire des essais dans ce sens.

"Thierry Euzenot" a écrit dans le message de
news:
Le plus simple serait peut-être dans un premier temps de
découper






sur
un
papier les fonctions en fonction simple

Exemple :
Si B5 >= 70% alors Action1. Si Action = X alors action 2, etc.
Si B5 < 70% alors action3, etc.

Une fois toutes les fontions de base mises à plat, il ne
restera







plus
que
de
la concaténation ou de l'imbrication de formules...

Exemple de fonctions SI() imbriquées :
=SI(A=1;SI(B3=2;Action1;Action2);Action3)

"stephane-lalut" a écrit dans le
message





de
news:416bea7b$0$26699$
Merci de ta réponse, la fonction logique doit être une
réponse








je
l'ai
expérimenté pendant plusieurs jours, mais je ne sais pas
imbriquer






les
conditions lorsque qu'il y a une interaction entre des
colonnes







différentes.

"Thierry Euzenot" a écrit dans le message
de








news:
Désolé, je n'ai pas tout compris à ton problème, mais
peut-être







qu'avec
des
=SI((Calcul)>=0.7;Action1;Action2) cela pourrait faire
avancer








le
schmilblick

"stephane-lalut" a écrit dans
le









message
de
news:416be35d$0$27856$
Bonjour,

Ce qui ce conçoit bien, s'énnonce clairement...

Ce qui explique vraisemblablement mes formulations
obscures...









Je cherche à faire des calcul en amont et en aval d'un
évènement







prédéterminé.

J'ai deux colonnes A et B.
A donne des valeurs
B est une moyenne mobile calculée à partir de A.
Sens de lecture du tableau de bas en haut.
A B
39 45%
42 59%
43 70%
45 80%
44 77%
43 75%
40 60%

Des que B >= à 70% et tant qu'il le reste, je souhaite
faire








le
rapport
en
% dans la colonne A entre le A de la ligne précedente au
70%









de
B
et
la
dernière ligne de A correspondant à la requête (B>p%)

De telle manière que je puisse calculer que 40 (init de
la










première
ligne
en
partant du bas) et que 43 et la borne (puisque dernière
ligne








ou
B>p%).
Donc pendant que B>p% A a augmenté de 7,5% (43/40-1).

Merci de votre attention.










































1 2