![Excel の文字列の末尾から変数情報を抽出/解析するにはどうすればよいですか?](https://rvso.com/image/1482484/Excel%20%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E6%9C%AB%E5%B0%BE%E3%81%8B%E3%82%89%E5%A4%89%E6%95%B0%E6%83%85%E5%A0%B1%E3%82%92%E6%8A%BD%E5%87%BA%2F%E8%A7%A3%E6%9E%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
例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