Excel の最後の特殊文字からテキストを抽出する

Excel の最後の特殊文字からテキストを抽出する

例:

*AB|USA|California|los angles_backup
*AB|USA|California_backup

質問: 最後のパイプ (|) の後の単語が必要です。最初の例では Los angles のみが必要で、2 番目の例では California のみが必要です。

答え1

使用

Function GetLastPartAfterPipe(str As String) As String
    tmp = Split(str, "|")
    GetLastPartAfterPipe = tmp(UBound(tmp))
End Function

そしてB1=GetLastPartAfterPipe(A1)

答え2

組み込み関数のみを使用するソリューションは次のとおりです。

  • 最初と最後の位置を計算します|
    =MAX(IF(MID(A1,ROW(OFFSET(A1,1,1,LEN(A1))),1)="|",ROW(OFFSET(A1,1,1,LEN(A1))),""))
    これは配列数式なので、入力後にCTRL+SHIFT+ENTERを押します。
  • 次に、希望するテキストを取得します。
    =MID(A1,B1+1,LEN(A1)-B1)

ここに画像の説明を入力してください

答え3

すべての最後に「_backup」があるため、非常に長い 1 つの数式を作成するのではなく、2 つの手順で実行するのが最適です。

B最後のパイプの後のデータを除外するには、ステップ 1 を実行します。

=RIGHT(A1,LEN(A1)-FIND("@",SUBSTITUTE(A1,"|","@",LEN(A1)-LEN(SUBSTITUTE(A1,"|",""))),1))

次にステップ2に進みますC

=MID(B1,1,FIND("_",B1)-1)

ここに画像の説明を入力してください

答え4

=LEFT(TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99)),FIND("_",TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99)))-1)
  • TRIM(RIGHT(SUBSTITUTE(A1,"|",REPT(" ",99)),99))パイプで区切られた最後の部分文字列を返します。
  • LEFT(last_substring,FIND("_", last_substring)-1)次に、その部分文字列のアンダースコアの前の部分を返します。

ここに画像の説明を入力してください

関連情報