ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 数据透视表 > 如何根据名称中含的关键词批量组合项目并命名为相应的关键词

如何根据名称中含的关键词批量组合项目并命名为相应的关键词

作者:绿色风 分类: 时间:2022-08-18 浏览:148
楼主
水星钓鱼
Q:如下图所示:

 
如何创建数据透视表可以汇总每天“大杯”、“小杯”、“中杯”的信息
如下图所示:

 
A:利用VBA代码可以进行这样的批量操作。VBA代码如下
  1. Sub xyf()
  2. Dim oPT As PivotTable
  3. Dim oPF As PivotField
  4. Dim oPI As PivotItem
  5. Dim oReg As Object
  6. Dim i As Integer
  7. '利用正则快速地判断是否含关键词
  8. Set oReg = CreateObject("vbscript.regexp")
  9. Set oPT = Me.PivotTables(1)
  10. Set oPF = oPT.PivotFields("名称")
  11. arr = Array("大杯", "中杯", "小杯")
  12. For i = 0 To 2
  13.     With oReg
  14.         .Global = True
  15.         .Pattern = arr(i)
  16.         With oPF
  17.             For Each oPI In .PivotItems
  18.                 If oReg.test(oPI) Then
  19.                     oPI.Visible = True
  20.                 Else
  21.                     oPI.Visible = False
  22.                 End If
  23.             Next
  24.             .DataRange.Group
  25.             oPT.PivotFields("名称2").PivotItems("数据组" & i + 1).Caption = arr(i)
  26.             oPT.ClearAllFilters
  27.         End With
  28.     End With
  29. Next i
  30. End Sub
附件如下:

利用VBA代码批量组合具有关键词的项目.rar


2楼
卢子
感觉用个辅助列还更简单
  1. =IF(COUNTIF(C2,"*杯*"),MID(C2,FIND("杯",C2)-1,2),"")
3楼
亡者天下
学习二楼的用法更简单!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap