1

以下のようなアドレスを持つセルの列があります。

  • 34470 Yucaipa Boulevard カリフォルニア州ユカイパ 992399
  • 15787 メイン ストリート ヘスペリア、カリフォルニア州 92345
  • 15109 ベア バレー ロード ビクタービル、カリフォルニア州 92345

City, State Zip を引き出したい。これを達成するための式を書こうとしていますが、問題があります。

基本的に、コマを見つけ、文字列を右から左に読み取り、最初のスペースで停止する方法を探しています。十分に単純に思えます....

上記の例では、次の文字列を抽出しようとしています

  • カリフォルニア州ユカイパ 992399
  • カリフォルニア州ヘスペリア 92345
  • カリフォルニア州ビクタービル 92345
4

4 に答える 4

0

次のようなことを試してください:

=LEFT(
    RIGHT(A1,LEN(A1)-SEARCH(",",A1)-1),
    SEARCH(" ",RIGHT(A1,LEN(A1)-SEARCH(",",A1)-1))-1)

この種の検索の唯一の問題は、データを非常にクリーンにする必要があることです。あなたのサンプルでは、​​コンマの直後のスペースをスキップする必要がありましたが、データに常にスペースがないと、正しく機能しません。

あなたのコメントに基づいて、これを試してください:

=LEFT(
    RIGHT(A1,LEN(A1)-SEARCH(" ",A1)),
    SEARCH(",",RIGHT(A1,LEN(A1)-SEARCH(" ",A1)))-1)
于 2013-09-05T04:18:47.630 に答える
0

Excel 2010 では、[データ] リボンの [テキストから列へ] 機能を使用できます。

これは、 addictivetipsで詳しく説明しています。

データを列に分割したら、都市、州、郵便番号を連結する新しい列を追加します。=CONCATENATE(D2, " ", E2, " ", F2) のようなもの。

于 2013-09-05T04:09:07.217 に答える
0

これを使用できます:

=MID(A1,FIND("@",SUBSTITUTE(LEFT(A1,FIND(",",A1))," ","@",LEN(LEFT(A1,FIND(",",A1)))-LEN(SUBSTITUTE(LEFT(A1,FIND(",",A1))," ",""))))+1,LEN(A1))

これは以下を返します:

Yucaipa, CA 992399
Hesperia, CA 92345
Victorville, CA 92345

テストデータから。

万が一@テキストに記号が含まれている場合は、代わりにこれを試すことができます。

=MID(A1,FIND(CHAR(1),SUBSTITUTE(LEFT(A1,FIND(",",A1))," ",CHAR(1),LEN(LEFT(A1,FIND(",",A1)))-LEN(SUBSTITUTE(LEFT(A1,FIND(",",A1))," ",""))))+1,LEN(A1))

説明

=LEFT(A1,FIND(",",A1))を与え34470 Yucaipa Boulevard Yucaipa,ます。このビットを「テキスト」と呼びましょう。

=SUBSTITUTE(Text," ","@",LEN(Text)-LEN(SUBSTITUTE(Text," ",""))). このビットは、スペースの最後のインスタンスを に置き換えます@。の 4 番目のパラメーターはSUBSTITUTE、置換するスペースのインスタンスを指定LEN(Text)-LEN(SUBSTITUTE(Text," ",""))し、テキスト内のスペースの数を指定します。34470 Yucaipa Boulevard@Yucaipa,この部分の結果として得られる

次に、これを実行して、最後までのMID位置を取得します。@

于 2013-09-05T05:35:35.553 に答える