簡體   English   中英

Excel:從單元格中提取一個完整的數字-將所有數字組合在一起:)

[英]Excel: Extracting a full number from a cell - bringing it all together :)

首先,謝謝所有幫助我達到這一點的人。 我好親密! 對於這種情況,我預先表示歉意,但這項工作正在進行中。

我在一個單元格中有文本,我需要提取一個數字。 棘手的部分是要解決各種情況。

  1. 該數字可能緊跟在“#”之后,並且長度可能有所不同。
    Stack Overflow上的人員幫助我提出了這個效果很好的方法:

     MID(B2,(FIND("#",B2,1)+1),FIND(" ",B2,FIND("#",B2,1)+1)-FIND("#",B2,1)) 
  2. 這是一個巨大的飛躍,但是在某些情況下,沒有#號,並且單元格可能有“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM