[英]Excel: Extracting a full number from a cell - bringing it all together :)
首先,謝謝所有幫助我達到這一點的人。 我好親密! 對於這種情況,我預先表示歉意,但這項工作正在進行中。
我在一個單元格中有文本,我需要提取一個數字。 棘手的部分是要解決各種情況。
該數字可能緊跟在“#”之后,並且長度可能有所不同。
Stack Overflow上的人員幫助我提出了這個效果很好的方法:
MID(B2,(FIND("#",B2,1)+1),FIND(" ",B2,FIND("#",B2,1)+1)-FIND("#",B2,1))
這是一個巨大的飛躍,但是在某些情況下,沒有#號,並且單元格可能有“ abc(1205)645 chan”,因此我需要提取645。
我在下面將其與on錯誤語句結合使用,以了解何時不存在“#”
TRIM(MID(B53,(FIND(" " &{"1","2","3","4","5","6","7","8","9"},B53,1)),FIND(" ",B53,FIND({"1","2","3","4","5","6","7","8","9"},B53,1))-FIND({"1","2","3","4","5","6","7","8","9"},B53)))
因此,我使用第一個Mid / Find來避免(1205),並找到下一個“ x”,其中x是數字。 問題是,當我搜索的數字中包含1或3+個數字時,我似乎遇到了麻煩,但是如果包含2,我返回的值就很好。
看來我已經很近了,但還沒到那兒。
該公式將返回字符串中#
或)
后面的數字。 如果該模式不存在,它將返回#NUM!`錯誤。
=AGGREGATE(14,6,--MID(A1,MIN(FIND({"#",")"},A1&"#)"))+1,{1,2,3,4,5}),1)
請注意,數組常量作為MID
函數的num_chars
參數。 最大數量應至少為最大位數(或十進制+位數)加上定界符與第一位數之間的任何空格(可能會發現)。
編輯 :如果您的Excel版本是2010之前的版本,並且沒有AGGREGATE
函數,則可以使用此數組輸入的公式代替,只要要返回的值將為正數即可:
=MAX(IFERROR(--MID(A1,MIN(FIND({"#",")"},A1&"#)"))+1,{1,2,3,4,5}),0))
必須在按下Enter鍵的同時按住ctrl + shift鍵來輸入此公式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.