2013-05-31 62 views
2

我經常遇到VALUE!錯誤,因爲它們包含數字和文本。我如何將文本留在單元格中並繼續計算?VALUE!忽略excel單元格計算中的文本

例如:

細胞A1內容是這樣的:101.1 J

細胞A2內容是這樣的:500 U

細胞A3內容是這樣的:0.2

如果我想將A1 + A2 + A3加入單元格A4,如何忽略JU來計算101.1 + 500 + 0.2以獲得602.3單元格A4

謝謝!

+0

下面的答案是不是有幫助你的原因? – Santosh

回答

3

您需要從字符串中提取值 - 並且只有在您具有關於數字格式的某種信息時才能完成此操作。在你的榜樣,你可以將下面的公式B1:B3,然後添加一個=SUM(B1:B3)

=IF(ISNUMBER(A1),A1,VALUE(LEFT(A1,SEARCH(" ",A1)-1))) 

上述公式將提取的數量,並將其轉換爲一個值 - 除非它已經是一個數字。

1

使用自定義功能下面代碼

放置在標準模塊

Function add_num(cell1, ParamArray Arr() As Variant) 

    Dim temp As Double 
    For i = LBound(Arr) To UBound(Arr) 
     temp = temp + GetNumber(Arr(i)) 
    Next 

    add_num = GetNumber(cell1.Value) + temp 
End Function 

Function GetNumber(ByVal str As String) As Double 
    Dim objRegEx As Object 
    Set objRegEx = CreateObject("VBScript.RegExp") 
    objRegEx.IgnoreCase = True 
    objRegEx.Global = True 

    objRegEx.Pattern = "\d{1,2}([\.,][\d{1,2}])?" 

    Set allMatches = objRegEx.Execute(str) 

    For i = 0 To allMatches.Count - 1 
     result = result & allMatches.Item(i) 
    Next 

    GetNumber = result 
End Function 

add_num function可以從Excel界面使用=addnum(<cells>)被調用。它接受多個單元格。

enter image description here

相關問題