2013-01-21 14 views
0

我有一個完整的地址列表,每個在他們自己的單元格中,我想拉從狀態縮寫。在Excel中,我如何才能從具有完整地址的單元格拉出狀態?

  • 小區1:345左LN,無處,TX 340598
  • 細胞2:839右博士格倫代爾 - NC 3498
  • 細胞3:0983字母表街,波士頓MA - 23409

我有一個有狀態縮寫的單元格的列表/範圍,我只是不知道如何搜索每個單元格中的所有50個排列,然後輸出它。搜索替換的另一個問題是,在上述第二個示例中,某些街頭名稱顯示在街區名稱中,例如「Glendale」,其中AL是州名縮寫,而不是州。不幸的是,這些地址不是以統一的方式格式化,而是可能有不同的標點符號。

對於上面的例子中的第二個地址,我可以使用AL,NC的輸出,因爲分離出少數幾個具有多個狀態的情況並不難。

回答

1

在您的例子狀態縮寫總是在A2在Z2的空間兩側所以你可以使用這個公式,假設地址和狀態的縮寫的列表:Z50

=LOOKUP(2^15,SEARCH(" "&$Z$2:$Z$50&" "," "&A2&" "),$Z$2:$Z$50)

複製公式下來取每個地址的結果

如果地址中的狀態縮寫總是處於CAPS狀態,並且縮寫列表總是處於CAPS狀態,那麼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,您可以更簡單地與非數組公式中使用聚合函數這樣做:

=MID(A2,AGGREGATE(14,6,SEARCH($Z$2:$Z$50,A2),1),2)

+0

偏偏在abreviations並不總是有兩側的空間,並且不總是會被俘虜。有些是「-Nc」,「我」。 – Mike

+0

感謝迄今爲止的幫助,該功能對其中大部分都有效,但超過1000條記錄有一些格式奇怪。任何想法如何處理其狀態可能是兩次出現的狀態縮寫的單元格,而這些單元格的狀態縮寫在兩側都沒有空格?像AL和TX可以在「123 Glendale Rd,TX-342930。 – Mike

+0

OK中找到,在大多數情況下,這將是**最後一次**匹配?我編輯了我的答案..... –

相關問題