2016-07-28 85 views
-1

我想從excel中獲取值的最大值n值,n是可變的。下面是一個例子與ň = 5: Explanation: it starts at A6 when it have 5 values and enough data to compute the max of the 5 previous values, so it looks backwardsn值的最大值,excel

說明:它開始於A6,當它有5個值和足夠的數據來計算5個先前值的最大值,所以看起來倒退。

Ñ = 10又如:

The range is always looking backwards the number of values that the constant is, so if constant =10 then it looks the 10 previous values. 我需要的是在B列改變的範圍內尋找最大如果恆定值變化的公式或陣列式。

有任何問題,問我。 謝謝。

回答

0

忽略以下。這是一個被@tigeravatar提供了另一種解決方案,我離開了,因爲它比他目前的解決方案更清潔:

=IF(ROW()<=$C$2,"",MAX(OFFSET(A2,0,0,-$C$2,1))) 

另一種選擇,但比較繞口。在B2的地方,抄下:

=IF(ROW()=$C$2+1,MAX(OFFSET($A$2,0,0,$C$2,1)),IF(ROW()>$C$2+1,MAX(OFFSET(A2,0,0,$C$2,1)),"")) 

+0

使用提供的第一個例子,其中Constant = 5,單元格B7將返回10的錯誤結果,因爲B7將評估範圍爲A7:A11而不是A3的正確範圍:A7 – tigeravatar

+0

您可以通過使用' - $ C $ 2'在第二個偏移量函數中 – tigeravatar

+0

實際上,您可以將公式大大簡化爲僅僅是'= IF(ROW()<= $ C $ 2,「」,MAX(OFFSET(A2,0,0, - $ C $ 2,1)))' – tigeravatar

2

使用你的兩個提供的例子,在單元格B2和抄下來:

=IF(OR($C$2="",ROW(B1)<$C$2),"",MAX(INDEX(A:A,ROW(A2)-$C$2+1):A2)) 
+0

是的,這對我的作品!謝謝。 –

+1

您的實際設置與您提供的示例不同嗎?它給你什麼錯誤?你能否展示一個更具代表性的實際數據例子?我沒有測試過這個,可以確認它正常工作 – tigeravatar

+0

同上測試! –