在您的示例中,州缩写总是在两边都有一个空格,因此您可以使用此公式,假设地址在 A2 中,州缩写列表在 Z2:Z50
=LOOKUP(2^15,SEARCH(" "&$Z$2:$Z$50&" "," "&A2&" "),$Z$2:$Z$50)
复制公式以获取每个地址的结果
如果地址中的州缩写总是在大写字母中并且缩写列表总是在大写字母中,那么 FIND 函数将比 SEARCH 更可取,因为 FIND 不区分大小写,因此“误报”的可能性较小
更新:
鉴于您的评论 - 状态缩写可能不是大写,可能两边都没有空格......但大概“真实”状态将是单元格中的最后一个匹配项?要获得该公式,请尝试适用于任何版本的 Excel
=MID(A2,MAX(IF(ISNUMBER(SEARCH($Z$2:$Z$50,A2)),SEARCH($Z$2:$Z$50,A2))),2)
....或者这个适用于 Excel 2007 或更高版本
=MID(A2,MAX(IFERROR(SEARCH($Z$2:$Z$50,A2),"")),2)
这些是需要使用 CTRL+SHIFT+ENTER 确认的“数组公式”。将公式粘贴到单元格中,然后按 F2 键选择公式 - 然后在按 ENTER 的同时按住 CTRL 和 SHIFT 键。如果操作正确,您将在公式周围看到像 { 和 } 这样的花括号,并希望得到正确的结果。对第一个公式执行此操作,然后向下复制列。
如果您有 Excel 2010,则可以使用如下 AGGREGATE 函数使用非数组公式更简单地执行此操作:
=MID(A2,AGGREGATE(14,6,SEARCH($Z$2:$Z$50,A2),1),2)