Summere sifre i en verdi

April 5  by Eliza

Hvis du har en celle som inneholder en verdi, kan det være lurt å tenke ut en måte å legge sammen alle sifrene i verdi. For eksempel, hvis en celle inneholder verdien 554, kan det være lurt å bestemme summen av 5 + 5 + 4, som er 14.

Det er flere måter du kan nærme seg denne oppgaven. (Betyr ikke det alltid synes veien i Excel?) Den første er å bruke en formel som er avhengig av flere funksjoner:

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

Dette vanlig formelen vil oppsummere sifrene i et heltall (i celle A1) i en enkel, elegant måte. Dette er ikke den eneste mulige formel, imidlertid. Det følgende er en matriseformel (avsluttes ved å trykke Ctrl + Shift + Enter) versjon av den samme formelen:

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

Hver av disse formlene fungere fint hvis verdien i A1 er et positivt heltall. Hvis det er noen ikke-sifrede tegn i tall (for eksempel et negativt fortegn eller desimaltegn), deretter formlene returnere en #VERDI! feil.

Disse er ikke de eneste formler mulig for denne typen beregninger. Du kan finne noen andre eksempler på formler i Microsoft Knowledge Base:

http://support.microsoft.com/kb/214053

Du kan også bruke en brukerdefinert funksjon for å returnere den ønskede sum. Følgende makro skritt gjennom hvert siffer i den refererte cellen og beregner en total. Denne verdien blir deretter returnert til brukeren:

Funksjons AddDigits (Antall Som Long) As Integer
Dim i As Integer
Dim Sum As Integer
Dim sNumber As String

sNumber = CStr (Number)
For i = 1 Til Len (sNumber)
Sum = Sum + Mid (sNumber, i, 1)
Neste
AddDigits = Sum
End Function

For å bruke denne funksjonen, bare bruke en formel som = AddDigits (A1) i en celle. En enda mer kompakt brukerdefinert funksjon (påberopes på samme måte) er følgende:

Funksjons AddDigits (ByVal N Som Long) As Integer
Gjør Mens N> = 1
AddDigits = AddDigits + N Mod 10
N = Int (N / 10)
Loop
End Function

I motsetning til tidligere makro, ikke denne versjonen ikke konvertere celleinnholdet til en streng for å behandle den. I stedet steg det gjennom hvert siffer i verdi, stripping av det siste sifferet og legge det til totalen.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (2424) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: summere sifre i en verdi.