![](/img/trans.png)
[英]Excel formula: For each instance of value in column, get value of another column in same row
[英]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 与前两个参数15
、 6
和最后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.