Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Microsoft KB Archive/108107

From BetaArchive Wiki

Article ID: 108107

Article Last Modified on 8/15/2003


  • Microsoft Excel 97 Standard Edition

This article was previously published under Q108107


Although there is currently no built-in formula that finds the sum of the digits of a number in Microsoft Excel, you can use the formula in the "More Information" section in this article to do this.


The following formula returns the sum of the digits of a positive number contained in cell A10:


The following formula returns the sum of the digits of a negative number contained in cell A11:


NOTE: The above formulas must be entered as array formulas. To enter a formula as an array formula in Microsoft Excel for Windows or Microsoft Excel for OS/2, press CTRL+SHIFT+ENTER. In Microsoft Excel for the Macintosh, press COMMAND+RETURN.

Explanation of the Formula

The following information assumes that cell A1 contains the number 849.

   This part of the formula  Does this


   A$1:OFFSET($A$1,LEN(A1)-  Creates a reference of cells going down a
   1,0)                      column that has the same number of cells as
                             the number in A1 has digits. For example, the
                             formula $A$1:OFFSET($A$1,LEN(A1)-1,0) would
                             return $A$1:$A$3 since LEN(A1)-1 equals 2 and
                             OFFSET($A$1,2,0) returns $A$3.

   ROW()                     Returns the row number of the cell reference.
                             If there is more than one cell in the
                             reference, it will return an array. In this
                             case, ROW($A$1:$A$3) returns {1;2;3}.

   MID()                     Returns a portion of a text string. By using
                             an array for one of the arguments, we can
                             return multiple text strings in an array. For
                             example, consider MID(849,{1;2;3},1) from the
                             above paragraph. This will return
                             {"8";"4":"9"}. Notice that all the numbers are
                             text inside the array.

   VALUE()                   Will change text to numbers. In this example,
                             VALUE({"8";"4":"9"}) returns {8;4;9}. This
                             allows the numbers to be summed.

   SUM({8;4;9})              Returns the final result, 21.

The second formula, which sums the digits of negative numbers, works in the same manner except that it compensates for the initial minus sign (-) in the number.

NOTE: In each formula, the "$A$1" and "$A$2" are always used, regardless of which cell's digits are being summed.


"Function Reference," version 4.0, pages 274, 299-300, 365-366, 423, 444.

Additional query words: 2.0 2.10 4.00a 5.00a 5.00c 7.00a 97 XL97 XL7 XL5 XL4 XL3 XL

Keywords: kbhowto KB108107