XL 2016 Faire une moyenne jusqu'à ; Faire un graphique adaptatif

Onecraft

XLDnaute Nouveau
Bonjour à toutes et tous :) ,

J'ai besoin de faire 2 choses que je regroupe dans ce message. J'ai quelques idées, mais je ne sais pas les concrétiser!
C'est dans le cadre d'un traitement de données conséquent que je cherche à automatiser.

La première chose que j'aimerais faire, c'est faire une moyenne d'une plage de données (dans mon exemple, c'est une colonne). Mais le calcul de cette moyenne devra s'arrêter lorsque les valeurs de la série dépasseront un certaine valeur que je fixe à 1. Il y a une autre plage de données pour laquelle il faut faire une moyenne, et cette moyenne doit se faire sur la même plage que l'autre colonne. Je nomme cette moyenne ligne de base (cf capture en fichier joint)

Je donne un exemple : sur la colonne A, de A1 à A683 on a des valeurs <1, puis à A684 on a une valeur >1. On fait donc la moyenne de A1 à A683. Sur la colonne B on fera aussi la moyenne de B1 à B683 car c'est en A683 qu'est la dernière valeur <1. Je ne sais pas comme dire de faire une somme jusqu'à une telle valeur.

La deuxième chose que j'aimerais arriver à faire, c'est faire un graphique adaptatif. Celui-ci doit lire deux plages de données (O et N) en fonction du temps (troisième plage de données, c'est la colonne D). Mais ces deux plages de données + le temps doivent être lues jusqu'à ce qu'une quatrième plage de donnée (Colonne F) aie la valeur 0. Cette quatrième plage de données n'intervient pas dans le graphique, elle n'est qu'une sorte de repère pour indiquer à Excel où s'arrêter avec les 3 autres plages.

Un exemple : les deux plages à mettre en forme vont de N5 et O5 (avec D5 en temps et abscisse) jusqu'à N24357, O24357 (D24357 pour le temps) car c'est en F24357 qu'apparaît le premier 0. Mais un prochain fichier à traiter pourrait faire passer cette dernière valeur lue par Excel à N100000, O100000, D100000 si le premier 0 de F apparaît en F1000000. (le tout sur une feuille qui s'appellerait "tableur")

Je sais que cette dernière chose repose sur la fonction décaler, mais je ne sais pas du tout comment bien écrire la formule, à chaque fois je n'y arrive pas malgré mes renseignements, surtout pour un graphique. En fait, je ne sais même pas si c'est possible de faire ça sur un graphique, alors que sur le tableur je sais que c'est possible d'utiliser d'autres colonnes commes marqueurs de calculs selon une certaine valeur pour d'autres colonnes.

Je ne peux pas vous joindre mon tableur il est trop lourd hélas, mais j'ai pris quelques captures d'écran.

Merci d'avance :)
 

Pièces jointes

  • exemple graphique.png
    exemple graphique.png
    198.1 KB · Affichages: 39
  • colonne_à_traiter_pour_ligne_de_base.png
    colonne_à_traiter_pour_ligne_de_base.png
    240.9 KB · Affichages: 72

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Onecraft,
1- C'est pas facile de bosser avec des images. Un petit fichier XL eût été plus pertinent. ;)
2- J'ai toujours un peu peur quand je vois des N100000 ... j'espère que votre PC est puissant.
En PJ un essai. Je ne suis pas passer par Décaler mais avec un simple Moyenne(Indirect(Equiv))
A tester pour voir s'il vous sied. Les explications sont à l'intérieur du fichier.
 

Pièces jointes

  • Onecraft.xlsx
    128.8 KB · Affichages: 17

Onecraft

XLDnaute Nouveau
Bonjour sylvanu, merci pour votre réponse :)

Ce que vous m'avez montré, c'est ce que je cherche pour la moyenne! J'ai adapté ce que vous m'avez montré à mon cas personnel et ça marche très bien. Je ne comprend juste pas à quoi sert le -2 à la toute fin de la formule. C'est la ref texte de la fonction INDIRECT, mais je ne sais pas ce que cela fait si je met -10 à la place de -2, même si cela modifie la valeur qui sera affichée. Comment, dans cette formule, dire à excel de calculer exactement de la même manière mais avec disons 10 cases en moins par rapport au premier 1 trouvé ?

Aussi, avez vous des idées du même ordre pour faire un graphique adaptatif ?

Je vous remercie :)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
En fait pour trouver l'index, je fais Ligne()-Equiv et la première valeur est en ligne 2 donc le premier repère est Ligne-Equiv-2 pour trouver non pas l'index mais le N° de ligne.
Pour calculer avec -10 cases (pourquoi -10 ? ) il suffit de faire Ligne-Equiv-2-10.
Ne pas confondre le nombre de lignes et le N° de ligne.

Le graphique est adaptatif sur quoi ? sur l'axe des X ?
 

Onecraft

XLDnaute Nouveau
Bonjour, le graphique est adaptatif sur l'axe X et Y. En fait, la lecture des données pour l'axe X et Y se fera sur exactement le même nombre de lignes. Si il y a 20 000 valeurs pour l'axe de X, il y en aura 20 000 pour l'axe des Y. Mais ce n'est pas moi qui fixe ce seuil, c'est lorsque le premier 0 de la colonne D est trouvée que la lecture des données des autres colonnes s'arrête.

Merci pour l'info sur l'index par ailleurs :)
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 851
dernier inscrit
vaiata