excel学习库

excel表格_excel函数公式大全_execl从入门到精通

如何将一个单元格里的内容按照一定规律拆分出来并且分类汇总好?


如何将一个单元格里面的内容按照一定规律拆分出来并且按照实际需求分类汇总好?

图1 图2

数据——分裂分隔符号下一步其他顿号下一步常规完成

图3 图4

右键——选择性粘贴——转置将横向的数据文本转置粘贴为纵向

图5

CTRL+C选中A5:A8Ctrl+V

图6

=CONCAT(IFERROR(--MID(B5,ROW($1:$10),1),""))Ctrl+SHIFT+ENTER

图7

MID函数数组ROW($1:$10)分别提取出来--汉字转换为错误值#VALUE!将错误值转化为空值CONCAT函数数字结合

ALT+F11插入-模块

Sub 拆分()

Dim i, irow, x, xrow As Integer

Dim arr

Dim cel As Range

Dim regexp As Object

irow = Sheet30.[a1].CurrentRegion.Rows.Count '获得源数据的行数

Sheet31.Range("a:b").Delete '语句循环时避免覆盖数据,sheet31为拆分后最终数据所在的工作表,大家以实际操作需求为准

For i = 1 To irow

arr = Split(Sheet30.Range("b" & i), "、") '将源数据b列每个有内容的单元格按照顿号拆分成一个从0开始的一堆数组

For x = 0 To UBound(arr) '数组的上标

xrow = Sheet31.Cells(Rows.Count, 2).End(xlUp).Row '结果工作表已使用单元格的行数

Sheet31.Cells(xrow, 2).Offset(1, 0) = arr(x) '把数组的值循环取出并赋值

Sheet31.Cells(xrow, 2).Offset(1, -1) = Sheet30.Cells(i, 1) '赋值套餐名称

Next

Next

Set regexp = CreateObject("vbscript.regexp") '创建一个正则表达式

With regexp

.Global = True

.Pattern = "[^0-9]" '匹配除数字以外的其他字符

For Each cel In Sheet31.Range("b2:b" & Sheet31.Cells(Rows.Count, 2).End(xlUp).Row)

cel.Offset(0, 1) = .Replace(cel, "") '遍历赋值

Next

End With

With Sheet31 '增加标题字段、居中对齐和自适应列宽

.[a1] = "套餐"

.[b1] = "菜名"

.[c1] = "价格"

.[a1].CurrentRegion.HorizontalAlignment = xlCenter

.Range("b1").EntireColumn.AutoFit

End With

End Sub

图8

以上就是小包为大家总结的关于“将一个单元格里面的内容按照一定规律取出来并且按照要求分类汇总”的两个主要方法,关注小包,后面持续为小伙伴们分享更多的实用职场操作技巧。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接