Excelファイルを使って、就業時間管理や作業時間管理などを行うことがあります。多くの人が使うExcelファイルでは入力ミスを防ぐための工夫が必要です。
入力ミスを防ぐ手段は複数で
Excelファイルで時間管理する場合は、統一されたフォーマットのファイルを配布して、各自で入力してもらい、
1週間、1月など一定の期間の入力が終わったら、それをまとめて、集計する、と言う流れで作業していきます。
入力は一人一人で行うことになるため、Excelに慣れていない人が使うと、意図しない方法や内容を入力する可能性があります。
そのような、エラーを回避するためには、ファイルを作成する時点で、入力ミスを防ぐための工夫を施しておくのが得策です。
大きく2つの観点から複数の手段を講じていきます。
1.正しく入力してもらうための工夫
2.誤って入力した時に、直してもらうための工夫
この2つの観点です。
1.については「注意書き、入力箇所の色づけ」や「ドロップダウンリストで、入力内容を限定する」などの方法があります。
(詳細はこちらの記事で扱っています”ドロップダウンリストで、Excelが苦手な人にも正しく入力してもらえるようにしましょう
”)
今回は、2.について触れていきます。
この点については、ドロップダウンリストを使う方法の中にも、重要な機能が含まれていて、リスト以外の入力内容を入力すると、エラーメッセージを出てくることが、1つ目の対策になります。
(リストに無いデータを入力すると、このようなエラーメッセージで、誤りを知らせてくれます)
今回扱うのはそれ以外の方法です。
具体的に見ていきましょう。
誤って入力した時に、直してもらうための工夫
ドロップダウンリストのところでも出てきましたが、入力内容にエラーがある場合に、エラーメッセージを出す方法があります。
IF関数でエラーメッセージを出す
次のような、作業時間管理ファイルを考えます。
開始時刻と終了時刻を、「時間」のセルと「分」のセルに分けて、入力していく形式です。
「時間」と「分」のセルは、ドロップダウンリストから選択する形になっていて、
正しく入力されると、「作業時間」の列で作業時間が計算されます。
「開始時刻」「終了時刻」に、入力の誤りがある場合には、エラーメッセージが出ますし、入力自体できなくなるので、誤入力は防げるのですが、入力結果については、チェックができません。
たとえば、開始時刻が11時なのに、終了時刻が9時30分になってしまった場合。
終了時刻が9時30分になっていますが、就業時間内であるため、入力される可能性はあり、リストの中には含まれています。
なので、エラーにはならず入力が可能です。
ですが、お分かりの通り、開始時刻より先に終了時刻が来るのは、明らかに間違っています。このような誤りについては、エラーメッセージを出して、修正してもらうのが効率的です。
IF関数を使います。IF関数は、
1.条件式
2.条件式が正しいときの表示内容
3.条件式が誤っているときの表示内容
この3つの要素でできています。
最初に、条件式を考えます。
「開始時刻よりも終了時刻が先立ったら」という条件式です。
時刻同士の計算は、時刻をシリアル値にして、引き算をして計算します(時刻のシリアル値については、こちらの記事で解説しています”関数を使って、入力された時刻から、時間を計算します”)。
時刻のシリアル値は、0時(深夜12時)を境にして、午前1時、午前2時…と進み、午後の時間を経て、0時が最大値で1になるように決められていますから、
(時刻とシリアル値の関係。上が「午前」下が「午後」)
開始時刻よりも終了時刻が先に来ると、計算結果はマイナスになります。
この点に着目して、
作業時間の計算結果がマイナスになったら、エラーメッセージを出す。
プラスの場合は空白セル(何も表示させない)
という条件でIF関数を組み込んでおけば、エラーの際にメッセージに気づいて修正してもらえいます。
実際に入力してみましょう。
作業時間セルの隣のセルを使って、IF関数を入力します。
入力内容は次のようになって、
1.条件式:G10<0
2.条件式が正しいときの表示内容:
” 開始時刻より終了時刻が先になっています “
3.条件式が誤っているときの表示内容:” “
関数の形で表すと、
このような形になります。
実際に見てみると、
開始時刻よりも早い終了時刻を入力してしまうと、エラーメッセージが出て、
正しく入力された場合は、何も表示されません。
これで、作業時間に入力ミスがあればエラーが表示され、正しく入力し直してくれる可能性が高くなりますし、もし、修正されていない場合でも、チェック担当の方がエラーにすぐ気づくことができます。
シートの保護
次の方法は「シートの保護」です。
「シートの保護」を使うと、入力セル以外にデータを入力した時に、
このようなエラーメッセージが出て、入力ができなくなります。
先ほどの、IF関数の式や、フォーマットとして入力内容や形が決められているセルを、勝手に変更されることを防ぐとこができますし、
想定していないセルに間違ってデータが入力されたりすることも防ぐことができます。
(慣れていない方が入力すると、意図せず、このようなセルに入力されてそのまま、ということもあります)
「シートの保護」の方法ですが、次の2段階に分けて設定します。
1.入力セルを指定して、セルのロックを外す
2.シートを保護する
まず、入力しても良いセルのロックを外して、「シートの保護」がかからないようにします。
入力してもよいセルを、クリックまたはドラッグして、範囲指定します。
ここでポイントがあります。
入力しても良いセルが、離れていている場合です。
指定範囲が離れていても、最初に、ドラッグ(もしくはクリック)してセルを範囲指定した後、
別のセルを、「Ctrl+ドラッグ(もしくはクリック)」することで、連続していないセルを範囲指定することができます。
入力しても良いセルを範囲指定したら、「ホーム」タブの「書式」から、「セルのロック」をクリック。
これで完了です。
最初の段階では、全てのセルにロックがかかっていますので、「セルのロック」のアイコンは薄緑ですが、
(ロックがかかっていると「セルのロック」のアイコンが薄緑に)
指定したセルのロックが外れると、
白になります。
セルのロックが外れているかどうかを確かめるためには、確認したいセルを指定して、「セルのロック」のアイコンを確認して下さい。
あとは、シートを保護するだけです。
「ホーム」タブの「書式」から、「シートの保護」をクリックすると、
「シートの保護」画面が開くので、
「OK」をクリックすれば完了です。
これで、セルのロックを外して入力を許可した、「月」、「氏名」、「開始時刻」、「終了時刻」以外のセルは入力できなくなりました。
まとめ
就業時間管理や作業時間管理のために、Excelファイルへの入力を依頼する場合には、正しく入力してもらえるような工夫が必要です。
「正しく入力してもらう」ための工夫だけでなく、「誤って入力した内容を、直してもらう」ための工夫も施しておくと、修正の手間が省けて、効率化を図ることができます。
<おまけ>
連敗中の愛媛FC、エース河原選手と新加入の玉林選手のゴールで何とか勝ちました。
けが人が多い中、粘り強く戦ってクリーンシートを作れたのも大きな収穫です。
しかし、連敗していると、「もう、ずっと勝てないんじゃないか」と思ってしまうくらい悲観的になっていけませんね。
監督や選手を見習って、私も、弱者としての立場を忘れず、敗戦であっても、常に前を向いて(将来の糧になる材料を探すように)ゲームを見つめられる、したたかさが必要だと感じました。