暑い日々が続いていますね!
当社では毎年夏になると教職員互助会様向けのパソコン講座を担当させていただいています。
先生方が多くいらっしゃるため、
Excelを使った成績処理など、実践的な内容を求められることが多く
いつもこちらも勉強させていただいています。
今年も講座の中でいくつものご質問をいただきましたが
そのうちの1つが興味深かったのでここで取り上げてみたいと思います。
Excelで時刻を計算する際、シリアル値を分かりやすく扱うためには
“09:00″のようにダブルクォーテーションで囲んで時刻表記のまま
数式の中に入力してやります。
が、一部の関数ではそれでは正しく計算ができません。
例えば以下の例です。
B1のセルにはIF関数の論理式に「A1のセルの値が”06:00″より大きければ」と入っています。
本当だったら「B1」のセルには「遅い」が表示されなければいけないのですが
実際は「早い」が表示されていますね。
Excelの関数の中でダブルクォーテーションでくくってやるのは文字列も同じです。
実は今回の用例の場合、論理式の中の”06:00″は文字列として扱われてしまい
数値であるシリアル値よりも「大きい」ものと判断されてしまいます。
そのため、IF関数にはTrueが返り「早い」が表示されてしまうのです。
そんな場合、次のように解決します。
今回は論理式のシリアル値の後ろに「*1」をつけました。
これによって、”06:00″が文字列ではなく数値として認識されるようになります。
そのため論理式の意図するところが正しく反映され、
求めたい結果「遅い」が表示されるようになりました。
時刻の計算などをよくなさる方はぜひ覚えておいてくださいね!