繁体   English   中英

Excel 公式:对于列中峰值/谷值的每个实例,获取到下一个峰值/谷值的范围/距离

[英]Excel formula: For each instance of peak/bottom value in column, get range/distance to the second next peak/bottom

我希望在 Excel 中解决以下问题:

ID     Value   Distance
1      1       3
2      0       0
3      -1      3
4      1       0
5      0       0
6      -1      0
7      0       0

基本距离列是我想要的。 它查看峰值/谷值(1 和 -1),然后向下滚动以找到下一个峰值或谷值并计算距离。 例如,对于 ID 1,由于它是峰值,我们寻找第二个峰值/底部,ID 3 从第一个开始就应该被跳过,所以我们查看 ID 4 并得到距离 = 4-1 = 3

试试下面的公式:

=IFERROR(AGGREGATE(15,6,A2:$A$18/ABS(B2:$B$18),3)/ABS(B2)-A2,0)

解释:

AGGREGATE function 与前两个参数156和最后3返回数组A2:$A$18/ABS(B2:$B$18)忽略错误的第三个最小值 - 在除法后的第一行中,数组看起来像这样[1, #DIV/0,, 3, 4, #DIV/0,, 6. #DIV/0.. ...]并返回4

接下来,将该值除以当前行B列的绝对值(如果除以 0,则会得到错误, IFERROR function 返回 0)。

然后我们从获得的结果(在第一行1中)中减去当前行的列A的值,我们得到所需的距离 - 3

要获得第三个和后续值,请相应地增加AGGREGATE function 的最后一个参数。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM