Ziffern in einem Wert summieren (Microsoft Excel)
Wenn Sie eine Zelle haben, die einen Wert enthält, möchten Sie möglicherweise eine Möglichkeit entwickeln, alle Ziffern des Werts zu addieren. Wenn eine Zelle beispielsweise den Wert 554 enthält, möchten Sie möglicherweise die Summe von 5 + 5 + 4 ermitteln, dh 14.
Es gibt verschiedene Möglichkeiten, wie Sie sich dieser Aufgabe nähern können. (Scheint das in Excel nicht immer so zu sein?) Die erste besteht darin, eine Formel zu verwenden, die auf mehreren Funktionen beruht:
=SUMPRODUCT(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))
Diese reguläre Formel summiert die Ziffern in einem beliebigen ganzzahligen Wert (in Zelle A1) auf einfache, elegante Weise. Dies ist jedoch nicht die einzig mögliche Formel. Das Folgende ist eine Array-Formel (beendet durch Drücken von Strg + Umschalt + Eingabetaste) der gleichen Formel:
=SUM(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Jede dieser Formeln funktioniert einwandfrei, wenn der Wert in A1 eine positive ganze Zahl ist. Wenn die Zahl nichtstellige Zeichen enthält (z. B. ein negatives Vorzeichen oder ein Dezimalpunkt), geben die Formeln einen #WERT zurück! Error.
Dies sind nicht die einzigen möglichen Formeln für diese Art der Berechnung.
Weitere Beispiele für Formeln finden Sie in der Microsoft Knowledge Base:
http://support.microsoft.com/?kbid=214053
Sie können auch eine benutzerdefinierte Funktion verwenden, um die gewünschte Summe zurückzugeben. Das folgende Makro durchläuft jede Ziffer in der referenzierten Zelle und berechnet eine Summe. Dieser Wert wird dann an den Benutzer zurückgegeben:
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
Um diese Funktion zu verwenden, verwenden Sie einfach eine Formel wie = AddDigits (A1) in einer Zelle. Eine noch kompaktere benutzerdefinierte Funktion (auf dieselbe Weise aufgerufen) ist die folgende:
Function AddDigits(ByVal N As Long) As Integer Do While N >= 1 AddDigits = AddDigits + N Mod 10 N = Int(N / 10) Loop End Function
Im Gegensatz zum früheren Makro konvertiert diese Version den Zelleninhalt nicht in eine Zeichenfolge, um ihn zu verarbeiten. Stattdessen durchläuft es jede Ziffer des Werts, entfernt die letzte Ziffer und addiert sie zur Gesamtsumme.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (12002) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.
Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: Ziffern in einem Wert summieren.