VBA
Da Sie diese Zellen mit der Option "formatieren" formatiert haben, ist die Formatierung nicht im Wert der Zelle enthalten. Daher müssen Sie eine Funktion in VBA definieren. Fügen Sie dies ( Quelle ) in ein neues Modul ein:
Public Function sumFormats(rng As Range) As String Application.Volatile Dim cell As Range, dblDollar#, dblPound# dblDollar = 0: dblPound = 0 For Each cell In rng If Len(cell.Value) > 0 Then If Left(cell.Text, 1) = "$" Then dblDollar = dblDollar + cell.Value Else dblPound = dblPound + cell.Value End If End If Next cell sumFormats = "Sum of currency: $" & dblDollar & "; Sum of Pounds: " & ChrW(163) & dblPound End Function
Verwenden Sie dann die neue Funktion =sumFormats(A1:A20)
für die gewünschten Zellen und Sie erhalten die Summen in einer Zeile. Wenn Sie Zwischensummen in verschiedenen Zeilen benötigen, müssen Sie die Ausgabe der Funktion ändern.
Nicht-VBA
Wenn Sie sich nicht mit VBA herumschlagen möchten, benötigen Sie eine Helper-Spalte neben Ihren Nummern. In dieser Spalte verwenden Sie die Funktion =cell("format",A1)
und diese wird ,2
für £ und C2
für $ zurückgegeben. Führen Sie dann eine =sumif
Funktion für die Zwischensummen aus.
=sumif(helpcolumncell,"C2",currencycell)
für US - Dollar, zu summieren und ersetzen C2
mit ,2
für Pfunde. Sie können die Helper-Spalte jederzeit ausblenden, wenn Sie sie nicht mögen. In diesem Fall gehen wir davon aus, dass sich Ihre Daten in Spalte B befinden und der Helfer in Spalte C.
A B C Data Format $1 =cell("format",B2) = C2 £2 =cell("format",B3) = ,2 £3 =cell("format",B4) = ,2 $4 =cell("format",B5) = C2 sum dollar =sumif($C$2:$C$4,"C2",$B$2:$B$4) = 5 sum pound =sumif($C$2:$C$4,",2",$B$2:$B$4) = 5
Dann müssen Sie diese Sumif-Zellen formatieren, um das Währungszeichen zu erhalten, oder eine =concatenate("$"&sumif(...))
Funktion hinzufügen