ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2852|回复: 13

如何将省份区域用公式拆分

[复制链接]

TA的精华主题

TA的得分主题

发表于 2013-6-21 14:24 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
详细的请大家看附件!!谢谢大家了!!!

省份.rar

3.27 KB, 下载次数: 31

TA的精华主题

TA的得分主题

发表于 2013-6-21 14:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
等待有解。。。。。。。。。。。。。。。。。。。。。。

TA的精华主题

TA的得分主题

发表于 2013-6-21 15:35 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-21 15:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
hustnzj 发表于 2013-6-21 15:35
数据源的规律在哪里?貌似很难有解!!

就是因为没有规律。。。。所以才想问问高手

TA的精华主题

TA的得分主题

发表于 2013-6-21 15:47 | 显示全部楼层
cici_xue19 发表于 2013-6-21 15:36
就是因为没有规律。。。。所以才想问问高手

没有规律,神仙也不行

TA的精华主题

TA的得分主题

发表于 2013-6-21 16:37 | 显示全部楼层
以前写过,不过人家有一份全国省市区所有的记录,做起来就简单了,你的嘛,呵呵

TA的精华主题

TA的得分主题

发表于 2013-6-22 09:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我的公式有待高手完善

省份.rar (4.55 KB, 下载次数: 15)

TA的精华主题

TA的得分主题

发表于 2013-6-23 19:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
必须要书写规范才可以,
第一级关键字:省/市/自治区
第二级关键字:市/区/州
到地市这一级还是可以用VBA来处理,后面的情况很难.

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-6-24 10:37 | 显示全部楼层
xsy我可以很好 发表于 2013-6-22 09:40
我的公式有待高手完善

但是有一些明显的还是没有分出来啊,就比如上海。。。怎么办啊

TA的精华主题

TA的得分主题

发表于 2013-6-24 13:45 | 显示全部楼层
本帖最后由 ASLXT 于 2013-6-24 13:46 编辑

试一下用vba:添加一个按钮,按钮的事件代码如下:
    Dim i, j, k, l
    Dim str
    For i = 2 To  Me.UsedRange.Rows.Count    '遍历所有行
        str = Cells(i, 1)
        For j = 1 To Len(str)    '遍历所有字符,查找省市自治区的关键字
            If InStr(1, "省市区", Mid(str, j, 1)) > 0 Then
                Cells(i, 2) = Left(str, j)
                For k = j To Len(str) '遍历所有字符,查找地市州的关键字
                    If InStr(1, "市州", Mid(str, k, 1)) > 0 Then '如何排除“湖州市”这样既有“州”又有“市”的地名?
                        Cells(i, 3) = Mid(str, j + 1, k - j)
                        For l = k To Len(str) '遍历所有字符,查找市县区的关键字
                            If InStr(1, "市区县", Mid(str, l, 1)) > 0 Then
                                Cells(i, 4) = Mid(str, k + 1, l - k)
                                Cells(i, 5) = Mid(str, l + 1)
                            End If
                        Next l
                        Exit For '找到所需字符就退出循环
                    End If
                Next k
                Exit For '找到所需字符就退出循环
            End If
        Next j
    Next i
切换到运行模式,点击按钮...

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-29 12:07 , Processed in 0.027279 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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