编按:这个宇宙上不存在齐全的文本处理才能,只好写的齐全的字符串。数据不递次,共事两行泪。今天来给寰球共享两种惩处不递次文本的才能,飞速来看一看吧! 文本的索求信赖寰球或多或少都会一些,然则说念高一尺魔高一丈,偶而候总会际遇一些XX共事,拿着一些不递次的文原本挑战你的极限。 比如底下这个: 绍兴飞宇纺织贸易有限公司 图片 需求是:要将这么的文本快速地处理到excel中,excel的表头是底下的神情,准备的还挺王人全。 图片 字符串体式、表头字段都准备好了,况兼后头的数据都是按这个国法胪列,万事俱...
编按:这个宇宙上不存在齐全的文本处理才能,只好写的齐全的字符串。数据不递次,共事两行泪。今天来给寰球共享两种惩处不递次文本的才能,飞速来看一看吧!
文本的索求信赖寰球或多或少都会一些,然则说念高一尺魔高一丈,偶而候总会际遇一些XX共事,拿着一些不递次的文原本挑战你的极限。
比如底下这个:
绍兴飞宇纺织贸易有限公司图片
需求是:要将这么的文本快速地处理到excel中,excel的表头是底下的神情,准备的还挺王人全。
图片
字符串体式、表头字段都准备好了,况兼后头的数据都是按这个国法胪列,万事俱备只欠东风呀!
谈天未几说,开干吧!
刺目:才能是死的,东说念主是活的,接下来的操作才能,是按照上头的文本串的国法来作念——即5个英文的逗号隔断6个区域的内容。内容不错缺省,隔断符不可少。要是有不按章程来的文本串,今天的正确谜底就是你眼中的无理谜底,“二次操作”敬佩是少不了的。
我用函数和VBA两种花样,作念了两个模板,底下就共享给寰球,但愿有交流需求的同学也不错尽快惩处问题。
一:函数处理才能
图片
函数处理,必须要有缓助的处理历程,然后把处理区的内容“粘贴为数值”到保存区中,按上图布局。
1、在B4:J4单位格区域,输入缓助列,指明文本字符串中的某一部分是字段对应的内容,莫得内容的字段无用填,如下:
图片
2、在B7:J7单位格区域输入函数=IF(B4="","",TRIM(MID(SUBSTITUTE($B$3,",",REPT(" ",100)),B4*100-99,100)))
图片
向右拉至J7单位格,填充函数,就取得了鉴识好的内容,况兼是不按规则索求的哟!!
上海广为电器工具有限公司 255, 首页-大奥拉空调有限公司 255);text-align: justify;">3、终末再复制B7:J7, 首页-九湖资礼品有限公司粘贴数值到底下的“数据保存区”就不错了。
大同区立地板有限公司 255,广州市亿东玻璃器皿制造有限公司 255);text-align: center;">
图片
【函数明白】
这个函数是一个经典的按分隔符取字符串的嵌套函数。
最初,使用REPT函数,制作100个空格的字符串,再使用SUBSTITUTE函数将原字符串中的英文逗号都替换成100个空格,
然后,使用MID函数王人集咱们刚才在第4行加的缓助列,索求从2*100、5*100…为第一位脱手的字符串100位,因为空格中都有内容的字符串占位,是以这么就断出咱们要的内容了,要是原字符串字数过多,不错调度空格的长度。
终末,用TRIM函数将字符串的傍边两头空格去掉,即完成咱们的责任了
二、VBA处理才能
其实,施行责任中,作家还是更心爱用VBA来惩处问题,还是上头的问题,共享给寰球一段代码吧。
图片
服装加工设备 255, 255);text-align: justify;">代码共享如下:
Sub 索求() '''工程定名语句
With Sheets("代码才能") '''使用《代码才能》责任表
If .[B3] = "" Then '''要是单位格B3为空
Exit Sub '''截止代码
Else '''要是单位格B3不为空的情况
s = .[B3] '''将单位格B3中的值,放入变量s
End If '''if语句的截止语句
a = .[B1000000].End(3).Row '''详情B列被操作的最末一滑
If IsNumeric(.Range("B" & a)) = True Then '''为卓越到序号,要是B列终末一个不为空的单位格是数值
xh = .Range("B"& a) + 1 '''发挥有运行序号,则此时累加1即可
Else
xh = 1 '''发挥莫得运行序号,序号从1脱手计数
End If
End With '''with语句的截止语句
ReDim arr(1 To 1, 1 To 9) '''界说一个1行9列的二维数组arr,装拆分后的数据使用
s1 = Split(s, ",") '''split函数拆分字符串,赋值到一个数组s1中,此时的s1是一维数组
'''刺目:一维数组s1的运行序号是从0脱手的
arr(1, 1) = xh '''序号列
arr(1, 2) = s1(1) '''下单时间
arr(1, 3) = s1(4) '''类型
arr(1, 4) = s1(0) '''姓名
arr(1, 5) = s1(2) '''手机
arr(1, 6) = s1(3) '''地址
arr(1, 7) = "" '''现象,因为莫得字符串可索求,是以也不错不写此句
arr(1, 8) = "" '''完成时间,因为莫得字符串可索求,是以也不错不写此句
arr(1, 9) = s1(5) '''备注
With Sheets("代码才能")
.Range("B" & a + 1).Resize(1, 9) = arr '''在B列被操作的最末一滑的底下一滑,将arr数组赋值到单位格
End With
Erase arr '''清空数组arr
Erase s1 '''清空数组s1
End Sub '''工程截止语句
终末保存的时候,铭刻把文献另存为.xlsm(启用宏的文献)即可完成了
【编后语】
无论是函数还是VBA,都会有它的所长和瑕疵,还是但愿寰球概况都涉猎一些,因为咱们内容的责任中,不可能老是碰到像今天这么用两个才能都不错惩处的问题的。
版权声名:
本文作家E图表述;同期部落窝解释享有特有使用权服装加工设备。若需转载请有关部落窝解释。
頂富實業有限公司 本站仅提供存储办事,统统内容均由用户发布,如发现存害或侵权内容,请点击举报。