在 Excel 中拆分地址、城市、州和邮政编码,缺少分隔符

2024-03-26

我有一个 Excel 电子表格,其中包含打包在单个单元格中的整个地址,没有分隔符。地址如下所示:

2701 NW 64TH TER MARGATE FL 33063-1703 
901 NE 8 ST HALLANDALE BEACH FL 33009-2626 
1840 DEWEY ST UNIT 305 HOLLYWOOD FL 33020 
3049 NE 4 AVE WILTON MANORS FL 33334-2047
650 NE 56 CT OAKLAND PARK FL 33334-3528 

因此,A 列中的前五个单元格将包含上述地址。

正如您所看到的,某些城市由两个单词组成,但州始终是 FL 或 NY。我所需要做的就是将地址、城市、州和邮政编码分隔在各自的列中。我希望有一种方法可以在 Excel 中的 VBD(Visual Basic for Developers)中执行此操作。所以我可以把它放入宏中。

我知道如何做到这一点,但我的VBD是有限的:

stateArray = Split("FL, NY")
cityArray = Split("Fort Lauderdale","Sunrise","Oakland Park")

例如,使用另一种编程语言,您可能会执行以下操作:

var arrStates, arrCities
arrCities = ["Fort Lauderdale", "Sunrise", "Oakland Park"]
arrStates = ["FL", "NY"]

var findAddress = function(curCity, curState){
    for(var i=0; i < arrCities.length; i < arrStates.length; i--){

        (arrCities[i] == curCity) ? arrCities[i] = CurCity : arrCities[i] = null;
        (arrStates[i] == curState) ? arrStates[i] = curState : arrStates[i] = null;

    }   

    if(arrCities[i] >= 0){
        var city = arrCities[i];
    }

    if(arrStates[i] >= 0){
        var state = arrStates[i];
    }

    createTable(city, state);

}

var createTable = function(city, state){
    var tbl = document.createElement("Table");
    var newRow = document.createElement("tr");
    tbl.appendChild(newRow);
    cols = [city, state];

    for(var i=0; i < cols.length; i++){
        var newCol = document.createElement("td");
        newCol.innerText = cols[i];
        newRow.appendChild(newCol);
    }
}

感谢您的任何回复。


看来,如果您必须输入所有城市,您不妨手动拆分所有单元格。识别所有街道类型并将其用作分隔符可能会更容易。请注意数组中字符串周围的空格。

Sub SplitAddresses()

    Dim vaStates As Variant
    Dim vaStreets As Variant
    Dim i As Long
    Dim rCell As Range
    Dim sAddress As String
    Dim sCity As String, sState As String
    Dim sZip As String
    Dim lStreetPos As Long, lStatePos As Long

    vaStates = Array(" FL ", " NY ")
    vaStreets = Array(" TER ", " ST ", " AVE ", " CT ")

    For Each rCell In Sheet1.Range("A1:A5").Cells
        sAddress = "": sCity = "": sZip = "": sState = ""
        For i = LBound(vaStreets) To UBound(vaStreets)
            lStreetPos = InStr(1, rCell.Value, vaStreets(i))
            If lStreetPos > 0 Then
                sAddress = Trim(Left$(rCell.Value, lStreetPos + Len(vaStreets(i)) - 1))
                Exit For
            End If
        Next i

        For i = LBound(vaStates) To UBound(vaStates)
            lStatePos = InStr(1, rCell.Value, vaStates(i))
            If lStatePos > 0 Then
                sCity = Trim(Mid$(rCell.Value, Len(sAddress) + 1, lStatePos - Len(sAddress) - 1))
                sState = Trim(Mid$(rCell.Value, lStatePos + 1, Len(vaStates(i)) - 1))
                sZip = Trim(Mid$(rCell.Value, lStatePos + Len(vaStates(i)), Len(rCell.Value)))
                Exit For
            End If
        Next i

        rCell.Offset(0, 1).Value = "'" & sAddress
        rCell.Offset(0, 2).Value = "'" & sCity
        rCell.Offset(0, 3).Value = "'" & sState
        rCell.Offset(0, 4).Value = "'" & sZip

    Next rCell

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Excel 中拆分地址、城市、州和邮政编码,缺少分隔符 的相关文章

  • 将范围内的每个值乘以常数,但跳过空白单元格

    我需要一个简单快速的解决方案 用于将范围内的所有值乘以 VBA 代码中的数值 我知道这个解决方案 将整个范围乘以值 https stackoverflow com questions 18990541 multiply entire ran
  • 如何模拟“焦点”和“打字”事件

    尝试模拟 onfocus 和打字事件 但它不起作用 Sub Login MyLogin MyPass Dim IEapp As InternetExplorer Dim IeDoc As Object Dim ieTable As Obje
  • 使用 VBA 的下拉菜单

    我需要使用 VBA 从下拉菜单中选择特定选项 我怎样才能做到这一点 链接到我们试图从中提取的网页 IE document getElementsByName down count click 我尝试过的代码 Full Module Priv
  • excel 2010刷新BackgroundQuery中运行时错误1004

    我正在尝试用 vba 编写一个脚本 用于将多个文本文件导入 Excel 一张纸 然后将它们绘制在一张图表上 我面临一个问题刷新后台查询命令并出现 1004 运行时错误 我怎样才能解决它 谢谢 埃亚勒 这是我的代码 Sub fring1 Di
  • Excel 工作簿 - 从 C# 读取速度非常慢?

    正在尝试读取 Excel 工作簿 发现读取 3560 行 7 列的工作表需要很长时间 大约需要 1 分 17 秒 我所做的就是循环遍历整个工作表并将值存储在列表中 这是正常现象 还是我做错了什么 static void Main strin
  • VBA Shell 并等待退出代码

    我正在打包一个办公应用程序 VBA 它调用 C 控制台应用程序来执行应用程序 大型模拟程序 的一些繁重工作 我希望能够让 VBA 应用程序等待控制台应用程序完成并从控制台应用程序检索退出代码 我已经能够做到前者 但尚未能够从应用程序中检索退
  • 如何让VLOOKUP在VBA中选择到最低行?

    希望自动在单元格中插入 VLOOKUP 公式 录制宏时 我指示它使用相同的公式填充下面的列 效果很好 但是 当 VLOOKUP 搜索的表发生变化 更多或更少的行 时 就会出现问题 在记录时 VLOOKUP 下降到表中的最后一行 273 但是
  • Office excel将CORS请求作为跨域请求

    我正在尝试从我的 Excel 插件发出跨域请求 正如这里所建议的 http dev office com docs add ins develop addressing same origin policy limitations http
  • Excel FILTER() 对于空白单元格返回 0

    我怀疑以前有人问过这个问题 但我找不到 FILTER 即使指定了返回字符串 通常也会为空白行返回 0 Using filter 我经常收到空单元格的 0 返回值 假设 A 列中有 6 行数据 abc xyz abc xyz abc If I
  • VBA 有没有办法了解未使用的变量?

    标准 VBA 编辑器中是否有工具 方法或设置来警告已被修改的变量Dim med 但没有被使用 MZ Tools http www mztools com index aspx将搜索您的代码并告诉您哪些内容未被使用 VBA的版本可以找到her
  • 我可以获取VBA代码中的注释文本吗

    可以说我有以下内容 Public Sub Information TEST End Sub 有没有办法得到 TEST 结果 不知何故通过VBA 例如 在 PHP 中 有一个获取注释的好方法 这里有什么想法吗 编辑 应该有办法 因为像 MZ
  • VBA ByRef 参数类型不匹配

    最初在我的主代码部分中 我有一个丑陋的 if 语句 尽管它会运行丑陋 我决定将其设为我要调用的函数 这导致我收到错误 编译错误 ByRef 参数类型不匹配 我的假设是该函数需要正确引用 尽管我一直在阅读文档并且不明白为什么 gt 声明 Sh
  • 如何在Power Query中对N列求和

    我的数据每月都会更新 因此我尝试创建一个强大的查询表 该表将显示我创建的枢转 N 列的总和 但我似乎不知道如何在强大的查询中执行此操作 我目前有这个代码 旋转后 创建要求和的列的列表 添加索引列以限制每行 添加一列 该列对该行的列进行求和
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths
  • Android Excel CSV 的 MIME 数据类型是什么?

    我尝试了 text csv 甚至 application vnd ms excel 但 Excel 不会显示在选择列表中 很多其他应用程序也可以 void shareCsv Uri uri Context context Intent in
  • C# 无法将欧元符号打印到文件中(使用 Excel 打开时)

    我在使用 Web api 控制器的 get 方法时遇到问题 此方法返回一个 HttpResponseMessage 对象 该对象具有带有 csv 文件的 HttpContent 其中包含欧元符号 当该方法返回文件时 不会打印欧元符号 该方法
  • 在 Excel 中使用 VBA 设置图像透明度

    有没有办法使用 VBA 脚本对图像应用一些透明度 我录制了一个 宏 但似乎没有录制艺术效果 我已经找到了如何制作形状 但没有找到图像 这需要几个步骤 将自选图形 如矩形 放置在工作表上 使用以下方法将您的实际图片嵌入矩形中 ShapeRan
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 使用 split 函数到数组中会导致编译错误:无法分配给数组

    我正在尝试使用split 函数根据给定名称字符串中的空格拆分名称 当尝试编译我在下面编写的代码时 出现编译错误 无法分配给数组 我几乎从这里复制了微软的示例 https support microsoft com en us kb 2662

随机推荐

  • 仅增加特定网页上的请求超时

    是否可以仅增加一个特定网页的请求超时 我正在开发 ASP Net 4 0 我需要一个特定页面具有更长的请求超时 因为它负责启动一个长时间运行的进程 谢谢 使用Web config
  • 如何让多个div水平滚动?

    我希望我的图块位于同一行 并且如果图块超出容器的宽度 容器可以水平滚动 看下面的演示 图块被添加到下一行 所以我必须垂直滚动才能访问它们 如何使水平滚动起作用 并使所有图块保持在同一行 container width 600px max h
  • 停止 Outlook、Gmail 等中的自动超链接

    我的网络应用程序向用户发送电子邮件 该电子邮件包含一个用于进一步用户操作的链接 我们的安全标准要求电子邮件中的链接不可点击 但是 电子邮件客户端会识别电子邮件中的 https 并自动链接 URL 关于如何阻止电子邮件客户端自动链接的任何想法
  • (Android) 在内部存储中查找路径 /Android

    Android 中有没有返回内部存储上的数据路径的方法 我有 2 部 Android 智能手机 三星 s2 和 s7 edge 我在其中安装了应用程序 我想获取位于此路径中的 sqliteDB Android data applicatio
  • 我应该使用堆栈进行长期变量存储吗?

    根据 汇编语言循序渐进 第3版 中的 Storage for Short Term 第8章 堆栈应该被视为短期存放东西的地方 存储在堆栈中的项目没有名称 通常必须按照放入的相反顺序从堆栈中取出 后进先出 记住 后进先出 然而 据我所知 C
  • Java libjava.so 文件错误

    自从我尝试在安装了 java5 jre 的服务器上运行 java 命令以来已经一天了 问题是我总是得到 错误 找不到 libjava so 错误 找不到 Java 2 运行时环境 即使我从安装目录 usr lib java1 5 jre b
  • “NULL”列 (0,3) 的数字溢出

    我有一个表 Oracle 12 1 0 2 0 当我总结我得到的值时 ORA 01426 numeric overflow 01426 00000 numeric overflow Cause Evaluation of an value
  • 使用 vala 将 uris 插入 Gtk.Clipboard

    我目前正在尝试为我的应用程序实现复制和粘贴 问题是我只能根据文档将纯文本或图像复制到剪贴板Gtk Clipboard https valadoc org gtk 3 0 Gtk Clipboard html https valadoc or
  • 如何使用Go Sdk for docker运行docker run?

    我想运行下面的 docker 命令docker run ajaycs14 hello world p 1527 80 d 如何实现上述使用Docker Go SDK https godoc org github com moby moby
  • 填充缺失的数据 pandas

    我如何填写此日期框中缺失的数据 没有销售的日子里缺少值 如何填写在特定商店和日期售出 0 件商品的天数的缺失值 Input Dates Store Item Sales 2017 01 01 Chicago Apple 10 2017 01
  • 如何将 GitLab CI 文件变量传递给 Dockerfile 和 docker 容器?

    GitLab CI 允许向项目添加自定义变量 它允许使用类型的秘密变量file我指定的键是变量名称 值是文件的内容 例如证书的内容 然后在管道执行期间 内容将被保存为临时文件 调用变量名称将返回创建文件的路径 最终我需要将此文件复制到构建项
  • 如何避免 RealmSwift 中的迁移

    我只是使用 Realm 测试一些配置 因此我在领域类中添加和删除了变量和列表 因为我只是在测试 所以我不想经历迁移过程 我也没有任何会影响连续性的数据 有什么方法可以解决 Realm 自动请求迁移的问题吗 无论架构发生变化 有两种方法可以跳
  • 关于使用 flutter 在 Android 上投放 Facebook 应用安装广告的branch.io 归属问题?

    我们有应用程序安装归因 适用于 iOS 和 Android 上的有机链接 使用flutter branch sdk https pub dev packages flutter branch sdk 但是 对于 Facebook 应用安装广
  • 为什么我收到 Http/1.1 400 Bad request?

    这是我的代码片段 我正在尝试使用 HTTPOST 登录该网站 我不断收到 400 Bad Request 我尝试了各种组合 我尝试将用户名 密码作为标头而不是 NameValuePair 传递 但结果相同 我有什么遗漏的吗 HttpClie
  • JavaScript:2011 年我应该担心内存泄漏吗?

    JavaScript 中的内存泄漏这个话题并不经常被提及 然而 我偶然发现本文 http www ibm com developerworks web library wa memleak 写于 2007 年 作者指出 Internet E
  • 如何在java中更改Jaeger API的主机和端口

    我们选择使用 Jaeger API 来进行跟踪 在那里 我们使用 docker 在本地设置了 Jaeger 如下所述 sudo docker run d name jaeger p 5775 5775 udp p 6831 6831 udp
  • CSS 过渡淡入

    我以前使用过 CSS 过渡 但我有一个独特的案例 我正在编写一个用于创建模式的自定义插件 本质上我是即时创建一个 divdocument createElement div 并将其附加到带有几个类的主体中 这些类定义颜色和不透明度 我想严格
  • DomPDF表格固定列宽并打破长文本

    我有一个包含很长文本且没有空格的表格 用户喜欢发布包含所有参数的完整网站 URL 然后我开始word break break all and word wrap break word 在各个 td 希望文本能放在桌子上 我也设置了所有 td
  • 如何跳过 Hive 外部表中的 CSV 标头?

    我正在使用 Cloudera 的 Hive 版本 并尝试通过 csv 文件创建外部表 其中包含第一列中的列名称 这是我用来执行此操作的代码 CREATE EXTERNAL TABLE Test RecordId int FirstName
  • 在 Excel 中拆分地址、城市、州和邮政编码,缺少分隔符

    我有一个 Excel 电子表格 其中包含打包在单个单元格中的整个地址 没有分隔符 地址如下所示 2701 NW 64TH TER MARGATE FL 33063 1703 901 NE 8 ST HALLANDALE BEACH FL 3