Hallo,
ich habe eine Tabelle mit Zahlen, bei der die Zellen verschiedene Füllfarben haben.
Nun würde ich gerne alle Zahlen mit der gleichen Farbe aufsummieren.
Also z.B. summewenn Füllfarbe=rot
Ist soetwas mit Excel möglich?
Vielen Dank
Andrea
Hallo Andrea,
wenn ich deine Betreffzeile richtig deute, hast du die Hintergrundfarben über bedingte Formatierung erzeugt.
Das heißt, es gibt genau eine Bedingung, die zu der Färbung führt.
Genau diese eine Bedingung kannst du benutzen, um die Summe der Werte dieser Zellen mit der Funktion SUMMEWENN() zu ermitteln.
Gruß
Marion
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Marion,
für die Farbe gibt es leider keine Bedingung.
Den Betreff habe ich nur so gewählt, da ich eine Funktion suche, die so funktioniert wie die bedingte Formatierung, nur eben andersrum.
Bedingte Formatierung: wenn X dann Farbe
Ich suche: wenn Farbe dann X
Trotzdem Danke.
Andrea
Hallo Andrea,
wenn ich deine Betreffzeile richtig deute, hast du die
Hintergrundfarben über bedingte Formatierung erzeugt.Das heißt, es gibt genau eine Bedingung, die zu der Färbung
führt.Genau diese eine Bedingung kannst du benutzen, um die Summe
der Werte dieser Zellen mit der Funktion SUMMEWENN() zu
ermitteln.Gruß
Marion
Hallo Andrea,
in Excel 2007 wäre dies gar kein Problem.
Da Du dies aber wahrscheinlich nicht hast, ich diese Aufgabe früher auch schon mal hatte, habe ich eine Lösung gefunden die nicht sehr elegant ist, wie z.B. ein Makro.
Ich habe mir damals eine eingefärbte Spalte in ein weiteres Tabellenblatt kopiert. Danach mit der Funktion „ersetzen“ verschiedenen Farben unterschiedliche Ziffern zugeordnet. Also falls Du auch so unelegant vorgehen möchtest:
Spalte kopieren
„Strg+H“
„Optionen“
„Format“
„Format“
„Ausfüllen“ und Farbe wählen
dann bei „Ersetzen durch“ eine Ziffer und „Alle erstzen“.
Dies nun mit jeder Farbe wiederholen und niemalsnicht sortieren.
Wenn Du dann alle Farben in Werte geändert hast, diese Spalte in das ursprüngliche Tabellenblatt ans Ende zurückkopieren.
Nun kannst Du sortieren und anschschließend auch summieren.
Nicht schön, aber funktioniert.
Gruß
Jürgen
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Andrea,
hab vergessen Dir zu sagen dass Du die Daten in der kopierten Spalte nachdem sie eingefügt hast bitte löschst, die sind ja eh noch im ursprünglich Tabellenblatt.
Sorry war eben in Eile.
Gruß
Jürgen
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Andrea,
ich habe eine Tabelle mit Zahlen, bei der die Zellen
verschiedene Füllfarben haben.
Nun würde ich gerne alle Zahlen mit der gleichen Farbe
aufsummieren.
Also z.B. summewenn Füllfarbe=rot
Ist soetwas mit Excel möglich?
diese Datei habe ich irgend wann mal auf der Seite von Hajo Zi gefunden.
Ich denke, damit kommst du weiter.
Farbe der Zelle
http://www.gmx.de/mc/fY3E5vYTKyYrGVWywMR11gAFeOyLNB
mein Dank an Hajo bei dieser Gelegenheit
Hinweis: Der Link für den Gastzugang zum GMX MediaCenter ist bis zum
25.11.2007 gültig.
Gruß
Marion
Zitat:
Nun würde ich gerne alle Zahlen mit der gleichen Farbe
aufsummieren.
Also z.B. summewenn Füllfarbe=rot
Ist soetwas mit Excel möglich?
…
Hallo Andrea,
ja das geht durchaus!
z.B.mit einem Makro
In meinem Beispiel sind Werte in den Spalten A und B
Das Ergebnis steht in Spalte D
Als Farbhintergrund habe ich Colorindex 4 gewählt (kräftiges Grün).
Sub Formel_nach_Farbe()
z = 1
Do While Cells(z, 1) „“
wert1 = Cells(z, 1)
wert2 = Cells(z, 2)
Cells(z, 1).Select
If Selection.Interior.ColorIndex = 4 Then Cells(z, 4) = wert1 + wert2 _
Else Cells(z, 4) = wert1 * wert2
z = z + 1
Loop
End Sub
____________________________________________
Werte auf grünem Hintergrund (Spalte A)werden mit den Werten der Spalte B addiert,
alle anderen multipliziert.
Das Progrämmchen kannst Du Deinen Bedürfnissen leicht anpassen.
Gruß Hermes
Grüezi Andrea
ich habe eine Tabelle mit Zahlen, bei der die Zellen
verschiedene Füllfarben haben.
Nun würde ich gerne alle Zahlen mit der gleichen Farbe
aufsummieren.
Also z.B. summewenn Füllfarbe=rot
Ist soetwas mit Excel möglich?
Solange die Zellen von Hand eingefärbt wurden ist das bedingt möglich. Kopiere dir die folgenden Zeilen in ein Modul der Mappe, dann steht dir die Funktion im Funktions-Assistenen unter ‚Benuzterdefiniert‘ zur Verfügung. Da eine reine Formatänderung in Excel nicht abzufangen ist, muss die Funktin von Hand oder mit F9 aktualisiert werden, daher der empfohlene Zusatz der im Kommentar erwähnt ist:
Public Function SummeWennFarbe(Bereich As Range, _
SuchFarbe As Variant, _
Optional Summe_Bereich As Range, _
Optional bolFont As Boolean = False) _
As Variant
'© [email protected], 30.05.2003
'erweitert 01.07.2004, 31.08.2004, 11.12.2004, 18.04.2005
'Funktion zur Anwendung von SUMMEWENN() mit Hintergrund- oder Schriftfarbe
'als Kriterium
’
'Die Parametereingabe erfolgt in derselben Reihenfolge
'wie in der Funktion SUMMEWENN():
’ - Der erste Parameter erwartet den Suchbereich
’ - Der zweite Parameter erwartet einen Zellbezug
’ (Hintergrund/Schriftfarbe) oder einen Farbindex (Zahl)
’ Farbindex ‚0‘ zählt Zellen ohne Hintergrund/Standard-Schriftfarbe
’ - Der dritte Parameter erwartet optional den zu summierenden Bereich
’ - Der vierte Parameter erwartet Wahr/Falsch für die Festlegung
’ ob nach Hintergrund- oder Schriftfarbe summiert werden soll
'Zur automatischen Aktualisierung im Tabellenblatt den folgenden Term
'anhängen: +(0*JETZT()) und durch F9 drücken die Funktion aktualisieren
'Also z.B. wie folgt: =SummeWennFarbe(A1:A10;A1)+(0*JETZT())
Dim intColor As Integer
Dim lngI As Long
Dim Summe As Variant
If Summe_Bereich Is Nothing Then Set Summe_Bereich = Bereich
If bolFont Then
If IsObject(SuchFarbe) Then
intColor = SuchFarbe(1).Font.ColorIndex
Else
intColor = SuchFarbe
End If
For lngI = 1 To Bereich.Count
If Bereich(lngI).Font.ColorIndex = intColor Then
Summe = Summe + CDec(Summe_Bereich(lngI))
End If
Next
Else
If IsObject(SuchFarbe) Then
intColor = SuchFarbe(1).Interior.ColorIndex
Else
intColor = SuchFarbe
End If
For lngI = 1 To Bereich.Count
If Bereich(lngI).Interior.ColorIndex = intColor Then
Summe = Summe + CDec(Summe_Bereich(lngI))
End If
Next lngI
End If
SummeWennFarbe = Summe
End Function
Mit freundlichen Grüssen
Thomas Ramel
-MVP für MS-Excel-
Hallo Andrea
noch einfacher geht es so:
Spalte A Wertereihe 1
Spalte B Wertereihe 2
Spalte D Ergebnisse
alle Werte der Spalte A mit beliebig(!) gefärbtem Hintergrund werden mit den Werten von Spalte B addiert.
Makro:
Sub Formel_nach_Farbe()
z = 1
Do While Cells(z, 1) „“
wert1 = Cells(z, 1)
wert2 = Cells(z, 2)
Cells(z, 1).Select
If Selection.Interior.ColorIndex 2 Then Cells(z, 4) = wert1 + wert2
z = z + 1
Loop
End Sub
_________________________________________________
mfG
Hermes