私は次のデータを持っています、そして私は数字を取り除く必要があります。これは、文字 ""の最後の出現を見つけて、前に来るすべてのものを保持する必要があることを意味しますが、式の書き方がわかりません。
テキストの長さはさまざまで、複数の単語にすることもできます。数字は3桁以下です。
**String**
abc 61
abc 79
ac 1
ab 123
a bc 12
ありがとう!
この式を試してください:
_=SUBSTITUTE(A1, TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 99)), 99)), "")
_
結果:
(スクリーンショットの数式は、地域の設定によりセミコロンを使用しています。)
それを分解する:
=SUBSTITUTE(A1, " ", REPT(" ", 99))
これにより、目的の区切り文字(この場合はスペース)が出現するたびに99個のスペースに置き換えられます。正確な数は、最も長い個々の単語の長さよりも大きい限り、重要ではありません。
=TRIM(RIGHT(..., 99))
これは、右端の99文字を取り(ここでは手順1と同じ番号を使用することが重要です)、それらをトリミングします(最初と最後から空白を削除します)。本質的に、これはあなたにテキスト後最後の空白を与えます。
=SUBSTITUTE(A1, ..., "")
テキストbefore最後の空白が必要だったので、これは単にステップ2の結果を取得し、それを空の文字列に置き換えて削除します。これで、セルの内容が残りますまで最後の空白文字。末尾のスペースも削除したい場合は、もう一度=TRIM()
を実行できます。
私はこの式を使用します-
=LEFT(A1,LOOKUP(9.9999999999E+307,FIND(" ",A1,ROW($1:$1024))))
の最後のインスタンスを見つけ、それを使用して、left
から始まる印刷する文字数を定義します。
編集-何らかの理由でROW()
が短い文字列で失敗したため、$1:$1024
を追加しました。
最後の機能の前に保持:
=TRIM(LEFT(SUBSTITUTE(A1;"TARGETCHAIN";REPT(" ";LEN(A1)));LEN(A1)))
フランス語版: ;-)
=SUPPRESPACE(GAUCHE(SUBSTITUE(A1;"TARGETCHAIN";REPT(" ";NBCAR(A1)));NBCAR(A1)))
..「TARGETCHAIN」が空白に設定されている場合は完全に機能します:「」