Necesito función o macro Para buscar entre datos repetidos el valor mínimo y que me copie información adicional

Tengo columna A, B, C,, en A tengo Vendedores (repetidos) y en B Ventas, C producto, como obtengo el valor máximo o mínimo de cada vendedor para identificar los valores en una columna DE, E, F, G donde.

D almacene el valor mínimo

E el producto del valor mínimo

F almacene el valor máximo

G producto del valor máximo.

Esquema de los datos:

Vendedor; Venta; Producto 

steven; 4 ; s

alejandra 5 f

steven 7 t

alejandra 4 j

jeisson 2 ka

luis 1 v

perez 4 s

muñoz d 6 f

Necesitaría que en la columna D se obtenga el valor mínimo de las ventas de cada vendedor, en la columna E el nombre del producto de ese valor mínimo. Columna F valor máximo de venta de cada vendedor y en G nombre producto del valor máximo.

Respuesta
1

H o  l a:

Entendiendo que tienes vendedores repetidos, te propongo poner en la columna "D" los vendedores únicos y en las columnas E, F, G y H los valores de cada vendedor, por ejemplo:

Ejecuta la siguiente macro. Los datos deberán empezar en la fila 2, tal como se muestra en la imagen.

Sub ObtenerValores()
'Por.Dante Amor
    Columns("A:A").Copy Range("D1")
    u = Range("D" & Rows.Count).End(xlUp).Row
    Range("D1:D" & u).RemoveDuplicates Columns:=1, Header:=xlYes
    For i = 2 To Range("D" & Rows.Count).End(xlUp).Row
        wMax = 0
        wMin = WorksheetFunction.Max(Range("B2:B" & Range("B" & Rows.Count).End(xlUp).Row))
        Set r = Columns("A")
        Set b = r.Find(Cells(i, "D"), lookat:=xlWhole)
        If Not b Is Nothing Then
            celda = b.Address
            Do
                'detalle
                If Cells(b.Row, "B") > wMax Then
                    wMax = Cells(b.Row, "B")
                    wMaxNom = Cells(b.Row, "C")
                End If
                If Cells(b.Row, "B") < wMin Then
                    wMin = Cells(b.Row, "B")
                    wMinNom = Cells(b.Row, "C")
                End If
                Set b = r.FindNext(b)
            Loop While Not b Is Nothing And b.Address <> celda
        End If
        Cells(i, "E") = wMin
        Cells(i, "F") = wMinNom
        Cells(i, "G") = wMax
        Cells(i, "H") = wMaxNom
    Next
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: ObtenerValores
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas