gpt4 book ai didi

excel - 从 Excel 中的 1 个单元格中分离地址元素

转载 作者:行者123 更新时间:2023-12-04 20:17:49 26 4
gpt4 key购买 nike

我有数千个这种格式的地址:

123 快乐圣堪萨斯城,密苏里州 64521

9812 大街明尼阿波利斯,MN 62154

12 Virgina Ave, Apt 8, 达拉斯, TX 54334

我想提取地址、城市、州,压缩到单个单元格中(如果可能,不使用 VB)。我已经尝试过发布其他方法的几种变体,但我无法获得理想的结果。

最佳答案

分析你的问题!

  • 你想在逗号处分割你的地址字符串
  • 然后你想在第一个空白
  • 处从 (1) 拆分正确的片段

    广告 1):您使用 =FIND(",", A1) 获得逗号的位置,并在 =LEFT(...)=RIGHT(...) 中使用结果 - 对于后者,您还需要字符串长度( =LEN(...) )
  • B1:=LEFT(A1;FIND(",";A1)-1)
  • C1:=RIGHT(A1;LEN(A1)-LEN(B1)-2)

  • 现在是有趣的部分......在你的第三个例子中,我们不能在第一个逗号上拆分,但在第三个逗号上......或者作为更一般的规则,我们总是必须在最后一个逗号上拆分......但是我们如何找到字符串中有多少个逗号,以将其位置作为附加参数提供给 =FIND(...) 函数?

    快速回答:看看 Stackoverflow(正好 here )......非常聪明......从原始长度中减去所有逗号的字符串长度,然后用其他东西替换最后出现的逗号,因为 =SUBSTITUTE(...) 适用于发生,而 =FIND() 仅适用于位置。如果你把这一切结合起来,你将拥有
  • B1: =LEFT(A1;FIND("@";SUBSTITUTE(A1;",";"@"; LEN(A1)-LEN(SUBSTITUTE(A1;",";""))))-1) --> 完整地址
  • C1:(同上)

  • 这里我们使用“@”作为最后一个逗号的中性替换字符串,因为我们假设没有地址使用“@”

    广告 2):您再次将上述内容(用空格代替逗号)应用于右侧部分。您可以使用简单的第一个公式版本,因为很明显您想在第一个空白处拆分
  • D1: =LEFT(C1;FIND(" ";C1)-1) --> 状态
  • E1: =RIGHT(C1;LEN(C1)-LEN(D1)-1) --> 邮政编码
  • 关于excel - 从 Excel 中的 1 个单元格中分离地址元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17915075/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com