在Excel中,如何仅从具有完整地址的单元格中提取状态?

在Excel中,如何仅从具有完整地址的单元格中提取状态?,excel,function,search,replace,Excel,Function,Search,Replace,我有一个完整的地址列表,每个地址都在自己的单元格中,我只想从中提取州缩写 1号牢房:德克萨斯州340598无处左345号 2号牢房:格伦代尔右Dr 839号-北卡罗来纳州3498号 3号牢房:马萨诸塞州波士顿字母街0983号-23409 我有一个包含状态缩写的单元格列表/范围,我只是不知道如何在每个单元格中搜索所有50个缩写,然后将其输出。搜索替换的另一个问题是,某些缩写会自然地显示在单元格中,如上面第二个示例中的“Glendale”等街道名称中包含AL,这是州缩写,但不是州。不幸的是,这些

我有一个完整的地址列表,每个地址都在自己的单元格中,我只想从中提取州缩写

  • 1号牢房:德克萨斯州340598无处左345号
  • 2号牢房:格伦代尔右Dr 839号-北卡罗来纳州3498号
  • 3号牢房:马萨诸塞州波士顿字母街0983号-23409
我有一个包含状态缩写的单元格列表/范围,我只是不知道如何在每个单元格中搜索所有50个缩写,然后将其输出。搜索替换的另一个问题是,某些缩写会自然地显示在单元格中,如上面第二个示例中的“Glendale”等街道名称中包含AL,这是州缩写,但不是州。不幸的是,这些地址的格式不统一,可能会有不同的标点符号


对于上面示例中的第二个地址,我可以使用AL,NC作为输出,因为要区分其中包含多个状态的少数情况并不太困难。

在您的示例中,状态缩写的两边都有空格,因此您可以使用此公式,假设地址在A2中,州缩写列表在Z2:Z50中

=查找(2^15,搜索(“&$Z$2:$Z$50&”“,”“&A2&”“),$Z$2:$Z$50)

向下复制公式以获得每个地址的结果

如果地址中的州缩写总是大写,并且缩写列表总是大写,那么查找功能将比搜索更可取,因为查找不区分大小写,所以“误报”的可能性更小

更新:

根据您的注释-状态缩写可能不是大写,两边可能都没有空格……但“true”状态可能是单元格中的最后一个匹配项?要获得该值,请在任何版本的Excel中尝试此公式

=MID(A2,MAX(如果(ISNUMBER(搜索($Z$2:$Z$50,A2)),搜索($Z$2:$Z$50,A2))),2)

..或此版本适用于Excel 2007或更高版本

=MID(A2,最大值(iError(搜索($Z$2:$Z$50,A2),”),2)

这些是需要用CTRL+SHIFT+ENTER确认的“数组公式”。将公式粘贴到单元格中,然后按F2键选择公式-然后在按ENTER键的同时按住CTRL键和SHIFT键。如果操作正确,您将在公式周围看到像{和}这样的大括号,并希望得到正确的结果。对第一个公式执行此操作,然后向下复制列

如果您有Excel 2010,则可以更简单地使用非数组公式,使用如下聚合函数:


=MID(A2,聚合(14,6,搜索($Z$2:$Z$50,A2),1),2)

不幸的是,删节两边并不总是有空格,也不总是大写。一些ar“-Nc”,“me.”。感谢到目前为止的帮助,该功能对大多数记录都有效,但有1000多条记录,一些记录的格式很奇怪。你知道如何处理这样的情况吗?在一个单元格中,如果状态缩写的两边都没有空格,那么状态缩写可能出现两次?如AL和TX,可在中找到“德克萨斯州格伦代尔路123号,邮编342930。好的,在大多数情况下,这将是牢房里的最后一场比赛?我编辑了我的答案……太棒了!看起来这很有效,很难说100%有这么多条目。有些地址根本没有缩写或状态,但很容易过滤掉。再次感谢你的帮助。