首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Excel中使用VBA或公式来分隔街道名称和后缀?

在Excel中,你可以使用VBA宏或公式来分隔街道名称和后缀。下面分别介绍这两种方法。

使用VBA宏

VBA(Visual Basic for Applications)是Excel中的编程语言,可以用来创建自定义函数和宏。以下是一个简单的VBA宏示例,用于分隔街道名称和后缀:

代码语言:txt
复制
Sub SplitStreetName()
    Dim ws As Worksheet
    Dim rng As Range
    Dim cell As Range
    Dim streetName As String
    Dim suffix As String
    
    ' 设置工作表和范围
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
    
    ' 遍历每个单元格
    For Each cell In rng
        streetName = cell.Value
        ' 查找空格位置
        If InStr(streetName, " ") > 0 Then
            suffix = Mid(streetName, InStrRev(streetName, " ") + 1)
            streetName = Left(streetName, InStrRev(streetName, " ") - 1)
            ' 将结果写入相邻单元格
            cell.Offset(0, 1).Value = streetName
            cell.Offset(0, 2).Value = suffix
        End If
    Next cell
End Sub

使用公式

如果你不想使用VBA,也可以使用Excel的内置函数来分隔街道名称和后缀。以下是一个使用LEFTRIGHTFIND函数的示例:

假设你的街道名称在A列,你可以使用以下公式来分隔街道名称和后缀:

  1. 在B列(街道名称)旁边插入一列,假设为C列(后缀)。
  2. 在B2单元格中输入以下公式:
代码语言:txt
复制
=LEFT(A2, FIND(" ", A2) - 1)
  1. 在C2单元格中输入以下公式:
代码语言:txt
复制
=RIGHT(A2, LEN(A2) - FIND(" ", A2))
  1. 将这两个公式向下拖动以应用于所有行。

应用场景

这种方法适用于需要处理大量街道名称数据的场景,例如:

  • 房地产数据管理
  • 邮递地址处理
  • 地理信息系统(GIS)

可能遇到的问题及解决方法

  1. 街道名称中没有空格
    • 如果街道名称中没有空格,上述方法将无法正确分隔。可以通过添加一个检查来处理这种情况:
代码语言:txt
复制
If InStr(streetName, " ") > 0 Then
    ' 分隔街道名称和后缀
Else
    ' 处理没有空格的情况
End If
  1. 多个空格
    • 如果街道名称中有多个空格,可以使用SUBSTITUTE函数来处理:
代码语言:txt
复制
=LEFT(A2, FIND(" ", SUBSTITUTE(A2, " ", "X", LEN(A2) - LEN(SUBSTITUTE(A2, " ", "")) - 1)) - 1)

通过这些方法,你可以有效地在Excel中分隔街道名称和后缀。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何将重复工作实现自动化?

用大白话说就是,编辑一段小程序Excel上自动运行,节省更多时间玩农药。 2.VBA有什么用? 记得以前部门招聘新人,拿到他们的简历,感觉大家都差不多。可是,公司只招1个人,只能优择优。...当然了以我自己朋友的经历来看,VBA是我们职场的“硬核加分之技能,撩妹装逼之法宝,升职加薪之利器”。 3.如何使用VBA? (1)VBA怎么开启?...说了这么多,2个实操案例吧。 (3)VBA案例 案例1:自定义「日期季度转换函数」 上述的代码是自定义了一个「日期转换季度」函数,这个案例之前出现在实际的工作场景,当然了这个公式是简化版的。...这里大家重点掌握的就是:利用VBA可以开发工作中常用,但Excel没有的公式,从而实现重复工作的自动化。 相关的语法,我们在下一篇文章详细讲解(包教包会的那种)。...这次我们知道了什么是VBA、有什么用、如何使用,下次我们聊聊如何写出案例VBA代码。

2.8K10

如何将重复工作实现自动化?

