Encontrando o valor absoluto máximo ou mínimo para qualquer número de células acima dele

1

Eu quero encontrar o maior valor (positivo ou negativo) de um determinado número de células acima dele e colá-lo. Abaixo está o código para encontrar o maior valor para 6 células acima da célula de saída. Mas eu não sei como encontrar o maior valor se o número de células acima dele for analisado é maior ou menor que 6. Ele é colocado em loop para encontrar valores de múltiplos grupos de células com exatamente "n" número de células acima dele e crie uma célula vazia para encontrar o max. Eu criei o loop, mas estou preso a este. Eu acho que minha abordagem está incorreta. Eu posso saber quantos casos estão lá. Eu posso criar uma caixa de entrada para pedir ao usuário para dar quantos casos para que possamos criar uma linha vazia depois de tantas linhas. Mas estou preso na fórmula a ser usada para calcular o valor. Não consigo inserir uma variável dentro da fórmula. Se houver qualquer outra abordagem para fazer isso, então eu estou pronto para isso.

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

Abaixo está a imagem do que estou trabalhando e o que estou esperando:

    
por Baaki Nira 06.06.2018 / 10:46

1 resposta

2

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

Seleciona o valor máximo nas células acima na mesma coluna (não use na célula na primeira linha). Precisa de notação de endereço "A1".

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

Seleciona o valor máximo nas células acima na mesma coluna (não use na célula na primeira linha também). Precisa de notação de endereço "R1C1".

PS. Eu tenho apenas o Excel nacional, então os pequenos erros podem estar nas fórmulas. Mas acho que é o suficiente para entender a ideia deles.

    
por 06.06.2018 / 11:22