2017-05-17 41 views
1

我有多個單元格,每個單元格中有三個值。我想要做的是能夠爲每個單元格添加括號和逗號。爲Excel格式添加圓括號創建公式

從這個那麼回事:

1.022 0.987 1.034 

要:

1.022 (0.987, 1.034) 

有沒有辦法做到這一點不格式化每個單元?

+0

請問(是第七個字符總是還是後面的數字點數字空間? – Andreas

回答

5

嘗試,

=SUBSTITUTE(SUBSTITUTE(A2, " ", ", ", 2), " ", " (", 1)&")" 

enter image description here

替代函數具有一個經常被丟棄,可選參數僅替換替換的發生的一個特定實例。

+0

'丟棄的可選參數'的好用法 – MacroMarc

1

隨着A1數據,在B1輸入:

=TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),1*999-998,999)) & " (" & TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),2*999-998,999)) & ", " & TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),3*999-998,999)) & ")" 

enter image description here

1

扔在環的另一種選擇。此工作提供的模式與OP中顯示的完全相同。

=LEFT(N8,FIND(" ",N8))&"("&MID(N8,FIND(" ",N8)+1,5)&", "&MID(N8,FIND(" ",N8,FIND(" ",N8)+1)+1,5)&")" 

enter image description here

2

複製/粘貼這個公式,旁邊含有細胞的值的空單元格:

=LEFT(B3,6)&"("&MID(B3,7,5)&","&RIGHT(B3,6)&")" 

(取代B3所有實例與正確的小區ID,實際上包含你的值)

+0

您可以通過搜索左邊的數字來提供更多的通用性,第一個空格; e..g。'LEFT(B3,FIND(「」,B3&「」))'。其他部分也可以使用類似的方法 – Jeeped

0

正則表達式?
如果沒問題,需要VBA嗎?

Function Regex(Cell) 
    Dim RE As Object 
    Set RE = CreateObject("vbscript.regexp") 

    Pattern = "(\d+\.\d+)\s(\d+\.\d+)(\s\d\.\d+)" 
    replacement = "$1 ($2,$3)" 
    RE.Pattern = Pattern 

    Regex = RE.Replace(Cell, replacement) 

End Function 

如果數據在單元格A1中,請使用它:=Regex(A1)

enter image description here

EDIT;用pnuts指出的更新代碼,但沒有改變圖像。代碼確實包含逗號。

+0

@pnuts我沒有看到。 – Andreas