Bedingt nach Wochentag formatieren

21

Wie kann ich Zellen in Google-Tabellen mit Datumsangaben so formatieren, dass sie je nach Wochentag einen anderen Hintergrund haben, z. B. die Samstage und Sonntage in einer Spalte mit den Wochentagen markieren?

Mike Ellis
quelle

Antworten:

13

Ich hatte lange damit zu kämpfen, habe es aber endlich geknackt:

Verwenden Sie die bedingte Formatierung für die Spalte mit den Daten und geben Sie Folgendes als benutzerdefinierte Formel ein:

=or(WEEKDAY(A1)=1,WEEKDAY(A1)=7)

Wo A1ist das erste Datum in der Spalte.

Dadurch wird die bedingte Formatierung auf alle Wochentage mit einem Wert von 1 (Sonntag) und 7 (Samstag) angewendet.

aej
quelle
2
Das ist eine gute Lösung, danke. Ich akzeptiere es. Für meine Verwendung habe ich es angepasst, um leere Zellen auszuschließen: =and(not(isblank(A1)), or(WEEKDAY(A1)=1,WEEKDAY(A1)=7))
Mike Ellis
Schöne ergänzung mit dem nicht isblank. Ich habe es so verwendet, dass ich es nur für den Bereich verwendet habe, der die Daten enthält, z. B. A1: A31. Ich habe es auch von> und <zu = geändert, wie Sie es getan haben. Auf diese Weise ist es etwas direkter. Ich glaube, ich habe zu Beginn auf eine Wochentagsnummerierung gehofft, die eher der in meinem Land entspricht, in dem Montag 1 und Sonntag 7 ist. Ich weiß nicht, ob dies der Fall ist, wenn die Ländereinstellung geändert wird.
aej
14

Einfach (aber etwas langweilig!) In neuen Google Sheets. Für die bedingte Formatierung ist ungefähr für jede Farbe eine neue Regel erforderlich. (Eine Farbe kann in der Regel von den Regeln übersprungen und stattdessen mit normaler Formatierung angewendet werden. Dies würde übergangen, wenn eine der Bedingungen für CF zutrifft.) Wiederholen Sie die folgenden Grundlagen also mindestens fünf Mal.

Angenommen, die Datumsspalte ist A. Wählen Sie sie aus, Format> Bedingte Formatierung ..., Benutzerdefinierte Formel ist und geben Sie Folgendes ein:

=weekday(A1)=1  

Wählen Sie die gewünschte Formatierung.

Das Finale 1oben ist für Sonntag, andere Tage folgen in numerischer Reihenfolge.

Wiederholen Sie diesen Vorgang für die anderen erforderlichen Formate und passen Sie sie 1nach Bedarf an.

Da diese Regeln nicht in Konflikt stehen (jedes Datum ist nur ein bestimmter Wochentag), spielt die Reihenfolge, in der die Regeln hinzugefügt werden (mit " + Weitere Regel hinzufügen "), keine Rolle.

pnuts
quelle
4
Darauf aufbauend wäre es einfacher, dies zu tun =WEEKDAY(A1,2)>5- Dies trifft sowohl auf Samstag als auch auf Sonntag zu und erfordert nur eine Regel
FuriousGeorge,
1
Das hat den Trick gemacht. Vielen Dank!
Joshua Dance
5

Wenn sich die Daten in Spalte A befinden, wählen Sie sie aus und führen Sie folgende Schritte aus : Formatieren > Bedingte Formatierung ... > Zellen formatieren , wenn ... > Benutzerdefinierte Formel und Put

=and(isblank(A:A)=false, or(weekday(A:A)=1, weekday(A:A)=7))

Einige Erklärungen:

weekday(A:A)kehrt 1-7 , für den Tag der Woche, und or(weekday(A:A)=1, weekday(A:A)=7)kehrt wahr , wenn es am Sonntag ( 1 ) oder Samstag ( 7 ).

Dies würde von alleine funktionieren, aber aus irgendeinem Grund gibt week () für eine leere Zelle 7 zurück , isblank(A:A)=falseprüft also auch, ob die Zelle leer ist. Jetzt färbt es eine Zelle, wenn sie sowohl (nicht leer) als auch (Sonne oder gesessen) ist

Ich habe auch gesagt A:A, A1dass dies zu Offset-Ergebnissen führen würde, wenn der Formatbereich nicht oben beginnen würde (z. B. A5:A100anstelle von A1:A100).

Credits zu pnuts!

Emerson Peters
quelle
4

Dies ist mit einem Skript möglich. Gehen Sie zu Extras → Skripteditor ... und fügen Sie das folgende Skript ein:

function onEdit(e) {
  var cell = e.range.getCell(1, 1);
  var val = cell.getValue();
  if ((val instanceof Date) && (val.getDay() == 0 || val.getDay() == 6)) {
    cell.setBackground("red");
  } else {
    cell.setBackground("white");
  }
}

Speichern Sie das Skript (geben Sie dem Projekt einen Namen) und kehren Sie zu Ihrer Tabelle zurück.

Jedes Mal, wenn Sie eine Zelle bearbeiten, prüft dieses Skript, ob Sie ein Datum eingegeben haben und ob es sich bei dem eingegebenen Datum um einen Sonntag oder Samstag handelt. In diesem Fall ändert sich der Hintergrund der Zelle in Rot. Wenn es kein Datum oder kein Wochenende ist, ändert sich der Hintergrund in Weiß.

Es gibt andere Farbnamen, die Sie verwenden können, oder Sie können einen Hex-Code verwenden, um eine andere Farbe anzugeben.

William Jackson
quelle
Danke, William. Obwohl der Code vernünftig aussieht, funktioniert er aus irgendeinem Grund nicht ganz wie erwartet. Es werden gerade Tage rot und ungerade Tage weiß.
Mike Ellis
Ich habe den Test in der ifAnweisung geändert , um ihn einfacher zu gestalten. Funktioniert es jetzt?
William Jackson