![](/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.