Obtener valores máximos y mínimos una serie de nombres que se repiten

Tengo columna A y B, en A tengo Vendedores (repetidos) y en B Ventas, como obtengo el valor máximo o mínimo de cada vendedor para identificar los valores en una columna C y D, ejemplo:

A,B,C,D

Vendedor, Ventas, VtsMax, VtsMin

Luis, 85,108,82

Jose, 73

Pedro, 104

Luis, 108,108,82

Pedro, 72

Luis, 82,108,82

Raul, 92

En el ejemplo, se identifica que las ventas max de Luis son de 108 y las mín son de 82. Necesito indicar en la Col C, VtsMax una formula que encuentre el valor máximo de cada vendedor y en la columna D VtsMin el valor mínimo de cada vendedor.

1 respuesta

Respuesta
1

Le estuve dando vueltas a este tema y se me ocurrio un macro

Este funciona bajo las sgte premisas

La fila 1 es para rotulos, se respecta la estructura de datos presentada por ti, es decir

Col a nombres vendedores - col b ventas - col c vmax - col d vmin

Aca el macro:

Public Sub maxmin()
Dim r As Range
Dim rr As Range
Dim t As Long
Dim nombre As String
Dim rango As String
'4c7569735f50
' busca las ventas maximas y minimas según lista en columna a para cada vendedor
t = Application.WorksheetFunction.CountA(Range("A2:A65536")) + 1
If t = 1 Then Exit Sub
Application.ScreenUpdating = False
For Each r In Range("a2:" & "a" & t)
nombre = r
For Each rr In Range("a2:" & "a" & t)
If nombre = rr Then rango = rango & rr.Offset(0, 1).Address & ","
Next
rango = Mid(rango, 1, Len(rango) - 1)
Range(rango).Select
r.Offset(0, 2) = Application.WorksheetFunction.max(Selection)
r.Offset(0, 3) = Application.WorksheetFunction.min(Selection)
Set rr = Nothing
rango = ""
Next
Set r = Nothing
Application.ScreenUpdating = True
MsgBox "Finalizado", vbInformation
End Sub

Grabalo en un modulo desde el editor de vbasic ( alt +f11), ejecutalo como: maxmin

Gracias Luis_P....no sé mucho de macros....hice lo que sugeriste, pero la formula maxmin, no aparece después de haber gabado la rutina en un módulo...que se puede hacer con bdmax o bdmin ?????....en su caso como utilizo la nueva formula "maxmin"?....gracias nuevamente.!

No, no te va a aparecer ninguna formula. El macro internamente hace la busqueda y pone el valor correspondiente en las columnas c y d dependiendo de los valore evaluados en col b para cada nombre en A

Lo primero es tener completas las columnas A y B sin espacios entre datos( filas).

Luego ejecutar el macro maxmin, al finalizar el macro te aparecera un mensaje en pantalla que indica "finalizado" eso es todo.

Para ejecutar el macro seleciona alt+f8 y ejecuta maxmin

Recuerda que los datos se considerand esde la fila 2 la fila 1 es para los titulos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas