Tách số thập phân và tính tổng

Liên hệ QC

LikeIt

Thành viên tiêu biểu
Tham gia
16/6/06
Bài viết
415
Được thích
254
Nghề nghiệp
Others
KG các anh chị GPE,

Em có một bài toán về tách số thập phân dạng text sau đó tính tổng. Mong các anh chị chỉ giúp. Các anh chị xem file đính kèm để rõ hơn.

Bài này có thể giúp em theo 2 cách (Công thức hoặc VBA) mục đích để em học

Chân thành cảm ơn.
NHT
 

File đính kèm

  • VD tach so_NHT.zip
    2.5 KB · Đọc: 77
KG các anh chị GPE,

Em có một bài toán về tách số thập phân dạng text sau đó tính tổng. Mong các anh chị chỉ giúp. Các anh chị xem file đính kèm để rõ hơn.

Bài này có thể giúp em theo 2 cách (Công thức hoặc VBA) mục đích để em học

Chân thành cảm ơn.
NHT
Bài này dùng LEFT, RIGHT, FIND để tách số ra rồi sumproduct lại là xong.

Cột [ERROR] gõ công thức:
PHP:
=SUMPRODUCT(--RIGHT($A2:$AE2,LEN($A2:$AE2)-FIND("/",$A2:$AE2,1)))
Cột [OK] gõ công thức:
PHP:
=SUMPRODUCT(--LEFT($A2:$AE2,FIND("/",$A2:$AE2,1)-1))
Sau đó bạn kéo công thức xuống dưới.
 

File đính kèm

  • VD tach so_NHT.xls
    16 KB · Đọc: 87
Mình dùng VBA nha bạn! Còn công thức thì nhìn vào oải quá!
PHP:
Function tong(vung As Range, Optional tu As Integer = 1)
For Each cel In vung
If tu = 1 Then
temp = temp + Val(Left(cel, IIf(InStr(1, cel, "/") = 0, Len(cel), InStr(1, cel, "/") - 1)))
Else
temp = temp + Val(Right(cel, Len(cel) - InStr(1, cel, "/")))
End If
Next
tong = temp
End Function
Thân.
 

File đính kèm

  • VD tach so_NHT.zip
    7.9 KB · Đọc: 27
KG các anh chị GPE,

Em có một bài toán về tách số thập phân dạng text sau đó tính tổng. Mong các anh chị chỉ giúp. Các anh chị xem file đính kèm để rõ hơn.

Bài này có thể giúp em theo 2 cách (Công thức hoặc VBA) mục đích để em học

Chân thành cảm ơn.
NHT

Bạn dùng hai ct dưới xem nhé.
Mã:
=SUMPRODUCT(--REPLACE($A2:$AE2,1,FIND("/",$A2:$AE2),""))
Mã:
=SUMPRODUCT(--REPLACE($A2:$AE2,FIND("/",$A2:$AE2),10,""))
 
Lần chỉnh sửa cuối:
Thử hàm Function mSUM() này xem sao nhé!
[highlight=vb]
Function mSUM(Rng As Range, Optional mCheck As Integer = 1) As Double
Dim mCell As Range, rNum As Double, lNum As Double
rNum = 0: lNum = 0
For Each mCell In Rng
rNum = rNum + Val(Right(mCell, Len(mCell) - WorksheetFunction.Find("/", mCell, 1)))
lNum = lNum + Val(Left(mCell, WorksheetFunction.Find("/", mCell, 1) - 1))
Next mCell
mSUM = Choose(mCheck, rNum, lNum)
End Function
[/highlight]

Cú pháp:
=mSUM(Vùng, mCheck)
mCheck=1 cộng các số bên phải dấu "/"
mCheck=2 cộng các số bên trái dấu "/"
Mặc định mCheck = 1
 

File đính kèm

  • Tach so_VBA.xls
    26.5 KB · Đọc: 30
Web KT
Back
Top Bottom