Nếu bạn có một ô chứa một giá trị, bạn có thể muốn nghĩ ra một cách để cộng tất cả các chữ số trong giá trị lại với nhau. Ví dụ: nếu một ô chứa giá trị 554, bạn có thể muốn xác định tổng của 5 + 5 + 4, là 14.

Có một số cách bạn có thể tiếp cận nhiệm vụ này. (Không phải lúc nào điều đó cũng đúng trong Excel?) Đầu tiên là sử dụng công thức dựa trên một số hàm:

=SUMPRODUCT(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))

Công thức thông thường này sẽ tính tổng các chữ số trong bất kỳ giá trị số nguyên nào (trong ô A1) một cách đơn giản, trang nhã. Tuy nhiên, đây không phải là công thức khả thi duy nhất. Sau đây là một công thức mảng (kết thúc bằng cách nhấn Ctrl + Shift + Enter) phiên bản của cùng một công thức:

=SUM(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))

Một trong hai công thức này hoạt động tốt nếu giá trị trong A1 là một số nguyên dương. Nếu có bất kỳ ký tự không phải chữ số nào trong số (chẳng hạn như dấu âm hoặc dấu thập phân), thì công thức trả về lỗi #VALUE! lỗi.

Đây không phải là công thức duy nhất có thể cho loại tính toán này.

Bạn có thể tìm thấy một số ví dụ khác về công thức trong Cơ sở kiến ​​thức Microsoft:

http://support.microsoft.com/?kbid=214053

Bạn cũng có thể sử dụng một hàm do người dùng xác định để trả về tổng mong muốn. Macro sau bước qua từng chữ số trong ô được tham chiếu và tính tổng. Giá trị này sau đó được trả lại cho người dùng:

Function AddDigits(Number As Long) As Integer     Dim i As Integer     Dim Sum As Integer     Dim sNumber As String

sNumber = CStr(Number)

For i = 1 To Len(sNumber)

Sum = Sum + Mid(sNumber, i, 1)

Next     AddDigits = Sum End Function

Để sử dụng chức năng này, chỉ cần sử dụng một công thức chẳng hạn như = AddDigits (A1) trong một ô. Một hàm thậm chí còn nhỏ gọn hơn do người dùng định nghĩa (được gọi theo cách tương tự) như sau:

Function AddDigits(ByVal N As Long) As Integer     Do While N >= 1         AddDigits = AddDigits + N Mod 10         N = Int(N / 10)

Loop End Function

Không giống như macro trước đó, phiên bản này không chuyển đổi nội dung ô thành một chuỗi để xử lý nó. Thay vào đó, nó bước qua từng chữ số của giá trị, loại bỏ chữ số cuối cùng và cộng nó vào tổng.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (12002) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.