Formules 365 à trouver

Bonjour

Je sèche sur une assistance : on doit construire un tableau dynamique par formules

J'ai trouvé une solution à base de MAKEARRAY pour lister les dates en 1ère colonne et les numéroter en seconde colonne (je ne les ai pas mises dans l'exemple) mais je cherche une formule pour D et E :

Je cherche une unique formule pour calculer la perte en montant et une autre pour calculer en % si 2 valeurs se suivent dans la colonne C (colonne de saisie) par soustraction de la valeur de la ligne en cours à celle de la ligne précédente.

Certains d'entre vous étant bien plus au aguerris que moi sur les formules 365, je vous confie le bébé, lol

Bonjour 78 chris

A tester

Crdlt

Bonjour

en D3 : =SI(ESTVIDE(C3:C11)+ESTVIDE(C2:C10);"";C3:C11-C2:C10)

en E3 : =SIERREUR(D3#/C2:C10;"")

Stéphane

Bonjour

Merci à Joco mais je cherche une formule unique 365...

Merci à Raccourcix : cela semble parfait : je vais reporter sur le vrai tableau

Sinon pour ne pas à avoir à passer la dernière ligne de la colonne C en dur

en D3 :

=LET(ma_colonne; C:C;
nbvaleur; NBVAL(ma_colonne);
actuel; PRENDRE(EXCLURE(ma_colonne;2);nbvaleur-2);
précédent; PRENDRE(EXCLURE(ma_colonne;1);nbvaleur-2);
actuel-précédent)

en E3 :

=LET(ma_colonne;C:C;
actuel;PRENDRE(EXCLURE(ma_colonne;2);NBVAL(ma_colonne)-2);
D3#/actuel)

Stéphane

En reprenant la base de Raccourcix, formule unique en D3 :

=LET(
    _nbRows; LIGNES(A2#) - 1;
    _colM1a; PRENDRE(EXCLURE(C:C; 1); _nbRows);
    _colM1b; PRENDRE(EXCLURE(C:C; 2); _nbRows);
    _pertes; SI(ESTVIDE(_colM1b) + ESTVIDE(_colM1a); ""; _colM1b - _colM1a);
    _percen; SIERREUR(_pertes / _colM1a; "");
    ASSEMB.H(_pertes; _percen)
)

EDIT : pris de vitesse

à mon tour d'être pris de vitesse avec ASSEMB.H

=LET(ma_colonne;C:C;
nbvaleur; NBVAL(ma_colonne);
actuel;PRENDRE(EXCLURE(ma_colonne;2);nbvaleur-2);
précédent;PRENDRE(EXCLURE(ma_colonne;1);nbvaleur-2);
écart;actuel-précédent;
ASSEMB.H(écart;écart/précédent))

Stéphane

Bonjour à tous !

Une approche pour l'entièreté du tableau :

=LET(
    plg; C2:.C100;
    old; EXCLURE(plg; -1);
    dif; EXCLURE(plg; 1) - old;
    ASSEMB.V({"Perte". "%"; "". ""}; ASSEMB.H(dif; SIERREUR(dif / old; "")))
)
image

RE

Merci à tous !

J'ai gardé la proposition initiale de raccourcix car en réalité il y a une répétition de 3 colonnes X 10 et un calcul dynamique de la hauteur du tableau

Mais si cela vous amuse, je vous poste mon résultat actuel à base d'INDIRECT...

Je ne doute pas que vous trouviez bien mieux que moi

Les colonnes Mx sont en saisie...

Re,

Je pense que les propositions actuelles conviennent bien. Juste une petite astuce, pour créer des listes de nombres consécutifs on utilise plus souvent SEQUENCE :

Par exemple en B3 :

=SEQUENCE(NBVAL(A3#);;0)

C'est un peu plus concis (en + est compatible 2021).

RE

Re,

Par exemple en B3 :

=SEQUENCE(NBVAL(A3#);;0)

Merci, je l'oublie tout le temps celui-là. On peut aussi l'appliquer à la colonne A du coup...

RE

Je pense que les propositions actuelles conviennent bien.

Non car la saisie n'a pas lieu tous les jours et les formules de calcul des pertes partent en vrille quand il y a un trou...

Bonsoir à tous !

Bien...

Je vous remercie de ce retour.

Bonsoir

exemple de formule pour gérer "les trous".

l'étape "valeur_précédente" permet de recopier vers le bas en cas de cellule vide (0 au début dans tous les cas pour la première valeur)

=LET(plage;A1:A10;
valeur_précédente;ASSEMB.V(0;SCAN(0;EXCLURE(plage;-1);LAMBDA(x;y;SI(ESTVIDE(y);x;y))));
écart;SI((valeur_précédente=0)+ESTVIDE(plage);0;plage-valeur_précédente);
ASSEMB.H(écart;SIERREUR(écart/valeur_précédente;0)))
capture d ecran 2025 09 25 220043

avec les formats personnalisés 0;-0; en colonne C et 0%;-0%; en colonne D

Stéphane

Bonjour

Merci d'avoir persévéré Stéphane.

Rechercher des sujets similaires à "formules 365 trouver"