前向滞后我正在尝试编写一个利用前向滞后函数工作的公式。我有多个数据集,其值是时间函数 (1200Hz)。我想改变这些列,使最大值等于 0.5 秒,这样当我绘制数据图表时,我就可以在最大值重叠的地方进行绘制。我能够编写这个公式,使其在列最大值以上工作,但无法使其在反向滞后函数中工作。
如果(
:A == 列最大值(:A), 0.5,
滞后(列最大值(:A),1),滞后(:B,1)+ 1 / 1200,
滞后(列最大值(:A),-1),滞后(:B,-1)- 1 / 1200
)
从预览中可以看到,它在

内容组织回复:前向滞后我相信这就是你所需要的
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
)
顺便说一句.....如果样本数据不只是以图片的形式显示,而是以机器可读的形式显示,那么对响应者来说会方便得多。如果能附上数据表就更好了。
回复:前向滞后你好,谢谢你的回复!
这并没有完全满足我的要求。感谢您提供有关附加数据的说明,因为这是我的第一个问题 - 我不确定正确的协议。我已在下面附加了数据。
正如您所看到的,B 列的输出公式在 0.5 以上创建了所需的乘积,从那里往上数了 1/1200 秒,但我需要它从 0.5 开始往后数 1/1200 秒,这是我遇到困难的地方,因为它依赖于 A 列的列最大值
回复:前向滞后您的 IF() 语句正在按照您所编写的方式进行解释。
然而,
Lag( Col Maximum( :A ), 1 )
返回值 2693.162203,该值将被解释为 TRUE,因此
Lag( :B, 1 ) + 1 / 1200
将被执行。第三次比较将永远不会被执行,因为第二次比较将始终返回正值。
你期待什么
Lag( Col Maximum( :A ), 1 )
返回?