あなたの例では、州の略語には常に両側にスペースがあるため、A2の住所とZ2:Z50の州の略語のリストを想定して、この式を使用できます
=LOOKUP(2^15,SEARCH(" "&$Z$2:$Z$50&" "," "&A2&" "),$Z$2:$Z$50)
数式を下にコピーして、すべてのアドレスの結果を取得します
住所の州の略語が常に大文字で、略語のリストが常に大文字である場合、FIND では大文字と小文字が区別されないため、「誤検知」の可能性が低くなるため、FIND 関数は SEARCH よりも優先されます。
アップデート:
あなたのコメントを考えると、状態の略語は大文字ではないかもしれませんし、どちらの側にもスペースを入れないかもしれません....しかし、おそらく「真の」状態はセル内の最後の一致になるでしょうか? それを取得するには、任意のバージョンの 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 キーを押して数式を選択し、Ctrl キーと Shift キーを押しながら Enter キーを押します。正しく行われた場合、数式の周りに { や } などの中括弧が表示され、うまくいけば正しい結果が得られます。最初の数式に対してそれを行い、列を下にコピーします。
Excel 2010 を使用している場合は、次のように AGGREGATE 関数を使用して、配列以外の数式でより簡単に実行できます。
=MID(A2,AGGREGATE(14,6,SEARCH($Z$2:$Z$50,A2),1),2)