Hallar el máximo con más de una condición " max condicional" función

Function maxcondicional(RANGO1 As Range, COND1, RANGO2 As Range) As Double
maximo= 0
For I = 1 To WorksheetFunction.CountA(RANGO1)
VALOR = RANGO2(I).Value
If rango1(I) = COND1 And valor > maximo Then
maximo = rango2(I)
End If
Next
If maximo <= 0 Then MAXIMO = 0
maxcondicional = maximo
End Function

Esta es la función que tengo, pero no permite más de una condición.

1 respuesta

Respuesta
1

H o l a:

La condición 1 que tienes actualmente está sobre el rango1, ¿la nueva condición que vas a poner es sobre el rango1 o sobre el rango2?

Podrías poner un ejemplo con una imagen de cómo están tus datos y qué condiciones vas a aplicar.

Sal u dos

Hola gracias por responder, mira lo que que quiero es lo siguiente en la columna máximo de días vencidos, me traiga el mayor valor basado en los criterios de:código de cliente, y ciudad del cliente.

H o l a:

Te anexo 2 opciones, una con fórmula y la otra con la función.


Opción 1, con fórmula, suponiendo que tus datos empiezan en la celda A2, pon la siguiente fórmula en la celda J2:

=SUMAPRODUCTO(MAX(($A$2:$A$100=A2)*($C$2:$C$100=C2)*($I$2:$I$100)))

Cambia en la fórmula el 100 por el último número de fila que tienes con datos. Copia o arrastra la fórmula hacia abajo hasta el final de tus catos.


Opción 2, con Función, pon la siguiente macro en un módulo:

Function maxcond2(r1 As Range, c1 As Range, r2 As Range, c2 As Range, v1 As Range)
'Por.Dante Amor
    maxcond2 = Evaluate("=SUMPRODUCT(MAX((" & r1.Address & "=" & c1.Address & ")*(" & _
                        r2.Address & "=" & c2.Address & ")*(" & v1.Address & ")))")
End Function

Siguiendo el mismo ejemplo que el anterior, suponiendo que tus datos empiezan en la celda A2; en la celda J2, pon la función de esta manera:

=maxcond2($A$2:$A$100,A2,$C$2:$C$100,C2,$I$2:$I$100)

Copia o arrastra la función hacia abajo hasta el final de tus datos.


‘
F E L I Z A Ñ O T E D E S E A D a n t e A m o r. Recuerda valorar la respuesta. G r a c i a s
:) 

Hola dante gracias por tu respuesta, pero creo que no me hice entender disculpa, lo que quiero es calcular es el máximo de la columna J basado en los criterios de código de cliente y ciudad.

En tu imagen no veo las filas ni las columnas, no sé cuál es la columna J.

Por eso te comenté que suponiendo que tus datos empiezan en la celda A2.

Pero si me explicas tu ejemplo y me pones otra imagen donde se vean las filas y las columnas, adapto la fórmula o la función, lo que tu prefieras.

listo dante disculpa

H o l a:

¿Según tu imagen la fórmula va en la celda K2?

Tomando como ejemplo el cliente 526954 tiene 3 registros, los 3 registros pertenecen a la ciudad de "cali", los valores son 37, 1043 y 998, el valor máximo de esos 3 registros es 1043, ¿correcto?

Si es así pon la siguiente fórmula en la celda K2

=SUMAPRODUCTO(MAX(($A$2:$A$100=A2)*($C$2:$C$100=C2)*($J$2:$J$100)))

Copia la fórmula hacia abajo.


La función:

=maxcond2($A$2:$A$100;A2;$C$2:$C$100;C2;$J$2:$J$100)

‘
S aludos. D a n t e A m o r. Recuerda valorar la respuesta. G r a c i a s
:) 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas