
我想提取緊接在字串“ABS”之後的數值(區分大小寫)Excel 表格儲存格中的大量文字。
並非所有單元格都可能包含我要查找的字串,因此需要過濾器。
單元格的內容看起來像這樣:
Lorem ipsum dolor sat amet,consectetur adipiscing elit。 Morbi ante mi、laoreet nec tristique et、sodales at dui。 Nibh 拍賣師 laoreet ornare nisi posuere 的前庭 ullamcorper augue。 Aliquam convallis nisl 的作者 mauris pharetra faucibus。 Nullam nulla dolor,varius viverra facilisis nec,viverra in totor。 Integer sollicitudin, elit in tempor interdum, sapien justo luctus justo, id varius nisi mauris at ipsum. Vivamus Tincidunt neque sed felis accumsan tempus。
ABS:1.5,ADS:2.5,SR:11
Pellentesque 居民 morbi tristique senectus et netus etmalesuada 名聲 ac turpis egestas。整數前庭貓和 lorem pretiummolestie。 Nulla imperdiet、magna vel Accumsan ornare、augue quam ornare justo、vitae volutpat turpis orci quis nibh。 Nullam vitae diam et ligula commodo pretium。 Etiam et luctus dui。
問題在於,由於內容是手動輸入的,因此它們的結構可能會有所不同,並且會有細微的變化,例如:
ABS:1.5(ABS 後有空格)
或者
ABS 為 1.5(「是」而非冒號)
或者
ABS = 1.5(‘=’代替冒號)
或者
ABS 1.5(緊接在文字後的數值,不含冒號)
....ETC
數值範圍為 0-8.5,增量為 0.5(即 0、0.5、1.0、...7.5、8.0、8.5)。
我嘗試了 left() 和 find() 函數的組合,但不知道如何在找到字串「ABS」後提取數字。如果有人可以幫助我或為我指明方向,我將不勝感激。謝謝!
答案1
此公式尋找ABS
....然後找出此後的第一個數值,然後取得從該處開始的數字(最多 5 個字元)
=LOOKUP(10^10,MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890,FIND("ABS",A1))),{1,2,3,4,5})+0)
假設 A1 中的數據
如果數字可能超過 5 個字符,則擴展該{1,2,3,4,5}
部分
如果您想避免在未找到 ABS 時發生錯誤,請嘗試使用 IFERROR 函數進行包裝
=IFERROR(LOOKUP(10^10,MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890,FIND("ABS",A1))),{1,2,3,4,5})+0),"")