Excel の文字列の末尾から変数情報を抽出/解析するにはどうすればよいですか?

Excel の文字列の末尾から変数情報を抽出/解析するにはどうすればよいですか?

例1:

2014年1月28日 利息収入0.10

例2:

12/27/13 チェックカード 1226 ライオンハートブックストアシアトルワシントン州-25.13

提供されている 2 つの例では、文字列の最後のスペースの後の情報を分離することが目標です。言い換えると、右側からスペースまでのデータを解析しようとしていることになります。

答え1

いい質問ですね。とても役に立つことです。少し前にこの解決策を見つけました。文字列がセル A1 にあると仮定すると、次の数式を使用できます。

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

詳細については、この SO スレッドを確認してください。https://stackoverflow.com/questions/18617349/excel-last-character-string-match-in-a-string

テストデータでこれを試してみましたが、うまくいきました。

完全な開示:この式がなぜ機能するのか全く理解できませんが、機能します。

答え2

Power Query を使用すると、これを実行できます。Power Query は、Excel 2010 および Excel 2013 用の Microsoft の無料アドインであり、Excel 2016 のデータ リボンに「取得と変換」として組み込まれています。

Power Query には、区切り文字でテキストを分割するコマンドと、右端の区切り文字を使用する設定があります。

または、数式による解決法が必要な場合は、セルの長さを計算し、すべてのスペースが削除されたセルの長さを減算し、その数値を Right() 関数に入力して右端の x 文字を返します。ゼロを追加して数値に変換します。これにより、可能であれば文字列が数値に変換されます。

=RIGHT(A1,LEN(A1)-LEN(SUBSTITUTE(A1," ","")))+0

編集: コメントで ThunderFrame からの良い提案: ソースの先頭/末尾にスペースがある可能性がありますが、次のように処理できます。

=RIGHT(TRIM(A1),LEN(TRIM(A1))-LEN(SUBSTITUTE(TRIM(A1)," ","")))+0

関連情報