尋找其上方任意數量的儲存格的最大或最小最大絕對值

尋找其上方任意數量的儲存格的最大或最小最大絕對值

我想從其上方一定數量的單元格中找到最大值(正數或負數)並將其貼到其下方。下面的程式碼用於尋找輸出儲存格上方 6 個儲存格的最大值。但我不知道如果要分析的上面的單元格數量大於或小於 6,如何找到最大值。查找最大值。我已經創建了循環,但我被困在這個循環中。我認為我的做法是不正確的。我可以知道有多少個案例。我可以建立一個輸入框來要求使用者提供多少個案例,以便我們可以在那麼多行之後建立一個空白行。但我堅持使用計算該值的公式。我無法在公式中插入變數。如果有任何其他方法可以做到這一點,那麼我願意這樣做。

Sub maxvalue()
Dim iRow As Integer, iCol As Integer
Dim oRng As Range
Dim nRng As Range
Set oRng = Range("A4")
iRow = oRng.Row
iCol = oRng.Column
Do
   If Cells(iRow + 1, iCol) <> Cells(iRow, iCol) Then
        Cells(iRow + 1, iCol).EntireRow.Insert Shift:=xlDown
        Cells(iRow + 1, iCol + 1).Value = "max"
        Cells(iRow + 1, iCol + 2) _
            .FormulaR1C1 = "=IF(ABS(MAX(R[-6]C:R[-1]C))<ABS(MIN(R[-6]C:R[-1]C)),MIN(R[-6]C:R[-1]C),MAX(R[-6]C:R[-1]C))"
        iRow = iRow + 2
Else
    iRow = iRow + 1
End If
Loop While Not Cells(iRow, iCol).Text = ""
End Sub

以下是我正在處理的內容和我的期望的圖片: 在此輸入影像描述

答案1

=MAX($A$1:INDIRECT(ADDRESS(ROW()-1,COLUMN())))

選擇同一列上方儲存格中的最大值(不要在第一行儲存格中使用)。需要“A1”地址符號。

=MAX(INDIRECT(ADDRESS(1,COLUMN()), False):R[-1]C)

選擇同一列上方儲存格的最大值(也不要在第一行的儲存格中使用)。需要“R1C1”位址符號。

附言。我只有國家版 Excel,所以公式中可能有小錯誤。但我認為了解他們的想法就足夠了。

相關內容