在 WPS 表格中,可以使用 VB 编辑器来自动清洗分类并汇总数据到另一个表格中。以下是实现的步骤:

  1. 打开 WPS 表格,创建两个表格,一个用于原始数据,一个用于清洗分类汇总的结果。

  2. 在 WPS 表格中,按下 Alt + F11 键,打开 VB 编辑器。

  3. 在 VB 编辑器中,点击插入菜单,选择模块,然后在模块中编写 VB 代码。

  4. 编写 VB 代码来实现数据清洗分类并汇总的功能。以下是一个示例代码:

Sub CleanAndSummarizeData()
    Dim sourceSheet As Worksheet
    Dim resultSheet As Worksheet
    Dim sourceRange As Range
    Dim resultRange As Range
    Dim i As Long
    Dim lastRow As Long
    
    ' 设置原始数据表格和结果表格
    Set sourceSheet = ThisWorkbook.Sheets('原始数据')
    Set resultSheet = ThisWorkbook.Sheets('分类汇总结果')
    
    ' 获取原始数据表格的最后一行
    lastRow = sourceSheet.Cells(sourceSheet.Rows.Count, "A").End(xlUp).Row
    
    ' 设置原始数据表格的范围
    Set sourceRange = sourceSheet.Range("A2:C" & lastRow)
    
    ' 清除结果表格的内容
    resultSheet.Cells.ClearContents
    
    ' 设置结果表格的初始行数
    i = 2
    
    ' 循环遍历原始数据表格中的每一行
    For Each cell In sourceRange.Columns(1).Cells
        ' 获取原始数据分类
        category = cell.Value
        
        ' 获取原始数据值
        value = cell.Offset(0, 1).Value
        
        ' 在结果表格中查找该分类是否已存在
        Set resultRange = resultSheet.Columns(1).Find(category, LookIn:=xlValues, LookAt:=xlWhole)
        
        ' 如果分类已存在,则在对应分类的值上累加
        If Not resultRange Is Nothing Then
            resultSheet.Cells(resultRange.Row, 2).Value = resultSheet.Cells(resultRange.Row, 2).Value + value
        Else
            ' 如果分类不存在,则在结果表格中新增一行,并填入分类和值
            resultSheet.Cells(i, 1).Value = category
            resultSheet.Cells(i, 2).Value = value
            i = i + 1
        End If
    Next cell
End Sub
  1. 编写完代码后,按下 F5 键运行代码。

这样,代码将会自动清洗原始数据表格中的分类,并将分类汇总后的结果填入到结果表格中。请根据实际情况修改代码中的表格名称和数据范围。


原文地址: https://www.cveoy.top/t/topic/o4Uf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录