Agrupar y totalizar datos en excel

Necesito agrupar y sumar los datos de una tabla y copiarlos a otra en lo posible en otra hoja dentro del mismo libro.

Ejemplo tengo la tabla 1:

Mes importe

enero $100

enero $50

febrero $25

marzo $100

enero $100

febrero $25

abril $200

mayo $150

mayo $20

y necesito obtener la tabla 2:

mes importe

enero $250

febrero $50

marzo $100

abril $200

mayo $170

En lo posible con una macro o algo que se actualice solo al cambiar los datos de la tabla 1.

1 respuesta

Respuesta
1

En que columnas tienes tu tabla 1 y en cuales quieresz la tabla2

hola gracias por contestar, la tabla uno esta en las columnas 1 y 2, y la tabla dos lo mejor seria poder tenerla en las columnas 1 y 2 también pero de la hoja 2, y si no es posible entonces en cualquier columna de la hoja 1 supongamos 4 y 5.

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 Asignar macro / Selecciona: agrupar
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Tu hoja de datos se debe llamar hoja1 y en la hoja2 se van a agrupar.

Sub agrupar()
'por.dam
    Application.ScreenUpdating = False
    Sheets("Hoja1").Select
    mes = Range("A1")
    importe = Range("B1")
    uf = Range("A" & Rows.Count).End(xlUp).Row
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
        SourceData:="Hoja1!R1C1:R" & uf & "C2").CreatePivotTable _
        TableDestination:="", TableName:="Tabla dinámica2", _
        DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    h2 = ActiveSheet.Name
    With ActiveSheet.PivotTables("Tabla dinámica2").PivotFields(mes)
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Tabla dinámica2").AddDataField ActiveSheet.PivotTables _
        ("Tabla dinámica2").PivotFields(importe), "Suma de importe", xlSum
    Sheets("Hoja2").Cells.Clear
    Range("A4:B4").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Hoja2").Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("B1") = importe
    Application.DisplayAlerts = False
    Sheets(h2).Delete
    Application.DisplayAlerts = True
    Application.ScreenUpdating = False
End Sub

Saludos.Dam
Si es lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas