Hàm tính giá trị biểu thức DValue
Thảo luận trong 'Hàm và công thức Excel' bắt đầu bởi tedaynui, 19 Tháng sáu 2007.
Đôi khi ta có những biểu thức có số lẫn chữ và ta muốn tính giá trị của biểu thức đó. Ta dùng hàm DValue, cú pháp : DValue(Biểu_Thức)
Ví dụ :
---------A---------------------------B---------------giá trị trả về
1.-- "6 cái x 10đ" --------------- =DValue(A1) --------- 60
2.-- "5m x 20m" ---------------- =DValue(A2) --------- 100
3.-- "(2hàng+3hàng)*10người" -- =DValue(A3) --------- 50
4.-- "60người : 2 xe" ----------- =Dvalue(A4) ---------- 30
Phép tính nhân có thể là dấu * hoặc x
Phép tính chia có thể là dấu / hoặc :TDNMã:Public Function DValue(Expr) Char = Expr Sent = Space(0) ABC = "0123456789+-*/()." & Space(1) XYZ = "0123456789" & Space(1) For m = 2 To 3 Met = "m" & m Temp = InStr(1, Char, Met) Do While Temp > 0 If Temp > 0 Then Char = Left(Char, Temp) & Mid(Char, Temp + 2) End If Temp = InStr(1, Char, Met) Loop Next For i = 1 To Len(Char) KyTu = Mid(Char, i, 1) If InStr(1, ABC, KyTu) > 0 Then Sent = Sent & KyTu Else Select Case KyTu Case ":" Left_ = Mid(Char, i - 1, 1) Right_ = Mid(Char, i + 1, 1) If InStr(1, XYZ, Right_) > 0 Then Sent = Sent & "/" End If Case "," Sent = Sent & "." Case "%" Sent = Sent & "/100" Case "x", "X" Left_ = Mid(Char, i - 1, 1) Right_ = Mid(Char, i + 1, 1) If InStr(1, XYZ, Right_) > 0 Then Sent = Sent & "*" End If End Select End If Next DValue = Eval(Sent)End Function
0 nhận xét:
Đăng nhận xét