# [Excel 2010] Bedingte Formatierung mit variablen Maximalwert



## Carndret (22. März 2011)

Hallo,

ich wollte gerade eine Tabelle machen in der die Spalte A eine Zahl enthält die je ein Maximum darstellt und in der Spalte B jeweils der aktueller Wert. In der Spalte A steht dann z.B. die Anzahl Teile die ich geliefert bekommen habe und in Spalte B, die Anzahl, die noch verfügbar ist. Per bedingter Formatierung will ich nun mit Datenbalken oder einer Farbskala das ganze visuell darstellen.
Mein Problem ist, dass ich immer nur einen Maximalwert festlegen kann auf den sich die gesamte Spalte B bezieht.

z.B.
_A_|_B_
20  |  20     >> Balken wird in Spalte B voll dargestellt
10  |  10     >> Balken wird in Spalte B nur halb dargestellt, da Maximalwert von oben genommen wird

Wie kann man nun für jede Zeile den Maximalwert aus Spalte A benutzten. Da ich an die 100 Zeilen damit füttern möchte wollte ich nicht für jede Zeile eine neue Regel erstellen.

Danke schon mal für die Hilfe!


----------



## tombe (22. März 2011)

Wenn in Spalte A der Wert steht den du geliefert bekommen hast und in Spalte B der noch verfügbare Bestand.

Dann kann in Spalte B ein Wert stehen der zwischen 0 und dem Wert von Spalte A sein?

Was soll jetzt mit der bedingten Formatierung dargestellt werden?


----------



## Carndret (22. März 2011)

Ja, in Spalte B ist ein Wert zwischen 0 und dem dazugehörigem Anfangswert in Spalte A. Mit der Formatierung soll nun ein Balken oder ein Farbverlauf (in der Spalte B als Hintergrund) angezeigt werden, der den Wert in Spalte B in Abhängigkeit vom Wert in Spalte A anzeigt.
Momentan müsste ich für jede Zeile eine neue Formatierung machen in der ich den Maximalwert von Spalte A hole. Ich will nun wissen, ob es möglich ist, das mit einer einzigen Formatierung zu machen.


----------



## tombe (22. März 2011)

Markiere doch die komplette Spalte B und gib dann bei der bedingten Formatierung z.B.


```
=($B1/$A1) < 0,5
```

ein und wähle die gewünschte Formatierung aus. Das wird dann für alle Zellen entsprechend übernommen.


----------



## Carndret (22. März 2011)

Das geht dann aber nicht mit der automatischen Farbskala von Excel 2010. Ich habe ja einfach links den Maximalwert und rechts den Istwert, der farblich hinterlegt werden soll. Da kann ich keine Formeln mehr eingeben. Auch nicht im Formatierungsmanager. Und $B1 geht z.B. gar nicht, da er nur feste Zellen wie $B$1 annimmt.
Vielleicht ist das auch nicht vorgesehen, sowas für viele Zeilen automatisch zu machen... 
Notfalls mach ichs halt dann ganz anders


----------



## Thomas Ramel (23. März 2011)

Grüezi Carndret

Die bedingte Formatierung mit Datenbalken kann immer nur mit einem absoluten Bezug arbeiten, daher kannst Du nicht den ganzen Bereich so belegen.
Es gibt aber die folgende Möglichkeit dies dennoch zu tun:

Lege die Bedingte Formatierung für B1 fest indem Du den Maximalwert aus A1 holst (soweit bist Du schon, denke ich).

Jetzt wichtig! Kopiere alle Werte aus Spalte B und füge sie temporär in einer anderen Spalte ein.

Kopiere nun B1 und füge diese Zelle dann in allen anderen Zellen von Spalte B ein - der Bezug wird sich dann auf die jeweilige Zeile in Spalte A anpassen.

Kopiere nun die ursprünglichen Werte (über Einfügen/ Werte oder Einfügen/Formeln) wieder zurück in Spalte B.


Nun sollte das Ganze passen.


----------



## Carndret (24. März 2011)

Hallo Thomas,

ich habs jetzt gerade mal ausprobiert. Wenigstens macht er mit diener Methode immer automatisch eine neue Regel. Was sich bei mir jedoch nciht ändert ist der Maximalwert $A$1 der in der Regel drin steht. Den kopiert er bei mir mit.
Hab ich da was falsch gemacht?


----------



## Thomas Ramel (24. März 2011)

Grüezi Carndret

Du willst ja eigentlich einen relativen Bezug haben - warum gibst Du dann einen absoluten ($A$1) an?

Mach da mal A1 draus, dann sollte es passen (hat bei mir jedenfalls getan).


----------



## HonniCilest (24. März 2011)

An die 100 Zeilen und das manuell, seid ihr verrückt? 
Ich persönlich würde es mit einem Makro machen, welches im Code des Tabellenblattes gespeichert wird. Hier ein Beispiel mit Grüner Schrift: (so funktioniert es zumindest in Office 2003)

```
'Wird aufgerufen, wenn sich der Inhalt einer Zelle ändert
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not IsArray(Target) And Target.Column = 2 Then
        If Target.Value = "" Then
            Target.FormatConditions.Delete
        Else
            If Target.FormatConditions.Count = 0 Then
                Target.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="$A$" & Target.Row
                Target.FormatConditions(1).Font.ColorIndex = 50
            End If
        End If
    End If
End Sub
```


----------



## Carndret (25. März 2011)

@Thomas: welche Version von Excel hast du? Wenn ich nämlich nur =A1 beim maximal Wert eingebe kommt die Meldung, dass der Wert nicht relativ sein darf.

Die Sache mit dem Makro hatte ich mir auch schon überlegt (Danke schon mal für den Code!!). Ansonsten machs ichs irgendwie anders...


----------



## Thomas Ramel (25. März 2011)

Grüezi Cardet

Ich hatte das mit xl2007 getestet - anders bekomme ich ja keine Datenbalken in die Zellen.

Du darfst aber nicht einfach das Format übertragen sondern musst wie beschrieben die Zellen kopieren und unten einfügen (und dafür dann eben erstmal die Daten an einem anderen Ort zwischenparken).


----------



## Carndret (29. März 2011)

hmm, hab genau wie du es beschrieben hast die die Zelle kopiert, sodass er mir auch tatsächlich eine neue Regel dafür angelegt hat. Nur der Maximalwert hängt immer noch an A1 fest.
Steht denn bei dir tatsächlich =A1 beim Maximalwert drin und nicht =$A$1? Denn wie gesagt, da meckert Excel ja bei mir, dass der Wert nicht relativ sein darf.


----------

