Décalage avantJ'essaie d'écrire une formule qui fonctionne à partir d'une fonction de décalage avant. J'ai plusieurs ensembles de données avec des valeurs qui sont une fonction du temps (1200 Hz). Je souhaite modifier ces colonnes de sorte que la valeur maximale soit égale à 0,5 seconde, afin que lorsque je représente graphiquement les données, je puisse le faire là où les valeurs maximales se chevauchent. J'ai pu écrire cette formule pour qu'elle fonctionne au-dessus du maximum de la colonne, mais je n'arrive pas à la faire fonctionner dans une fonction de décalage inverse.
Si(
:A == Col Maximum( :A ), 0.5,
Décalage(Col. Maximum( :A), 1 ), Décalage( :B, 1 ) + 1 / 1200,
Décalage(Col. Maximum( :A), -1), Décalage( :B, -1) - 1 / 1200
)
Comme vous pouvez le voir dans l'aperçu, cela fonctionne après le

Organisation du contenuRe: Décalage avantJe crois que c'est ce dont tu as besoin
If(
:A == Col Maximum( :A ), 0.5,
Lag( :A, 1 ) == Col Maximum( :A ), Lag( :B, 1 ) + 1 / 1200,
Lag( :A, -1 ) == Col Maximum( :A ), Lag( :B, -1 ) - 1 / 1200
)
Au fait... il est beaucoup plus pratique pour le répondant d'avoir vos données d'échantillon non seulement affichées sous forme d'image, mais également sous une forme lisible par machine. Joindre votre tableau de données serait bien.
Re: Décalage avantBonjour, merci pour la réponse !
Cela n'a pas vraiment donné ce que je cherchais. Merci pour la remarque sur la connexion des données, car c'est ma première question - je n'étais pas sûr du protocole approprié. J'ai joint ci-dessous.
Comme vous le verrez, la formule de sortie de la colonne B crée le produit souhaité au-dessus de 0,5, en comptant 1/1200 s à partir de là, mais j'ai besoin qu'il compte à rebours de 1/1200 de seconde à partir de 0,5, ce qui est là où j'ai des difficultés car cela dépend du columnmax de la colonne A
Re: Décalage avantVotre instruction IF() est interprétée comme vous l’avez écrite.
Cependant,
Lag( Col Maximum( :A ), 1 )
renvoie la valeur de 2693.162203 qui sera interprétée comme VRAI, alors
Lag( :B, 1 ) + 1 / 1200
Sera exécuté. La troisième comparaison ne sera jamais exécutée puisque la deuxième comparaison renverra toujours une valeur positive.
Qu'attendez-vous
Lag( Col Maximum( :A ), 1 )
revenir ?