Tính tổng các số thập phân trong 1 ô (1 người xem)

Người dùng đang xem chủ đề này

aruzedragon

Thành viên mới
Tham gia
13/1/17
Bài viết
21
Được thích
2
Chào mọi người, các bạn giúp mình một chút vụ này nhé :v
Mình có 1 ô với các giá trị: 0.020.300.02 (dùng VLOOKUP để lấy ra đc trả về kết quả như vậy). Giờ mình muốn tính tổng các số này ra 0.34 thì có cách nào không ? Vì 1 sheet của mình có tầm 200 - 300 dòng thì ngồi cộng tay lại ngắc ngư luôn **~** . Mình có search nhưng chỉ ra cộng số nguyên hoặc tổng tất cả các số, mong mọi ng chỉ giúp }}}}}
 
Chào mọi người, các bạn giúp mình một chút vụ này nhé :v
Mình có 1 ô với các giá trị: 0.020.300.02 (dùng VLOOKUP để lấy ra đc trả về kết quả như vậy). Giờ mình muốn tính tổng các số này ra 0.34 thì có cách nào không ? Vì 1 sheet của mình có tầm 200 - 300 dòng thì ngồi cộng tay lại ngắc ngư luôn **~** . Mình có search nhưng chỉ ra cộng số nguyên hoặc tổng tất cả các số, mong mọi ng chỉ giúp }}}}}
Bạn dung function này coi
Mã:
Function tong(giatri As String) As Double
    Dim chuoi
    chuoi = Split(giatri, ".")
    For i = 0 To UBound(chuoi)
        tong = tong + Val("0." & chuoi(i))
    Next
End Function
 
Chào mọi người, các bạn giúp mình một chút vụ này nhé :v
Mình có 1 ô với các giá trị: 0.020.300.02 (dùng VLOOKUP để lấy ra đc trả về kết quả như vậy). Giờ mình muốn tính tổng các số này ra 0.34 thì có cách nào không ? Vì 1 sheet của mình có tầm 200 - 300 dòng thì ngồi cộng tay lại ngắc ngư luôn **~** . Mình có search nhưng chỉ ra cộng số nguyên hoặc tổng tất cả các số, mong mọi ng chỉ giúp }}}}}
Giả sử dữ liệu bạn tại A1, bạn dùng CT này:
Mã:
B1=SUMPRODUCT(--("0."&TRIM(MID(SUBSTITUTE(A1,".",REPT(" ",100)),(ROW($1:$100)-1)*100+1,100))))
Fill xuống!!!
 
Hix kết quả trả về là #VALUE! bạn ới T_T
 
Đây là một trong những trường hợp điển hình để dùng name và evaluate

Đặt một name tên là TONG, giá trị là =Evaluate("."&Substitute($a1,".","+."))
Và B1 đặt =TONG

"0.020.300.02" sẽ được đổi thành ".0+.020+.300+.02" và tính ra kết quả. Tuỳ theo cụm đầu tiên có phải là thập phân hay không mà cắt bỏ đi chỗ đỏ đỏ.
 
Hix, cầu các cao thủ tiếp tục ra tay :)
Giờ mình đang gặp trường hợp nếu trong ô có text thì kết quả trả về sẽ thành 0 và trong ô là 1 số (38.22) thì kết quả lại thành 0.6 @@
Mong mọi ng chỉ giúp cách giữ lại text và những giá trị ko cần cộng.
 
Hix, cầu các cao thủ tiếp tục ra tay :)
Giờ mình đang gặp trường hợp nếu trong ô có text thì kết quả trả về sẽ thành 0 và trong ô là 1 số (38.22) thì kết quả lại thành 0.6 @@
Mong mọi ng chỉ giúp cách giữ lại text và những giá trị ko cần cộng.

1/Để giải quyết tình trạng có ký tự thì bạn sửa câu lệnh trong Hàm của quanluu1989như sau:

tong = tong + IIf(IsNumeric(i), Val("0." & chuoi(i)), 0)

2/Bạn lại nhập nhằng về quy ước rồi, trong ô là chuỗi nối các số thập phân bằng dấu ".". Theo quy ước 38.22 đương nhiên là 0.6 rồi, nếu bạn lại cho là 38.22 thì bố ông Bill cũng không làm nổi vì nếu ô khác có 2 số thập phân là 38 và 22 thì sao?
 
1/Để giải quyết tình trạng có ký tự thì bạn sửa câu lệnh trong Hàm của quanluu1989như sau:

tong = tong + IIf(IsNumeric(i), Val("0." & chuoi(i)), 0)

2/Bạn lại nhập nhằng về quy ước rồi, trong ô là chuỗi nối các số thập phân bằng dấu ".". Theo quy ước 38.22 đương nhiên là 0.6 rồi, nếu bạn lại cho là 38.22 thì bố ông Bill cũng không làm nổi vì nếu ô khác có 2 số thập phân là 38 và 22 thì sao?

Vậy có thể thêm điều kiện gì vào để làm được ko bạn ? Vì mình dùng vlookup để lọc ra và kết quả trả về nó thành như vậy (VD: A1: 0.050.05, B1: 0.020.02, C1: 38.22) T_T
 
Vậy có thể thêm điều kiện gì vào để làm được ko bạn ? Vì mình dùng vlookup để lọc ra và kết quả trả về nó thành như vậy (VD: A1: 0.050.05, B1: 0.020.02, C1: 38.22) T_T
Vậy thì công đoạn "lọc" của bạn phải xem lại để nó cho ra kết quả đồng nhất là toàn bộ các phần thập phân của các số liệu (Cái ô 38.22 của bạn phải trả về là 22 mới đúng). Như bạn nói thì tự nhiên lại có 1 ô có cả phần nguyên thì lấy gì để phân biệt. Bạn để ý trong Excel kể cả việc Lọc, sắp xếp, tìm kiếm thì vùng điều kiện phải tuân thủ nguyên tắc nhất định thì mới cho kết quả theo ý muốn. Mình tin là dùng Hàm trả về như vậy được thì cũng hoàn toàn có thể sử lý đúng nguyên tắc.
 
Vậy chắc không được rồi, vì file của mình dữ liệu gốc là như vậy mà. Tks bạn :)
 

Bài viết mới nhất

Back
Top Bottom