
Quiero encontrar el valor más grande (positivo o negativo) de una cierta cantidad de celdas encima y pegarlo debajo. A continuación se muestra el código para encontrar el valor más grande para 6 celdas encima de la celda de salida. Pero no sé cómo encontrar el valor más grande si el número de celdas encima que se van a analizar es mayor o menor que 6. Se realiza un bucle para encontrar valores de múltiples grupos de celdas que tienen exactamente "n" número de celdas encima. y crea una celda vacía para encontrar el máximo. He creado el bucle pero estoy atascado en este. Creo que mi enfoque es incorrecto. Puedo saber cuántos casos hay. Puedo crear un cuadro de entrada para pedirle al usuario que proporcione cuántos casos para que podamos crear una fila vacía después de tantas filas. Pero estoy atascado en la fórmula que debo utilizar para calcular el valor. No puedo insertar una variable dentro de la fórmula. Si hay algún otro método para hacer esto, entonces lo acepto.
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
A continuación se muestra la imagen de con qué estoy trabajando y lo que espero:
Respuesta1
=MAX($A$1:INDIRECT(ADDRESS(ROW()-1,COLUMN())))
Selecciona el valor máximo en las celdas de arriba en la misma columna (no lo use en la celda de la primera fila). Necesita notación de dirección "A1".
=MAX(INDIRECT(ADDRESS(1,COLUMN()), False):R[-1]C)
Selecciona el valor máximo en las celdas de arriba en la misma columna (no lo use también en la celda de la primera fila). Necesita notación de dirección "R1C1".
PD. Solo tengo Excel nacional, por lo que los errores menores pueden estar en las fórmulas. Pero creo que es suficiente para entender la idea de ellos.