如何從 Excel 中的字串末尾提取/解析變數資訊?

如何從 Excel 中的字串末尾提取/解析變數資訊?

範例1:

2014 年 1 月 28 日 利息收入0.10

範例2:

2013 年 12 月 27 日 CHECKCARD 1226 獅心書店 西雅圖 華盛頓州-25.13

在提供的兩個範例中,我的目標是分離出字串中最後一個空格之後的資訊。換句話說,我試著從右側解析數據,一直到空格。

答案1

好問題,這是一件有用的事。我不久前發現了這個解決方案。假設您的字串位於儲存格 A1 中,您可以使用下列公式:

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

看看這個SO線程的deets:https://stackoverflow.com/questions/18617349/excel-last-character-string-match-in-a-string

我剛剛用你的測試數據試過了,它有效。

全面披露:我完全不明白為什麼這個公式有效,但它確實有效。

答案2

您可以使用 Power Query 來做到這一點。 Power Query 是 Microsoft 為 Excel 2010 和 Excel 2013 提供的免費插件,它作為「獲取和轉換」內建於 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

相關內容