XL: Formula to Sum Digits of a Number

Last reviewed: February 2, 1998
Article ID: Q108107

The information in this article applies to:
  • Microsoft Excel for Windows, versions 3.0, 4.0, 4.0a, 5.0, 5.0c
  • Microsoft Excel for Windows 95, versions 7.0, 7.0a
  • Microsoft Excel 97 for Windows
  • Microsoft Excel for OS/2, version 3.0
  • Microsoft Excel for the Macintosh, versions 3.0, 4.0, 5.0, 5.0a
  • Microsoft Excel 98 Macintosh Edition

SUMMARY

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.

MORE INFORMATION

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

   =SUM(VALUE(MID(A10,ROW($A$1:OFFSET($A$1,LEN(A10)-1,0)),1)))

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

   =SUM(VALUE(MID(A11,ROW($A$2:OFFSET($A$2,LEN(A11)-2,0)),1)))

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+ENTER.

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 that in each formula, the "$A$1" and "$A$2" are always used, regardless of which cell's digits are being summed.

REFERENCES

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


Additional query words: 2.0 2.10 3.00 4.00 4.00a 5.00 5.00a 5.00c 7.00
7.00a 97 98 XL98 XL97 XL7 XL5 XL4 XL3
Keywords : xlformula
Version : WINDOWS:3.0,4.0,5.0,5.0c,7.0,7.0a,97; MACINTOSH:3.0,4.0,5.0,5.0a,98
Platform : MACINTOSH OS/2 WINDOWS
Issue type : kbhowto kbinfo


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: February 2, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.