Tính tổng 1 vài số trong 1 ô

  • Thread starter Thread starter nonjsc
  • Ngày gửi Ngày gửi
Liên hệ QC

nonjsc

Thành viên mới
Tham gia
17/4/10
Bài viết
1
Được thích
0
Các bạn giúp tôi trong 1 ô 12345678 muốn cộng số 3 đến số 6.Thank you
 
Nhiều người không mô tả dữ liệu và chỉ nói nửa câu. Khó mà đoán được trúng ý.
Theo tôi có thể hiểu "muốn cộng số 3 đến số 6" theo 2 cách:
1. Tính tổng các chữ số từ vị trí thứ 3 tới vị trí thứ 6. Có lẽ bạn befaint đã hiểu theo cách này. Nhưng nếu là cách này thì phải phát biểu chính xác là "muốn cộng các chữ số từ vị trí 3 đến vị trí 6"
2. Tính tổng các chữ số 3, ..., 6 có trong chuỗi. Tức mỗi chữ số trong khoảng [3, 6] có thể xuất hiện nhiều lần trong chuỗi, và chúng đều được cộng. Bạn redeye đã hiểu theo cách này.

Nói nửa câu thì người khác khó có thể đoán ý. Và đây là trường hợp điển hình.
------------
Nếu hiểu theo cách 1 thì
Mã:
=SUM(INDEX(--MID(A1,ROW($A$3:$A$6),1),0))

hoặc

=SUMPRODUCT(--MID(A1,ROW($A$3:$A$6),1))
 
Nếu là cách hiểu 2 thì ngoài cách của redeye cũng còn nhiều cách khác. Ví dụ

Mã:
=SUMPRODUCT(ISERR(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"127890"))*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Nếu chuỗi có độ dài không đổi, vd. luôn 10 thì thay vì ROW(INDIRECT("1:"&LEN(A1))) chỉ cần ROW($1:$10)
 
Nhiều người không mô tả dữ liệu và chỉ nói nửa câu. Khó mà đoán được trúng ý.
Theo tôi có thể hiểu "muốn cộng số 3 đến số 6" theo 2 cách:
1. Tính tổng các chữ số từ vị trí thứ 3 tới vị trí thứ 6. Có lẽ bạn befaint đã hiểu theo cách này. Nhưng nếu là cách này thì phải phát biểu chính xác là "muốn cộng các chữ số từ vị trí 3 đến vị trí 6"
2. Tính tổng các chữ số 3, ..., 6 có trong chuỗi. Tức mỗi chữ số trong khoảng [3, 6] có thể xuất hiện nhiều lần trong chuỗi, và chúng đều được cộng. Bạn redeye đã hiểu theo cách này.

Nói nửa câu thì người khác khó có thể đoán ý. Và đây là trường hợp điển hình.
------------
Nếu hiểu theo cách 1 thì
Mã:
=SUM(INDEX(--MID(A1,ROW($A$3:$A$6),1),0))

hoặc

=SUMPRODUCT(--MID(A1,ROW($A$3:$A$6),1))
Cũng có thể hiểu là tính tổng các chữ số nằm giữa số 3 và số 6 (bao gồm cả 3 và 6) :D
 
Nếu là cách hiểu 2 thì ngoài cách của redeye cũng còn nhiều cách khác. Ví dụ

Mã:
=SUMPRODUCT(ISERR(FIND(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"127890"))*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Nếu chuỗi có độ dài không đổi, vd. luôn 10 thì thay vì ROW(INDIRECT("1:"&LEN(A1))) chỉ cần ROW($1:$10)
Cho bạn thêm 1 cách:
Mã:
=SUMPRODUCT((LEN(A1)-LEN(SUBSTITUTE(A1,ROW($3:$6),"")))*ROW($3:$6))
Nếu chuổi không theo thứ tự như 12347698 thì sao
 
Cách này áp dụng cho mọi trường hợp, không theo thứ tự, chuỗi có chữ cái, độ dài không giới hạn!!
Tham gia công thức mảng kém cõi hơn chút:
Mã:
=SUM(IFERROR(MID(A1,ROW(1:10),1)/(MATCH(1*MID(A1,ROW(1:10),1),{3,7})=1),))
Ctrl+Shift+Enter.

Chúc anh em ngày vui.
/-*+//-*+//-*+/
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom