Ich habe festgestellt, dass Formeln und Bereiche für die bedingte Formatierung automatisch angepasst werden, wenn Sie Daten in einer Tabelle kopieren, löschen oder verschieben. Das ist zwar eine nette Idee, aber es neigt dazu, die Dinge für mich auf seltsame Weise zu zerbrechen.
Um dies zu vermeiden, habe ich versucht, Regeln zu schreiben, die für die gesamte Tabelle gelten, und Spaltenüberschriften abgeschlüsselt, um die zu überprüfenden Daten hervorzuheben.
Beispiel: =AND(A$1="Check This Column For Blanks),ISBLANK(A1))
angewendet auf=$1:$1048576
Selbst wenn die Regel explizit auf das gesamte Blatt angewendet wurde, passte sie sich automatisch an (und brach dabei auf seltsame Weise ab), während ich im Blatt arbeitete.
Wie kann ich das vermeiden?
Antworten:
Wenn ich einen Bereich benötige, der sich unter keinen Umständen ändern sollte , einschließlich Verschieben, Einfügen und Löschen von Zellen, habe ich einen benannten Bereich und die
INDIRECT
Funktion verwendet.Wenn ich zum Beispiel möchte, dass ein Bereich immer auf Zellen angewendet wird
A1:A50
, habe ich über den Namensmanager einen benannten Bereich definiert:Fügen Sie im Namensmanager einen neuen Bereich hinzu (klicken Sie auf Neu), und geben Sie im Feld Verweist auf: mit der Funktion INDIREKT den gewünschten Zellenbereich an, z . B.
=INDIRECT("A1:A50")
oder=INDIRECT("Sheet!A1:A50")
. Da es sich bei dem Bereich technisch gesehen nur um ein Textargument handelt, wird Excel durch keine Neuanordnung von Zellen aktualisiert.Dies funktioniert auch in mindestens Excel 2010 und Excel 2013. Obwohl mein Screenshot aus dem Jahr 2013 stammt, habe ich 2010 in der Vergangenheit genau diese Technik angewendet.
Vorbehalte
Denken Sie daran, dass diese Invarianz Sie auch stolpern kann. Wenn Sie beispielsweise den Namen des Blatts ändern, wird der benannte Bereich unterbrochen.
Ich habe einen geringfügigen Leistungseinbruch festgestellt, wenn ich diese Strategie für eine erhebliche Anzahl von Zellen verwende. Ein Modell, das ich bei der Arbeit verwende, verwendet diese Technik mit benannten Bereichen, die sich über mehrere tausend unterschiedliche Zellbereiche erstrecken, und Excel fühlt sich ein wenig träge an, wenn ich Zellen in diesen Bereichen aktualisiere. Dies kann meine Vorstellung sein, oder es kann die Tatsache sein, dass Excel zusätzliche Funktionsaufrufe für INDIRECT ausführt.
quelle
INDIRECT
Funktion nicht einfach alleine verwenden?Ich habe festgestellt, dass Regeln sehr leicht zu brechen sind, aber hier ist etwas, das Sie ausprobieren können, ohne dass es gegen Regeln zu verstoßen scheint.
Sie können Text in Zellen ändern. Wenn Sie eine Zeile hinzufügen müssen, fügen Sie Ihre Daten am Ende Ihrer Tabelle hinzu und sortieren Sie sie neu. Wenn Sie eine Zeile löschen müssen, entfernen Sie nur den Text / die Zahlen und sortieren Sie die Tabelle neu.
Dies funktioniert für mich, wenn ich eine bedingte Formatierung für Spalten habe und normalerweise die Formatierung für die gesamte Spalte festlege, z. $ F: $ F. Wenn Sie für einen Teilbereich formatieren, sollte dies weiterhin funktionieren. Stellen Sie jedoch sicher, dass alle zu formatierenden Daten nach dem Hinzufügen / Entfernen und erneuten Speichern noch in den ursprünglichen Bereichsparametern enthalten sind.
Es ist auch eine große Frustration für mich.
Ich hoffe das hilft.
quelle
Ich bin nicht SO sicher und ich vor dem gleichen Problem , das häufig.
Ich würde sagen, dass das Feld "Anwenden auf" im Bedienfeld "Bedingte Formatierung" IMMER dynamisch funktioniert. Es werden also IMMER alle Referenzen in das Format konvertiert
=$A$1:$A$50
.Es ist nervig.
quelle
Ich fand heraus, dass die Verwendung der
INDIRECT
Funktion und derROW
Funktion in der Regel für bedingte Formatierung das Problem beseitigt, dass Excel neue Regeln erstellt und den Bereich ändert.Zum Beispiel wollte ich eine Zeile zwischen den Zeilen in meiner Scheckheftregister-Tabelle einfügen, wenn sich der Monat von einer Zeile zur nächsten änderte. Meine Formel in der CF-Regel lautet also:
wo Spalte C in meiner Tabelle das Datum enthält. Ich musste nichts spezielles für den Bereich tun (ich musste keinen Bereichsnamen usw. definieren).
Verwenden Sie also im Beispiel des ursprünglichen Posters anstelle von "A1" oder "A $ 1" in der CF-Regel:
quelle
Ich habe ein sehr ähnliches Problem erlebt. Ich habe ein paar Makros erstellt, um Zeilen hinzuzufügen und Formeln nach unten zu kopieren, und dann Spalten und Zeilengrößen anzupassen, um zu formatieren, wie das Blatt aussieht. Ich habe festgestellt, dass dieses Problem in einem von zwei Fällen auftritt.
1) Wenn etwas von INNEN das "trifft zu" außerhalb dieses Bereichs ausgeschnitten / eingefügt wird.
2) Wenn in "trifft zu" verbundene Zellen vorhanden sind und eine der Zeilen oder Spalten angepasst wird.
Während der Ausgabe der zusammengeführten Zellen muss Excel die Zusammenführung aufheben, die bedingte Anwendung neu berechnen, alle Zellen anpassen (Zeilen hinzufügen oder löschen oder was nicht) und sie dann wieder zusammenführen. Es ist unsichtbar für uns, aber so scheint es anzuwenden zu sein.
Dachte, das könnte uns dabei helfen, die Lösung zu finden.
-T
quelle
Ich habe eine einfache Lösung dafür.
Bewegen Sie sich einfach zu einer Zelle, die sich im Bereich befindet (die nicht unter dem Bereich liegt), klicken Sie auf Format Painter und fügen Sie sie in die gesamte Spalte ein. Wieder wird angezeigt, wo es kaputt ist. Sie müssen nur einen Format-Painter für die Zelle ausführen, die den Bereich beschädigt hat. Nun, auch dies mag etwas langwierig erscheinen, Sie können einfach ein einfaches Makro dafür erstellen.
quelle
Verwenden Sie in der Formel für bedingte Formatierung die
R1C1
Notation mit derINDIRECT
Funktion:Beispiel 1:
If same row column A = 1
...Beispiel 2:
If same row column A = 2 AND next row column A = 3
...quelle
Wenn der Anwendungsfall darin besteht, eine Berichtstabelle zu generieren, sollte dies gut funktionieren:
Sie können die übermäßige Hilfsbereitschaft von Excel mit ein paar einmaligen Einrichtungsschritten umgehen , wenn Sie auch bereit sind, eine einfache Aktualisierung der endgültigen Daten manuell durchzuführen, nachdem Sie alle Daten eingegeben haben.
Angenommen, Ihre Daten sind normal angeordnet (in Zeilen):
Input
. Wenden Sie keine bedingte Formatierung an. Sie können Werte nach Herzenslust verschieben (z. B. Löschen / Einfügen / Kopieren / Einfügen).Output
. B. ). Kopieren Sie manuell Ihre globale Formatierung wie Spaltenbreiten und Formatierung der Überschriften (nicht den Inhalt der Überschriften, nur die Formatierung).$A$1
in der folgenden Formel die Position des Anfangs Ihrer Kopfzeile und kopieren Sie dann alle auszugebenden Spalten und Zeilen:=IF(LEN(OFFSET(Input!$A$1,ROW()-1,COLUMN()-1))>0,OFFSET(Input!$A$1,ROW()-1,COLUMN()-1),"")
(DieIF(LEN(...)>0,...,"")
Anweisung ist erforderlich, da Excel auch Datentypen für Sie hilfreich ermittelt und0
ansonsten für leere Zellen verwendet die-1
Terme stammen aus der Versetzung versus OrdinalsemantikOutput
Blatt an.Dadurch wird Ihr
Input
Datenblatt auf einOutput
Blatt kopiert , ohne dass Zellverweise vorhanden sind, die von Excel automatisch abgeschlachtet werden, sodass Sie die bedingte Formatierung auf demOutput
Blatt sicher definieren können .Sie müssen lediglich den Bereich, auf den die Formel im Arbeitsblatt angewendet wird, manuell erweitern
Output
, wenn sich die Größe IhrerInput
Daten ändert.Ich schlage vor, dass Sie das Zusammenführen von Zellen vermeiden.
PS Diese Frage wurde mehrmals gestellt (sie gilt auch für Google Sheets, einen Klon von Excel), sodass Sie möglicherweise eine bessere Lösung für Ihren Anwendungsfall finden, indem Sie sie durchgehen:
quelle
Wenn Sie ohne Format (
Paste > Paste Special > Unicode Text
oder ähnlichem) einfügen, wird die spezielle Formatierung nicht kopiert, und als solche sollte sich der Bereich "Gilt für" nicht ändern.Sie können Zeilen / Spalten löschen, aber wenn Sie sie einfügen, wird der Bereich "Gilt für" aufgeteilt.
Sie erweitern den Bereich, indem Sie die letzte Zeile / Spalte auswählen und auf das kleine Quadrat unten links neben dem "Cursor" "Kopieren-Ziehen" klicken. Auf diese Weise sollte der Bereich "Anwenden auf" erhalten bleiben. (Beachten Sie, dass dies keine Formeln in Zeilen oder Spalten erweitert, wie dies beim Einfügen der Fall ist.)
Es ist jedoch ein totaler Schmerz, sich daran zu erinnern, ohne Format usw. einzufügen, was ich normalerweise nicht tue.
Manchmal definiere ich auch einen Namen für den Bereich, den ich formatieren möchte. Es wird in der Regel nicht verwendet, aber Sie können die Regel bereinigen, indem Sie alle Regeln bis auf eine entfernen und den Bereichsnamen im Abschnitt "Gilt für" verwenden.
Ich habe auf einem Mac mit Excel 16.3 getestet (ich denke, Office 2016 ... hmm).
quelle