2016-11-15 45 views
0

考慮導入值爲27.873 M的單元格,其中M代表百萬。實際上它們很多,不可能手動改變它們。將某列的單元格值中的某些字母更改爲公式

是否有任何宏或VBAs在它們中跟蹤字母M,將其刪除,然後將單元格的值乘以1,000,000,以便最終值變爲27,873,000

+0

多少封信,我們談論? M,K,... –

+0

搜索和替換怎麼樣?您可以將「M」替換爲「.000.000」,也許用正則表達式來調整長度不同的空格(如果Excel支持)。如果不是,並且需要正則表達式的強大功能,則可以將數據導出爲CSV並使用Notepad ++等編輯器。 – mm759

+0

你可以用一個宏來做到這一點,但你應該嘗試自己寫一個,並帶回特定的問題。 –

回答

0

要解決 「就地」 中的數據,運行這個簡短的宏:

Sub DataFixer() 
    Dim r As Range 

    For Each r In ActiveSheet.UsedRange 
     If Right(r.Value, 1) = "M" Then 
      r.Value = CLng((Trim(Replace(r.Value, "M", "")))) * 1000000 
     End If 
    Next r 
End Sub 
0

可以在一個空列使用這個公式:

=LEFT(A2,FIND(" ",A2))*CHOOSE(MATCH(RIGHT(A2,1),{"M","K"},0),10^6,10^3) 

enter image description here

只需添加到{}中的字母,並添加我們乘數的值。


編輯

如果它只是在10^3組,您可以簡化公式:

=LEFT(A1,FIND(" ",A1))*10^(MATCH(RIGHT(A1,1),{"K","M","B"},0)*3) 
相關問題