Ví dụ cell A1 chứ số 35768Nhờ diễn đàn chỉ giùm cách tính tổng các chữ số, Ví dụ: 35768 tính tổng các chữ số đó. Cảm ơn
=SUMPRODUCT(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Ví dụ cell A1 chứ số 35768
Bạn dùng công thức sau:
PHP:=SUMPRODUCT(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Bạn xem lại dấu trong cú pháp nhé, có lẽ hệ thống của bạn khác với hệ thống của người gửi công thức . Bạn thay dấu , thành ; xem sao.Công thức này mình nhập bị báo lỗi, không biết có ai đã thử chưa ?
Công thức này mình nhập bị báo lỗi, không biết có ai đã thử chưa ?
Bạn xem trong link sau: http://www.giaiphapexcel.com/forum/showthread.php?34487-Cách-tính-tổng-tiền-của-1-dãy-số&p=229284#post229284
Có file đính kèm trong đó
Vấn đề thứ nhất:Hiện giờ mình cần thêm 2 tính năng:
1/ ví dụ như dãy số 082215605323 thì số 0 đầu tiên sẽ tự bỏ đi (cái này excel tự làm rồi ) , cái mình cần thêm là nếu dãy số có 0 nằm trong dãy số khác vị trí đầu tiên thì công là 10 chứ không phải là 0. vd: 082215605323 = 0 (bỏ) +8+2+2+1+5+6+ 10 (số 0 ) +5+3+2+3 = 37.
2/ vấn đề thứ 2 của mình là: sau khi cộng xong, như ví dụ trên có kết quả là 37 thì sẽ hiện ra dòng chữ " kết quả là ba mươi bảy"
Mong nhận được sự hỗ trợ của mọi người.
Vấn đề thứ nhất:
- Kết quả = 47 chứ bạn
- Công thức cũ cộng thêm với công thức này: 10*(LEN(1*A2)-LEN(SUBSTITUTE(1*A2,0,"")))
- Công thức này đếm xem trong chuổi có bao nhiêu số 0 (trừ số 0 bên trái) rồi nhân với 10
=SUMPRODUCT(1*MID(SUBSTITUTE((--A2),"0","19"),ROW(INDIRECT("1:"&LEN(SUBSTITUTE((--A2),"0","19")))),1))
Vấn đề thứ nhất:
- Kết quả = 47 chứ bạn
- Công thức cũ cộng thêm với công thức này: 10*(LEN(1*A2)-LEN(SUBSTITUTE(1*A2,0,"")))
- Công thức này đếm xem trong chuổi có bao nhiêu số 0 (trừ số 0 bên trái) rồi nhân với 10
Vấn đề thứ hai:
- Phải dùng VBA bạn à! Hàm đọc số thành chữ
= SUMPRODUCT(1*MID(A17,ROW(INDIRECT("1:"&LEN(A17))),1))+10*(LEN(1*A17)-LEN(SUBSTITUTE(1*A17,0,"")))
=SUMPRODUCT(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Cảm ơn oishi , BNTT , dat_butmuc đã dành thời gian, minh download theo link của dat_butmuc xuống chạy thử. cái này thì chạy tốt, đúng theo yêu cầu của mình rôi.
Hiện giờ mình cần thêm 2 tính năng:
1/ ví dụ như dãy số 082215605323 thì số 0 đầu tiên sẽ tự bỏ đi (cái này excel tự làm rồi ) , cái mình cần thêm là nếu dãy số có 0 nằm trong dãy số khác vị trí đầu tiên thì công là 10 chứ không phải là 0. vd: 082215605323 = 0 (bỏ) +8+2+2+1+5+6+ 10 (số 0 ) +5+3+2+3 = 37.
2/ vấn đề thứ 2 của mình là: sau khi cộng xong, như ví dụ trên có kết quả là 37 thì sẽ hiện ra dòng chữ " kết quả là ba mươi bảy"
Mong nhận được sự hỗ trợ của mọi người.
Cảm ơn ndu96081631 và http://www.giaiphapexcel.com/forum/member.php?57544-dat_butmucdat_butmuc nhiều, vậy là vấn đề của mình đã được hơn 80% rồi. HIện giờ chỉ còn 1 yêu cầu cần thục hiện nữa là: sau khi nập 1 dãy số vào ô, nhận được kết quả (kết quả này chỉ chạy từ 1 đến 80) . Ví dụ: tính kết quả của tổng dãy số ra đươc = 69 thì chỉ cần hiện ra 1 dòng ghi là: kết quả là 69; tính kết quả của tổng dãy số ra đươc = 80 thì chỉ cần hiện ra 1 dòng ghi là: kết quả là 80; ...
Mong mọi người hỗ trợ.
Mình tò mò quá không biết bài toán này có ứng dụng gì không nhỉ?
Công thức cho cell W6:Em cũng có dạng bài như trên nhưng rườm rà hơn một chút (vì chưa có ngay dãy số để tính tổng từ đầu
Ví dụ:
1. Phải dùng công thức join (nối) ta mới có được dãy số xxxxK3xxxxxP3
2. Em tham khảo hàm NDU (dùng hàm tách số) ta có: dãy 33
3. Em dùng công thức của anh NDU
=SUMPRODUCT(1*MID(Z6;ROW(INDIRECT("1:"&LEN(Z6)));1)) để tính dãy 33 = 3+ 3
như vậy em phải qua 2 cột phụ để làm bài trên (mặc dù đã xài code)
Rất mong các anh chị, hướng dẫn cách nào làm nhanh & gọn hơn
Em cám ơn
=SUM(IF(D6:V6="",0,1*MID(D6:V6,2,20)))
=SUM(IF(D6:V6="",0,1*MID(D6:V6,2,20)))
Thế có thể dùng hàm khác để không phải sử dụng số 20 đó không ??? Bạn thử xemEm hiểu rồi
Anh làm tổng quát lấy maximum luôn là 20 kí tự (LEN)
Thanks Anh nhé
=SUM(1*(0&MID(D6:V6,2,20)))
=SUM(--REPLACE(D6:V6,1,1,0))