返回

多角度数据汇总,简单到令人咋舌

Excel技巧

多角度数据汇总,简单的有点不像话

在实际工作中,经常需要对一组数据从多个角度进行汇总。以某工厂员工生产记录为例,记录了各员工每天的生产数量,我们需要计算每位员工的日均产量、最低日产量和最高日产量。下面,让我们揭秘快速实现多角度数据汇总的简单方法:

步骤 1:数据准备

在新建的工作表中,复制原始数据表。确保数据区域不包含任何空白行或列。

步骤 2:使用数据透视表

选择数据区域,转到“插入”选项卡,单击“数据透视表”。在弹出的“创建数据透视表”对话框中,选择新工作表作为放置位置。

步骤 3:设置字段

将“员工姓名”字段拖放到“行”区域,将“生产数量”字段拖放到“值”区域。

步骤 4:应用汇总函数

右键单击“值”区域,选择“值字段设置”。在“值字段设置”对话框中,单击“汇总方式”下拉菜单,分别选择“平均值”、“最小值”和“最大值”作为汇总方式。

步骤 5:查看汇总结果

完成上述操作后,即可在数据透视表中查看每位员工的日均产量、最低日产量和最高日产量。

优点:

  • 快速高效: 使用数据透视表可以快速地对数据进行多角度汇总,节省大量时间。
  • 灵活方便: 数据透视表允许用户根据需要轻松调整汇总字段和汇总方式。
  • 可视化呈现: 数据透视表以可视化形式展示汇总结果,便于理解和分析。

示例代码:

Sub DataSummary()
    Dim rngData As Range
    Dim rngSummary As Range
    Dim wb As Workbook

    Set wb = ThisWorkbook
    Set rngData = wb.Worksheets("Data").Range("A1:D20")
    Set rngSummary = wb.Worksheets("Summary").Range("A1")

    rngSummary.Cells(1, 1).Value = "Employee Name"
    rngSummary.Cells(1, 2).Value = "Average Production"
    rngSummary.Cells(1, 3).Value = "Minimum Production"
    rngSummary.Cells(1, 4).Value = "Maximum Production"

    rngData.Cells.Clear
    rngData.Cells(1, 1).Value = "John"
    rngData.Cells(1, 2).Value = 100
    rngData.Cells(1, 3).Value = 90
    rngData.Cells(1, 4).Value = 110
    rngData.Cells(2, 1).Value = "Mary"
    rngData.Cells(2, 2).Value = 80
    rngData.Cells(2, 3).Value = 70
    rngData.Cells(2, 4).Value = 90
    rngData.Cells(3, 1).Value = "Tom"
    rngData.Cells(3, 2).Value = 95
    rngData.Cells(3, 3).Value = 85
    rngData.Cells(3, 4).Value = 105

    rngData.CreatePivotTable TableDestination:=rngSummary, TableName:="EmployeeSummary", _
        DefaultVersion:=xlPivotTableVersion15
    rngSummary.PivotTable.PivotFields("Employee Name").Orientation = xlRowField
    rngSummary.PivotTable.PivotFields("Production Quantity").DataFields.Add _
        Table:=rngSummary.PivotTable.PivotCache, Field:="Production Quantity", _
        Name:="Average Production", Function:=xlAverage
    rngSummary.PivotTable.PivotFields("Production Quantity").DataFields.Add _
        Table:=rngSummary.PivotTable.PivotCache, Field:="Production Quantity", _
        Name:="Minimum Production", Function:=xlMin
    rngSummary.PivotTable.PivotFields("Production Quantity").DataFields.Add _
        Table:=rngSummary.PivotTable.PivotCache, Field:="Production Quantity", _
        Name:="Maximum Production", Function:=xlMax
End Sub