Hallo,
beim Aufaddieren von großen und kleinen Zahlen vernachlässigt Excel ab einer bestimmten Größe kleinere Zahlenwerte (siehe Beispiel unten). Da die Summe aus diesen Zahlen jedoch einen Code ergeben, ist das korrekte Ergebnis einschließlich der Berücksichtigung der kleinsten Zahlen entscheidend.
Gibt es die Möglichkeit hier etwas in Excel einzustellen?
Danke & Gruß
C.
BEISPIEL:
A1: 300000000000000
A2: 20000
A3: 9000000000000000000
A4: 10000000000000000
A5: 3000000000000
A6: 1
A7: 30000000000
A8: 4
A9: 2000000
A10: 200000000
A11: 1200000000000000000000
=Sum(A1:A11) --> ergibt: 11209010303030200000000 (wo sind die Werte A2,A6,A8,A9???)
beim Aufaddieren von großen und kleinen Zahlen vernachlässigt
Excel ab einer bestimmten Größe kleinere Zahlenwerte (siehe
Beispiel unten). Da die Summe aus diesen Zahlen jedoch einen
Code ergeben, ist das korrekte Ergebnis einschließlich der
Berücksichtigung der kleinsten Zahlen entscheidend.
Gibt es die Möglichkeit hier etwas in Excel einzustellen?
=Sum(A1:A11) --> ergibt: 11209010303030200000000 (wo sind
die Werte A2,A6,A8,A9???)
Hi Caspar,
nein, bei 15 Stellen ist Schluß.
Tabellenblattname: Tabelle1
A B
1 300000000000000 1209010303030202020005
2 20000
3 9000000000000000000
4 10000000000000000
5 3000000000000
6 1
7 30000000000
8 4
9 2000000
10 200000000
11 1200000000000000000000
Benutzte Formeln:
B1: =Summe2(A1:A11)
Tabelle eingefügt mit Reinhards Tabelleneinfüger Version 1.0
Vorher Alt+F11, Einfügen Modul, Code reinkopieen, Editor schließen.
Option Explicit
Dim Summe As String
Function Summe2(Bereich As Range)
Dim n As Integer
Summe = ""
For n = 1 To Bereich.Cells.Count
Call Addiere(Bereich.Cells(n, 1))
Next n
Summe2 = Summe
End Function
Sub Addiere(ByVal Wert As String)
Dim pos As Integer, n, endW As Integer, endS As Integer, über, x
endW = Len(Wert)
endS = Len(Summe)
If endS 9 Then über = 1
Next n
If über = 1 Then Summe = "1" & Summe
'MsgBox Summe
End Sub
Gruß
Reinhard
Codeänderung
Hi Caspar,
nimm lieber diesen Code:
Option Explicit
Dim Summe As String
Function Summe2(Bereich As Range)
Dim n As Integer
Summe = ""
For n = 1 To Bereich.Cells.Count
Call Addiere(Bereich.Cells(n, 1))
Next n
Summe2 = Summe
End Function
Sub Addiere(ByVal Wert As String)
Dim pos As Integer, n, endW As Integer, endS As Integer, über, x
endW = Len(Wert)
endS = Len(Summe)
If endS 9 Then
über = 1
Else
über = 0
End If
Next n
If über = 1 Then Summe = "1" & Summe
End Sub
Gruß
Reinhard
1 „Gefällt mir“
Vielen Dank Reinhard,
allerdings scheint die Formal nicht ganz funktionieren. Für manche Zahlenwerte geht es, für andere (besonders die Großen) bekomme ich dann ein #Value angezeigt. Was könnte das Problem sein?
Caspar
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
allerdings scheint die Formal nicht ganz funktionieren. Für
manche Zahlenwerte geht es, für andere (besonders die Großen)
bekomme ich dann ein #Value angezeigt. Was könnte das Problem
sein?
Hi Caspar,
kann ich nicht nachvollziehen. Ich habe Spalte A als Text formatiert.
Hast du leerzeichen vor/nach den Zahlen?
Hier ein funktionierendes Beispiel:
http://www.badongo.com/file/576080
Gruß
Reinhard
Sternenklar und klug!
Erich