セルの値に基づいて行全体を条件付きでフォーマットする

セルの値に基づいて行全体を条件付きでフォーマットする

これは尋ねた 前にですが、何かが足りないようです。「Monday」を含むすべての行の上に境界線を配置したいのです。

ここに画像の説明を入力してください

式は=$B$3="*Monday*"

セルの値が実際には「4/18/2016」であるためかもしれないと思いましたが、手動で「月曜日」に変更してもルールは実行されませんでした。何が間違っているのでしょうか?

答え1

数式を $B$3 に向けると、$B$3 が月曜日かどうかによって、常に true または false になります。行を相対参照にする必要があります。つまり、数式は次のようになります=IF($B3="Monday";TRUE;FALSE)

行の前の $ を省略すると、この数式は各行の最初の列を調べ、すべての月曜日の周囲に境界線を作成します。

数式を改善するには、日付列に日付値があると仮定して、関数を使用しWEEKDAY()て曜日の数値をチェックすることをお勧めします(Microsoft ヘルプ)。

答え2

機能を使用してくださいWEEKDAY()

構文:WEEKDAY(serial_number,[return_type])

列 A に日付が含まれていると仮定して、条件付き書式でこの数式を使用します。

=WEEKDAY(A1,2)=1

戻り値の型が の場合2、週は月曜日を 1 日目として始まります。したがって、数式は 1 に等しい曜日を識別し、ルールに従ってフォーマットします。

答え3

問題は 2 つありました。数式を に修正しました=$B3="Monday"。また、値が実際に「月曜日」になるように、 の数式を持つ追加の列を作成する必要がありました=TEXT(C3,"dddd")。以前と同様に、セルの内容は「2016/4/18」でしたが、セルの書式設定により月曜日のみが表示されていました。これにより、条件がトリガーされることはありませんでした。

月曜日を土曜日と日曜日に置き換えた結果は次のとおりです。

ここに画像の説明を入力してください

関連情報