Si tiene una celda que contiene un valor, es posible que desee idear una forma de sumar todos los dígitos del valor. Por ejemplo, si una celda contiene el valor 554, es posible que desee determinar la suma de 5 + 5 + 4, que es 14.

Hay varias formas de abordar esta tarea. (¿No parece que siempre es así en Excel?) La primera es usar una fórmula que se base en varias funciones:

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

Esta fórmula regular sumará los dígitos en cualquier valor entero (en la celda A1) de una manera simple y elegante. Sin embargo, esta no es la única fórmula posible. La siguiente es una fórmula de matriz (terminada presionando Ctrl + Shift + Enter) versión de la misma fórmula:

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

Cualquiera de estas fórmulas funciona bien si el valor en A1 es un número entero positivo. Si hay caracteres que no son dígitos en el número (como un signo negativo o un punto decimal), entonces las fórmulas devuelven un # ¡VALOR! error.

Estas no son las únicas fórmulas posibles para este tipo de cálculo.

Puede encontrar otros ejemplos de fórmulas en Microsoft Knowledge Base:

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

También puede utilizar una función definida por el usuario para devolver la suma deseada. La siguiente macro recorre cada dígito en la celda referenciada y calcula un total. Este valor luego se devuelve al usuario:

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

Para usar esta función, simplemente use una fórmula como = AddDigits (A1) en una celda. Una función definida por el usuario aún más compacta (invocada de la misma manera) es la siguiente:

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

Loop End Function

A diferencia de la macro anterior, esta versión no convierte el contenido de la celda en una cadena para procesarlo. En cambio, recorre cada dígito del valor, quitando el último dígito y sumándolo al total.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (12002) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.

Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí: link: / excel-Summing_Digits_in_a_Value [Sumar dígitos en un valor].