Code tính tổng (5 người xem)

Liên hệ QC

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

hungdiep85

Thành viên thường trực
Tham gia
1/6/09
Bài viết
218
Được thích
23
Giới tính
Nam
Chào các Thầy

Sao cột E & F em không tính tổng được vậy (xóa đi dấu chấm), có code nào chỉ em vơi...

Cảm ơn các Thầy
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các Thầy

Sao cột E & F em không tính tổng được vậy (xóa đi dấu chấm), có code nào chỉ em vơi...

Cảm ơn các Thầy
Haiza! Dữ liệu của bạn dạng text nên không sum() được. Bạn làm 3 bước sau:
1. Replace các ký tự ",".
2. Replace các ký tự "." bằng ký tự ","
3. Replace các khoảng trắng (khoảng trắng này không phải dấu cách đâu, nên bạn cần copy nó vào textbox find.
ghi chú: việc replace ký tự như trên đòi hỏi định dạng số trong control panel của bạn phải theo chuẩn VN.
 
Upvote 0
Haiza! Dữ liệu của bạn dạng text nên không sum() được. Bạn làm 3 bước sau:
1. Replace các ký tự ",".
2. Replace các ký tự "." bằng ký tự ","
3. Replace các khoảng trắng (khoảng trắng này không phải dấu cách đâu, nên bạn cần copy nó vào textbox find.
ghi chú: việc replace ký tự như trên đòi hỏi định dạng số trong control panel của bạn phải theo chuẩn VN.



Em thử không đươc,kỳ vậy ta
 
Upvote 0
Em thử không đươc,kỳ vậy ta
Mình đã làm theo đúng trình tự đó mà! Kết quả OK. Bạn thử lại 1 lần nữa xem thế nào!
Có 1 cách khác:
1. Đổi định dạng số trong control panel sang tiêu chuẩn quốc tế (Decimal Symbol là dấu ",". Digit Grouping symbol là dấu ".".
2. Replace khoảng trắng (nhắc lại: copy khoảng trắng từ đoạn text vào textbox find).
3. Save file, đổi lại định dạng số sang tiêu chuẩn VN.
 
Upvote 0
Chào các Thầy

Sao cột E & F em không tính tổng được vậy (xóa đi dấu chấm), có code nào chỉ em vơi...

Cảm ơn các Thầy
Dữ liệu này chắc xuất ra ở phần mềm nào đó
Bạn nhập công thức này ở [E1]
=SUM(1*(IF(SUBSTITUTE(E2:E28,CHAR(160),"")="",0,IF(SUBSTITUTE(E2:E28,CHAR(160),"")=".",0,SUBSTITUTE(E2:E28,CHAR(160),"")))))
Nhập xong bấm Ctri + Shift + Enter, bấm xong kéo qua phải
Nếu dữ liệu phức tạp hơn nữa thì dùng VBA
Thân
 
Upvote 0
Dữ liệu này chắc xuất ra ở phần mềm nào đó
Bạn nhập công thức này ở [E1]

Nhập xong bấm Ctri + Shift + Enter, bấm xong kéo qua phải
Nếu dữ liệu phức tạp hơn nữa thì dùng VBA
Thân

Hình như thêm TRIM nữa cho chắc ăn bác Cò ơi, khoảng trắng này khó hiểu quá!
 
Upvote 0
Cái khoảng trắng này hình như không phải Chr(32) nên trim không được anh ạ!

Vì "mắt thường" mình không phân biệt được khoảng trắng nó là cái nào, 1 vài mục thì mình test còn được, vài trăm mục e ra mệt mõi, vậy chỉ cần thêm 1 động tác: 1*TRIM(SUBSTITUTE(E3,CHAR(160),"") ) vào thì đâu có thừa đâu đúng không?
 
Upvote 0
Dữ liệu này chắc xuất ra ở phần mềm nào đó
Bạn nhập công thức này ở [E1]

Nhập xong bấm Ctri + Shift + Enter, bấm xong kéo qua phải
Nếu dữ liệu phức tạp hơn nữa thì dùng VBA
Thân



Dạ Thầy
Chưa được Thầy ơi
 

File đính kèm

Upvote 0
Hihi, bi giờ mới để ý thấy bài này nằm trong box lập trình
Bạn xem trong file, làm cho bạn thêm một cách bằng VBA luôn nhé
Thân

Bác Cò bổ sung thêm chút xíu, nếu gặp chuỗi trong ô thì replace luôn!

Thật ra làm hàm này nhiều cái khó khăn, thà như em SUM của Excel, không phải dạng số là loại trừ, số nhập sai ráng chịu!

Mà cũng khổ, nguồn lại nhập từ chú web hay cô chương trình nào đó nó có những ký tự lạ thì dựa vào nó mà xử lý, không thể làm một dạng tổng quát mà làm hàm SUM được. Nếu vậy thì đâu cần làm thêm mục tô đậm đâu ta? ẹc ... ẹc ... sao cứ lòng vòng nhỉ?
 
Upvote 0
Bác Cò bổ sung thêm chút xíu, nếu gặp chuỗi trong ô thì replace luôn!

Thật ra làm hàm này nhiều cái khó khăn, thà như em SUM của Excel, không phải dạng số là loại trừ, số nhập sai ráng chịu!

Mà cũng khổ, nguồn lại nhập từ chú web hay cô chương trình nào đó nó có những ký tự lạ thì dựa vào nó mà xử lý, không thể làm một dạng tổng quát mà làm hàm SUM được. Nếu vậy thì đâu cần làm thêm mục tô đậm đâu ta? ẹc ... ẹc ... sao cứ lòng vòng nhỉ?
Nếu phức tạp hơn thì mình lấy bằng cách khác, chỉ lấy ký tự số thôi, không quan tâm các cái còn lại trong cell là cái quái gì cả, sau đó ta "sùm súm sum" bình thường mà em trai
Thân
 
Upvote 0
Nếu phức tạp hơn thì mình lấy bằng cách khác, chỉ lấy ký tự số thôi, không quan tâm các cái còn lại trong cell là cái quái gì cả, sau đó ta "sùm súm sum" bình thường mà em trai
Thân

Nó còn dính tới định dạng từa lưa nữa chứ không phải dễ cho mình nhận biết đâu! Mình loại trừ không đúng thì số thập phân lại thành số nguyên thì mệt mõi.

Vì thế, đặc trưng của chương trình nào xuất ta lấy quy tắc của nó mà làm hàm thì mới ổn định được.
 
Upvote 0
Web KT

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

Back
Top Bottom