Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1959|回复: 6

[已解决]字母、数字等字符提取

[复制链接]
发表于 2015-6-23 14:01 | 显示全部楼层 |阅读模式
各位老师  大神们  下午好!
       我在工作中经常遇到“数字、字母、空格及其他符号(/)” 等混合在一起并放在一个单元格里,分别代表不同的含义,要现在,要求利用函数或VBA提取出来分别放在两个单元格里。请各位大师帮忙解决,谢谢在线支持!具体要求详见“数据分离附件".
最佳答案
2015-6-24 10:32
数据分离.rar (10.05 KB, 下载次数: 10)

数据分离附件.zip

4.45 KB, 下载次数: 19

发表于 2015-6-23 16:08 | 显示全部楼层
  1. Function demo(rng As Range, x As Integer) As String
  2.     Dim a, ar, i, m(1 To 2)
  3.     a = rng.Value
  4.     ar = Split(a, " ")
  5.     For i = 0 To UBound(ar)
  6.         If ar(i) <> "" Then
  7.             If InStr(ar(i), "/") Then
  8.                 If InStr(m(1), Split(ar(i), "/")(0)) = 0 Then m(1) = m(1) & Split(ar(i), "/")(0) & ";"
  9.                 If InStr(m(2), Split(ar(i), "/")(1)) = 0 Then m(2) = m(2) & Split(ar(i), "/")(1) & "、"
  10.             Else
  11.                 If InStr(m(1), ar(i)) = 0 Then m(1) = m(1) & ar(i) & ";"
  12.                 m(2) = "空值 "
  13.             End If
  14.         End If
  15.     Next
  16.     If x = 1 Or x = 2 Then demo = Left(m(x), Len(m(x)) - 1)
  17. End Function
复制代码
写了个自定义的,附件楼下
回复

使用道具 举报

发表于 2015-6-23 16:09 | 显示全部楼层
数据分离.rar (8.28 KB, 下载次数: 12)
回复

使用道具 举报

发表于 2015-6-23 16:45 | 显示全部楼层
  1. Private Sub 运行_Click()
  2. Set d1 = CreateObject("scripting.dictionary")
  3. Set d2 = CreateObject("scripting.dictionary")
  4. arr = [a1].CurrentRegion
  5. Dim crr(1 To 100000, 1 To 2)
  6. On Error Resume Next
  7. For i = 2 To UBound(arr)
  8.     brr = Split(arr(i, 1), " ")
  9.     For j = 0 To UBound(brr)
  10.         T0 = Split(brr(j), "/")(0)
  11.         T1 = Split(brr(j), "/")(1)
  12.         d1(T0) = "": d2(T1) = ""
  13.     Next
  14.     k = k + 1
  15.     crr(k, 1) = Join(d1.keys, ":")
  16.     crr(k, 2) = Join(d2.keys, "、")
  17.     [e2].Resize(k, 2) = crr
  18.     d1.RemoveAll: d2.RemoveAll
  19. Next
  20. End Sub
复制代码
双字典提取吧
回复

使用道具 举报

发表于 2015-6-23 16:48 | 显示全部楼层
附件参考

数据分离附件.zip

11.53 KB, 下载次数: 14

回复

使用道具 举报

发表于 2015-6-24 10:32 | 显示全部楼层    本楼为最佳答案   
数据分离.rar (10.05 KB, 下载次数: 10)
回复

使用道具 举报

 楼主| 发表于 2016-3-3 23:20 | 显示全部楼层
qh8600 发表于 2015-6-24 10:32
这样

       qh8600   老师  你好!   你于2015年06月帮我写的代码:数据分离小程序,我一直在用,但现在数据源有变化,该代码就不能使用了,还请你完善一下,谢谢!请详见附件。

数据分离.zip

20.1 KB, 下载次数: 1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-14 12:18 , Processed in 0.284566 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表