2017-09-08 133 views
0

我有一個單元格包含幾行,包括括號內的數字,我想總結一個Excel公式(沒有 VBA)。如何用Excel公式計算單個單元格的幾個括號數字?

下面的方法已經適用於單支架: https://exceljet.net/formula/extract-text-between-parentheses

但我需要延長的辦法......這裏的內容單一的Excel單元格中的,而我尋找一個公式作爲一個例子,應該結果在「8」和:

The task requires following effort (incl. documentation) 
- create plan (2h) 
- execute test (14h) 
- write report (draft) (2h) 

可能的方法:式中應該搜索的所有的數字掩模<「(」 X「h)」時>,其中x必須被求和式的內部。

更新:公式還應該使用數字> = 10。

UPDATE2:它也應該在括號中還有其他註釋的情況下工作,同樣在第一個(xh)號碼出現之後。請參閱示例中的「(草稿)」,最後一行。

+0

您是在尋找單細胞配方還是可以將其分解爲幾列/細胞? –

+0

@Glitch_Doctor我正在尋找一個單元格公式,它位於源單元格旁邊(請參閱上面的示例)。可以在同一行有另一個單元格(我可以隱藏這個單元格),但它不能分佈在多行。 – Chris

+0

所以,如果你說你可以有另一個細胞,你可以隱藏,那麼它可以在幾個細胞?只要你有源單元格,最後的公式單元格旁邊,那麼幾個隱藏的計算單元格? – ChrisM

回答

1

從這個借式文章#6(https://www.mrexcel.com/forum/excel-questions/362184-extracting-multiple-numbers-string.html)並進行修改以適合您的需要(單細胞配方)。假設你要在cell B1輸入公式:

{=SUM(VALUE(MID(0&A1,LARGE(ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))*ROW(INDIRECT("1:"&LEN(A1))),ROW(INDIRECT("1:"&LEN(A1))))+1,1)))} 

基本上這是每個字符與它的索引分配,然後得到的數值進行總結。請注意,這是一個數組公式。請點擊Ctrl + Shift + 輸入在一起。

REVISED:

這裏是陣列式(點擊Ctrl鍵 + + 輸入一起)提取兩個數字:

{=SUMPRODUCT(IFERROR(0+("0"&TRIM(MID(SUBSTITUTE(SUBSTITUTE(S‌​UBSTITUTE(LOWER(MID(‌​‌​A1,SEARCH("h)",A1)‌​-4,LEN(A1))),"h","")‌​,")","("),"(",REPT(" ",1000)),ROW(INDIRECT("1:20"))*2*1000-999,1000))),0))} 

這是爲了首先按摩文本,刪除不必要的內容,刪除h措辭並將)轉換爲999空白。然後你可以提取數字並加起來。 IFERROR將使任何不是數字爲0.希望這可以解決您的問題。

+0

謝謝,這已經適用於單個數字1,2,....如何更改公式以覆蓋數字> = 10? (我更新了我的問題)。此外,它應該只包含帶有後綴「h」的數字。這是否工作? – Chris

+0

@Chris,所以從你的例子來看,結果應該是16不是9,對嗎?另外,你只提到檢索帶有後綴h的數字,這些數字是否會被圓括號'()'包圍? – ian0411

+0

是的,在這個例子中它應該是16。對於你的第二個評論也是:他掩蓋的相關數字是<"(" x "h)">。 – Chris

1

我明白,這不是優雅,但它是工作。我現在沒有時間在這裏運行邏輯(可能稍後會編輯它),但本質上它是搜索索引邏輯的負載。

我已經爲每個公式使用了5列,每個公式最多假設5個值,但您可以根據需要通過將公式拖動到更多列來調整它,因爲它將開始查找上一個之後的下一個「(?h)」列的發現值。

紅細胞式:=SEARCH("(?h)",$A1)&" - "&SEARCH("h)",$A1)

橙細胞公式:=SEARCH("(?h)",$A1,MID(B1,SEARCH("- ",B1)+2,LEN(B1)-(SEARCH("- ",B1)+1))*1)&" - "&SEARCH("h)",$A1,MID(B1,SEARCH("- ",B1)+2,LEN(B1)-(SEARCH("- ",B1)+1))+1)

黃色細胞公式:=MID($A1,LEFT(B1,SEARCH(" - ",B1))+1,((MID(B1,SEARCH("- ",B1)+2,LEN(B1)-(SEARCH("- ",B1)))*1)-(LEFT(B1,SEARCH(" - ",B1))*1))-1)*1

綠色細胞公式:=SUMIF(G1:K1,">="&0)

enter image description here

相關問題