Excel。時間に条件付き書式を設定したけど、うまくいきません!
<条件付き書式>
次の表がありまして、
出発時間が17時以降のものがわかりやすいように、
行単位で塗りつぶしを設定したいので、条件付き書式を使ったら、
便利かなと思って設定したのですが、
ちゃんと塗りつぶしが17時以降の行に反映されないのです。
どうしたらいいの?というご質問をいただきました。
条件付き書式は、
確かに汎用性が必要な時などには、便利なのですが、
設定が結構微妙な時があったりするので、
上手くいかないケースというのがあるんですね。
今回のケースもあることに気を付けないと、
反映してくれないというトラブルが発生しやすい表なので、
今回のように時間を条件にした、条件付き書式をご紹介していきます。
【文字になってしまう】
まずは、よくやってしまう方法で設定した場合、反映されないことを確認しておきましょう。
A2:C8を範囲選択して、ホームタブの条件付き書式をクリックします。
今回は、行単位で塗りつぶしを設定しますので、新しいルールを使っていきます。
新しいルールをクリックすると、
『新しい書式ルール』ダイアログボックスが表示されますので、
『数式を使用して、書式設定するセルを決定』をクリックします。
次の数式を満たす場合に値を書式設定のボックスに、
=$C2>=17:00
と入力して、塗りつぶしの書式を設定します。
そして、OKボタンをクリックしてみると。
エラーが表示されてしまいました。
要するに、””(ダブルコーテーション)で囲ってくださいということなので、
ボックスの式を次のように修正しました。
=$C2>="17:00"
そして、OKボタンをクリックしてみると。
アレレ?全く反映されていません。色が変わっていない?
これが今回のご質問な訳ですね。うまく反映されないので困っている。
なぜ、反映されないのかというと、
先程、時間に””(ダブルコーテーション)をつけましたよね。
これによって、"17:00"が、文字になってしまったわけです。
つまり、"17:00"という文字だったら塗りつぶしますよ
という条件になってしまっているのです。
C列の表示形式を『標準』に変更してみるとわかりますが、
時間はそもそも、シリアル値。
すなわち、数値な訳ですから、
"17:00"という文字では条件が合致しませんので、
条件付き書式が、動いてないように見えたわけですね。
【×1すればシリアル値】
では、どうやったらいいのでしょうか?17:00としたくても、エラーが出てしまう。
そこで、次のように数式を変更してみましょう。
=$C2>="17:00"*1
修正後OKボタンをクリックしてみると、なんと反映されましたね。
数式に『*1』をつけただけですが、
実は、こうすることによって、シリアル値に変換することが出来るのです。
時刻を数式で直接指定する・入力する時は、
シリアル値に変換してあげるということを覚えておくと、
今回のようなケースを回避することができますよ。