web-dev-qa-db-ja.com

曜日ごとに条件付きフォーマット

日付を含むGoogleスプレッドシートのセルを条件付きで書式設定して、曜日に応じて背景を変えることができますか?たとえば、月の日を含む列で土曜日と日曜日を強調表示するには

21
Mike Ellis

私はこれに長い間苦労していましたが、最終的にそれをクラックしました:

日付を含む列で条件付き書式を使用し、カスタム式として次を入力します。

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

ここで、A1は列の最初の日付です。

これにより、1(日曜日)と7(土曜日)の値を持つすべての平日に条件付き書式が適用されます。

11
aej

新しいGoogleスプレッドシートで簡単に(ただし少し退屈です!)条件付き書式の場合、おおよそ、各色に新しいルールが必要です。 (通常、1つの色はルールからスキップされ、代わりに通常の書式設定で適用されます。これは、CFの条件のいずれかが適用される場合に上書きされます。).

日付の列がAであるとしましょう。それを選択し、[書式]> [条件付き書式設定...]、カスタム式はを入力し、次のように入力します。

=weekday(A1)=1  

必要なフォーマットを選択します。

上記の最後の1は日曜日であり、他の日は数字順に続きます。

必要に応じて1を調整し、他の必要な形式に対して繰り返します。

これらのルールは競合しないため(各日付は特定の曜日のみ)、ルールが追加される順序(「+ Add another rule」)は重要ではありません。

14
pnuts

日付が列Aにある場合は、日付を選択してから実行します。形式> 条件付き書式設定...> セルの書式設定...> カスタム式 and put

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

いくつかの説明:

weekday(A:A)は曜日を表す1-7を返し、or(weekday(A:A)=1, weekday(A:A)=7)は日曜日であればtrueを返します(1 =)または土曜日(7)。

これはそれ自体で動作しますが、何らかの理由で空のセルでweekday()が7を返すため、isblank(A:A)=falseはセルが空かどうかもチェックします。 (空ではない)と(Sunまたはsat)の両方である場合、セルに色を付けるようになりました

A:Aも入れます。これは、フォーマット範囲が先頭から始まらない場合、A1がオフセット結果を与えるためです(たとえば、A5:A100の代わりにA1:A100

Pnutsへのクレジット!

4
Emerson Peters

これはスクリプトで可能です。 ToolsScript editor ...に移動し、このスクリプトに貼り付けます:

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");
  }
}

スクリプトを保存し(プロジェクトに名前を付けて)、スプレッドシートに戻ります。

これで、セルを編集するたびに、このスクリプトは日付を入力したかどうか、および入力した日付が日曜日か土曜日かどうかを確認します。その場合、セルの背景が赤に変わります。日付でない場合、または週末でない場合、背景は白に変わります。

他の色名 を使用するか、16進コードを使用して別の色を指定できます。

3
William Jackson