テキスト文字列の最後の単語を返すにはどうすればよいですか。


0

あなたのうちの誰かが私の質問の進行に従っているならば、これは驚くべきことではないかもしれません。それが可能であるように、私はそれを尋ねなければなりません。私は本当にこのオンラインへの答えを見つけようとしました、そして、数式のいくつかの異なるバージョンと親密になりました、しかし、いつも私の数式について少し少し何かがあった。失敗した試みで水を混乱させるのではなく、私がやりたいことをイメージで説明しましょう。画像では、以下のようになります。

"el"または "la"の後に続く単語を取り、それを隣の列に返したいと思います。上記のエントリは手動で作成されたものです。私が紫色に色づけしたセルからわかるように、 "el"や "la"を含まないものもありますが、その数も少ないので絶対にそれを補正する式を持つ必要はありません。

私はExcel 2007を使用しています。そして、いつものように、これに関するあなたの知識、専門知識、そして指導を前もって感謝します。式や機能を使って自分のスキルを強化する方法についての提案も常に受け付けています。その点で何かご案内がありましたら、それを回答に含めていただければ気にすることはありません。


これが3番目の質問です。試してみて答えを見つけてみませんか。グーグルに入れるための適切な質問を見つけ出すのに悪い時は決してありません。 Googleであなたのタイトルを入れます excel 最後に答えの全リストが出てきました。
Scott Craner

2
これがstackoverflowに対するあなたの答えです。 =TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))。私はあなたの例で解決策をすでに確認しました。それに投票をしてください。とても賢い
nixda

これはうまくいくかどうかわからないものです。 LENgth 100部分は、いくつかのエッジケースで失敗するかもしれません。弦のLENが良いかもしれません。またはワークシート機能としてあきらめてVBAを使用する。
Hennes

@スコットクレナー。実際、私は答えを見つけようとしましたが、役に立つことはしませんでした。私が若い頃、私は自分自身で何かを解明しようとするのに長い時間を費やしていました。
Lisa Beck

1
@LisaBeck通常の方法はあなたの問題を解決する答えを受け入れることです。将来、他の人がいつでもより良い解決策を思いつくことができるので、「閉じる」ボタンはありません。答えが与えられず、その間に解決策が見つかった場合は、それをあなたの質問のすぐ下に答えとして投稿し、自分の答えを受け入れることができます。それはまったく問題ありません。この場合私はそれをコミュニティウィキとして投稿することにしましたので他の誰かの仕事のためのクレジット/ポイントを得ません
nixda

回答:


1

最後の単語を取得するには:

=TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

最初の単語を取得するには

=TRIM(LEFT(SUBSTITUTE(A1, " ", REPT(" ", 100)), 100))

これらの式 代替 すべてのスペース 100スペース それから 最終 (または 最初 100文字です。の トリム機能 不要な空白を削除します。


これがうまくいかないエッジケース

  • 入力文字列に300個以上の空白があります。正確な数 入力文字列の残りの長さによって異なります。限界 factorは、Excelセル内で最大32767文字です。

  • RIGHT関数は最後の100文字しか返さないため、最後の単一語は100文字を超えており、そのため長い語は切り捨てられます。同じことが2番目の式にも当てはまります

ソース: スタックオーバーフロー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.