用大白话说就是,编辑一段小程序Excel上自动运行,节省更多时间玩农药。 2.VBA有什么用? 记得以前部门招聘新人,拿到他们的简历,感觉大家都差不多。可是,公司只招1个人,只能优择优。...当然了以我自己朋友的经历来看,VBA是我们职场的“硬核加分之技能,撩妹装逼之法宝,升职加薪之利器”。 3.如何使用VBA? (1)VBA怎么开启?...说了这么多,2个实操案例吧。 (3)VBA案例 案例1:自定义「日期季度转换函数」 上述的代码是自定义了一个「日期转换季度」函数,这个案例之前出现在实际的工作场景,当然了这个公式是简化版的。...这里大家重点掌握的就是:利用VBA可以开发工作中常用,但Excel没有的公式,从而实现重复工作的自动化。 相关的语法,我们在下一篇文章详细讲解(包教包会的那种)。...这次我们知道了什么是VBA、有什么用、如何使用,下次我们聊聊如何写出案例VBA代码.

24730
  • 【愚公系列】《AI智能化办公:ChatGPT使用方法与技巧从入门到精通》 024-ChatGPT的办公应用(ChatGPTExcel的应用

    使用ChatGPT插件: Excel,找到ChatGPT插件的位置菜单选项。通常,插件会显示工具栏菜单栏。 点击插件图标选项,启动ChatGPT插件。...2.计算重复值 提示词:我想计算“产品名称”列,“手机”出现的条数。请用Excel公式计算。 答: 要计算“产品名称”列“手机”出现的次数,你可以使用COUNTIF函数。...假设“产品名称”这一列是列D,并且你的数据从第2行开始(第1行是表头),你可以Excel使用以下公式: =COUNTIF(D2:D100, "手机") 这个公式的含义是:单元格范围D2到D100...按下Alt + F11以打开VBA编辑器。 VBA编辑器,点击插入 > 模块,在打开的模块窗口中粘贴下面的代码。 按下F5运行代码,或者关闭VBA编辑器回到Excel,通过宏运行这个脚本。...复选框的选中状态将反映在对应的单元格(选中时为TRUE,未选中时为FALSE)。 请注意,运行VBA脚本使用宏可能会受到Excel安全设置的限制。

    11420

    VBA代码库09:增强的CELL函数INFO函数

    excelperfect 本文介绍的自定义函数来源于wellsr.com,以Excel的CELL函数INFO函数为样板,可直接返回工作表工作簿的名称工作簿路径,以及与Excel及其操作环境有关的各种信息...例如,下面的公式: =CELL("filename",A1) 我的示例工作簿返回: D:\01....Excel研究\06.2 VBA代码库\09\[VBACodeLibrary09.xlsm]Sheet1 下面的公式拆分出工作簿路径、工作簿名称工作表名称。...CELL函数INFO函数的功能,不需要像上面那样使用长而复杂的公式获取相关信息。...例如,公式: =nameof(" book ") 我的示例返回结果为: VBACodeLibrary09.xlsm 下面的公式: =nameof("Help") 输出可以函数中使用的所有长格式文本值

    4.6K10

    Workbook工作簿对象基础

    一、工作簿对象的引用 一个工作簿对象workbook实际就是一个excel文件,vba代码使用时引用它主要有两种方式,一种是通过工作簿对象名称,一种是是通过index索引号。...1、Workbooks(“工作簿完整名称”) 工作簿对象workbook对象的名称,即excel文件的名称都是不重复的,引用时需要工作簿的完整名称,包括文件后缀名(要注意后缀的不同,带有宏的excel文件为...电脑打开了三个工作簿,从左至右分别是vba,工作簿1,示例表。通过循环获得三个工作表的名称。...使用excel时,都是某个工作簿workbook中进行编辑。即该工作簿当前是被激活的状态,使用activeworkbook表示。...workbook工作簿对象层级上为application主程序对象,代码可以选择性省略。下面举例说明,获得当前活动的工作簿的名称工作簿活动工作表的名称

    2.9K30

    一起学Excel专业开发02:专家眼中的Excel及其用户

    学习Excel技术,关注微信公众号: excelperfect 对于大多数人来说,使用Excel做的工作就是单元格输入数据,进行一些格式化制作成报表输出,在这个过程,可能会使用一些公式,可能会使用图表展现数据...Excel工作表就是一个实时的语言编辑器,工作表单元格输入数据公式后,Excel实时给出结果,并根据公式所依赖的单元格的变化实时更新数据。...Excel提供的VBA语言专业编辑器(VBE),不仅可以使用VBA充分Excel发挥更大的优势威力,而且可以利用用户窗体设计专业的交互界面,扩展Excel的能力。...判断何时使用Excel解决问题,何时使用VBA解决问题,以及何时将两者结合解决问题时,缺乏经验。...4.Excel开发人员:利用大部分Excel内置功能并适当加入VBA代码是他们解决问题的常用方式,但不愿意使用其他语言编程工具改进自已的Excel解决方案。

    4.3K20

    我经常翻阅的Excel技术书

    Excel公式应用技术技巧。...最初买这本书是看到了其第2章详细讲解名称功能,仔细阅读后发觉这本书中有很多独到的内容讲解,例如对公式的理解、归纳出的公式模型等。...《Excel 2007 Charts》 中文版译名:《中文版Excel 2007图表宝典》,最经典的宝典系列丛书之一,详细讲解了Excel的全部图表功能,以大量的示例展示了Excel绘制图表的方法技巧...这本书讲解了Excel应用实践的大量技术技巧,列举了大量的实例,对解决Excel使用过程的疑难杂症非常有用,是一本实践性很强的书。...这本书中的引用区域、R1C1样式的公式名称、高级筛选、数组等内容是《中文版Excel2010高级VBA编程宝典》的有力补充。

    2K20

    Excel实战技巧86:从下拉列表中选择并显示相关的图片和文字说明

    Excel实战技巧15:工作表查找图片》,我们使用名称INDEX/MATCH函数组合,工作表显示与所选择名称相对应的图片。...Excel实战技巧21:工作表查找图片》使用名称OFFSET/COUNTA/MATCH函数来实现相同的效果。...Excel实战技巧22:工作表查找图片(使用VBA代码)》使用VBA代码达到根据名称显示相应图片的效果。...图4 相关文章: Excel实战技巧15:工作表查找图片 Excel实战技巧21:工作表查找图片 Excel实战技巧22:工作表查找图片(使用VBA代码) Excel实战技巧85:从下拉列表中选择并显示相关的图片...欢迎到知识星球:完美Excel社群,进行技术交流提问,获取更多电子资料。 完美Excel社群2020.9.9动态 #Excel VBA解读之用户窗体00# 写在前面的话

    7.1K20

    Excel 不讲武德,公式界革命,宣布支持 λ 表达式,人人都是程序员

    微软宣布 Excel 公式开始支持自定义函数。这将是 Excel使用公式的革命。Excel 公式是世界上最广泛应用的编程语言,没有之一。...其次,为了补充 Excel 公式的能力,设计团队使用了 λ 表达式扩充 Excel 公式的能力。 ? 啥是 λ 表达式,表示完全听不懂,彻底蒙蔽了。 下面一段科普。...λ 演算在数学、哲学、语言学计算机科学中都有许多应用。它在程序语言理论占有重要地位,函数式编程实现了 λ 演算支持。λ 演算在范畴论也是一个研究热点。...没有错,有着良好初高中数学基础的伙伴,都可以 Excel 里用公式编程了。...名称管理器在哪里 晕。 ? 这个大家都用过,只要定义名称就可以了。如下: ? 定义完成后: ? 接着就可以正常使用了。

    1.1K20

    VBA解析复合文档00

    2003版本以前的Office文件,像Excel后缀.xls),Word(后缀.doc)的文件,都是使用复合文档结构存储的。...2007版本以上的Office文件,如果设置了打开密码,仍然是使用复合文档结构存储的。...2007版本以上的Office文件,如果编写了VBA代码,文件的压缩包里,会有个vbaProject.bin文件,也是使用复合文档结构存储的。...的文件结构 解析复合文档,能够更加深入理解Excel的文件结构,虽然2007版本以上的Excel已经 换成了xml标记语言存储,但是VBA代码相关的vbaProject.bin文件还是使用了复合文档结构...02 直接读取Excel VBA数据 如果想不打开Excel文件读取Excel的数据,一般使用ADO技术就能做到。

    1.2K10

    Excel实战技巧85:从下拉列表中选择并显示相关的图片

    Excel实战技巧15:工作表查找图片》,我们使用名称INDEX/MATCH函数组合,工作表显示与所选择名称相对应的图片。...Excel实战技巧21:工作表查找图片(方法2)》使用名称OFFSET/COUNTA/MATCH函数来实现相同的效果。...Excel实战技巧22:工作表查找图片(使用VBA代码)》使用VBA代码达到根据名称显示相应图片的效果。本文实现的效果相同,实现的方法类似,但可能更简单些。...再次选择单元格E3,使用公式定义名称名称:卡通人物照片 引用位置:=INDIRECT(Sheet1!E3) 如下图5所示。 ?...图7 相关文章: Excel实战技巧15:工作表查找图片 Excel实战技巧21:工作表查找图片 Excel实战技巧22:工作表查找图片(使用VBA代码) 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识

    6.4K10

    VBA实现Excel函数02:SUM

    是的,SUM函数用起来太简单、太方便了,让我们自己用VBA实现看看,你会发现SUM函数也有它不简单的一面。...1、不简单的SUM第1参数: SUM函数的参数提示上,number1是一定要有的,这个number1我们Excel使用的时候可能看不出它有什么特殊,那是因为我们没有去仔细想过。...它无法用于 ByVal、ByRef Optional ParamArray修饰符,是一种不定长的参数,就是你函数参数用逗号分隔开,函数内部收到的其实就是1个数组,所以我们在用SUM函数的时候,你可以不停的用逗号分隔需要相加的单元格...程序通过判断num1的数据类型决定如何处理: 像vbError这种都当作0处理 vbString为了Excel的SUM相同进行了一些特殊判断,使用IsNumeric判断它是否是纯数字的文本,是的情况转化为数字处理...其他我们只简单处理了数据类型 这里故意没有去处理数组类型,因为一旦在这里处理数组类型,就需要用到递归了,递归这个东西对写程序很重要,我觉得就相当于学函数需要会相对引用绝对引用以及数组公式一样。

    2.8K20

    WPS表格的高光时刻马上要来,支持动态数组公式溢出

    今天从WPS官方邓华老师那里获得了WPS内测安装包,支持WPS表格的动态数组公式,测试了一轮,还是比较满意,没有像之前跟进Excel365新函数那样,只是部分支持,这一次,基本上已经Excel365的体验一致...,也会自适应溢出缩放单元格内容。...二、支持引用首单元格加#号后,可引用整个动态数组公式区域 三、支持定义名称,引用动态数组公式区域 只需定义名称,输入第二点所示的引用方式,即可动态引用整个数组公式返回内容的单元格区域 四、支持自定义函数的动态溢出...jsa对象模型支持 要充分将动态数组公式应用好,使用代码二次开发必不可少。...增加了动态数组公式后,VBA对象模型的Range对象新增了几个属性方法,对于二次开发比较关键,如: HasSpill属性代表当前区域是否有动态溢出的公式, 当选定区域为动态数组公式左上单元格,SpillingToRange

    2.1K20

    正则表达式来了,Excel的正则表达式匹配示例

    显然,可以使用正则表达式。 用于匹配字符串的Excel VBA正则表达式函数 要在Excel使用正则表达式,需要创建自己的函数。...一次匹配多个单元格的字符串 要使用单个公式匹配多个字符串,第一个参数包含单元格区域引用: =RegExpMatch(A5:A9, “\b[A-Z]{2}-\d{3}\b”) 支持动态数组的Excel365...Excel2019及以前的版本,要使用传统的数组公式,即输入完后要按Ctrl+Shift+Enter组合键。...因为电话号码可以字符串的任何位置,不一定在最开始的位置,所以会添加*量词检查后面的每个字符。开头的^结尾的$锚定确保处理整个字符串。...[a-z]{2,24}\b 但要使公式不区分大小写: =RegExpMatch(A5,A2,FALSE) 带匹配正则表达式的Excel IF公式 由于内置函数自定义函数配合得很好,因此没有什么可以阻止单个公式同时使用它们

    21.2K30

    啰哩啰嗦地讲透VBA引用单元格区域的18个有用方法--Range属性

    VBA允许用户以多种不同的方式引用单元格区域。 什么是Range对象 Range对象代表工作表的单元格区域,这意味着可以使用Range对象引用: 单个单元格 一行一列单元格。...基本层级上,当引用特定对象时,可以通过引用其所有父对象告诉Excel该对象是什么。换句话说,将遍历ExcelVBA对象层次结构。...特别是,这里并没有指定所引用的特定Excel工作簿工作表。为此,必须理解下面的内容。 从集合引用对象 VBA,对象集合是一组相关的对象。...从广义上讲,通常可以使用与编写常规Excel公式使用的类似的方法引用单元格区域,这意味着使用A1样式引用。...2.命名单元格区域的名称 命名区域时,可以使用以下3个运算符之一: 1.冒号(:):这是用于设置数组的运算符。引用单元格区域的上下文中,可以用来引用整列整行、连续单元格区域非连续单元格区域。

    6.4K20

    如何使用VBA统计字符串某个特定字符

    标签:VBA,Split函数 如果要统计某单元格中指定的某特定字符的数量,可以使用LEN/SUBSTITUTE函数组合的经典公式(假设字符串位于单元格B2): =LEN(B2)-LEN(SUBSTITUTE...图1 如果要统计单元格区域(示例为单元格区域B2:B5)包含指定的某特定字符的数量,可以使用下面的公式: =SUMPRODUCT(LEN(B2:B5)-LEN(SUBSTITUTE(LOWER(B2...图2 如果将上述两种情况使用VBA实现,应该如何编写代码呢? 也很简单。...如果要统计单元格B2字符“f”的数量,使用代码: UBound(Split(LCase(Range("B2")),"f")) 代码使用Split函数以字母“f”为分隔符对字符串拆分,拆分后获得的数组上限值与字符数相等...有兴趣的朋友可到知识星球App的完美Excel社群下载示例文档。 相关参考: 示例详解VBA的Split函数 Split函数与Join函数 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    5.4K10

    VBA对象模型对象引用

    上一节其实已经提到了对象之间的层级关系,我们平时操作时也是按这个层级关系使用。...用application对象即excel主程序打开一个workbook工作簿对象,一个空白工作簿通常默认有1个3个worksheet普通工作表对象,我们工作表的range单元格对象输入内容。...第一种简单的语法:对象集合("对象名") 这种方式比较容易理解,集合某个名称的对象。对象名称需要有扩展名后缀。类似于城市名为烟台的城市。...第二种语法为:对象集合(对象索引号) 对象索引号即对象集合的顺序,这与对象的名称无关,而是工作表排序打开工作簿的顺序。 ? 以工作表为例。...“表1”“表2”两个工作表工作表集合的默认排序是sheet1sheet2,所以它们就可以分别表示为worksheets(1)worksheets(2),再新建工作表后,名称为“sheet1"。

    2.2K40

    Excel VBA对象模型

    我们前面说过,Excel VBA的对象都是微软已经做好了,让我们来使用的,所以这些对象和我们平时普通操作Excel都是有联系的,每个对象你都可以想象是在手动操作Excel,手动操作说到底就是做好了一个图形界面让我们去操作...,而使用VBA是在后台操作。...Application.Workbooks(1).Worksheets(1).Range("A1").Value 前面那些之所以能够省略,是因为Excel VBA管理WorkbooksWorksheets...然后EXCEL.EXE读取那个文件硬盘上的数据,并解析数据放到了内存 解析过程也就是去创建1个树形的对象模型 解析过程会根据文件的情况创建Workbook、Worksheet对象,其实所谓的创建也只是在内存按一些规则组织数据...4、小结 Excel VBA对象模型,自己平时操作联系到一起,你能操作什么,就能找到对应的VBA对象。 然后就是多去用才能熟悉。

    2.3K31

    Excel宏教程 (宏的介绍与基本使用)

    具体使用可用Workbooks(index)引用Workbook对象,其中index为工作簿名称编号;如Workbooks(1)、 Workbooks(“年度报表.xls”)。...需要注意的是:使用过程excel会自动重排工作表索引号,保持按照其工作表标签的从左至右排列,工作表的索引号递增。因此,由于可能进行的工作表添加删除,工作表索引号不一定始终保持不变。...使用Charts(index) 可引用单个Chart图表,其中index是该图表工作表的索引号名称;如Charts(1)、Charts(“销售图表”)。...(1,1)  Cells(1,2).Select ‘选定B1单元格,使其成为当前单元格 ActiveCell=I+1 ‘以I+1为当前单元格赋值 2、用公式赋值 宏的使用,可能会更多地用公式来给单元格赋值...$A$1:$A$6)” 5、避免循环引用 在上述公式赋值过程,应避免公式引用被赋值的单元格,防止循环引用错误。

    6.4K10
    领券