実務で使えるExcel入門セミナー 「IF関数」のエラーメッセージと「シートの保護」で、入力ミスを防ぎましょう

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、エース河原選手と新加入の玉林選手のゴールで何とか勝ちました。 
けが人が多い中、粘り強く戦ってクリーンシートを作れたのも大きな収穫です。 
しかし、連敗していると、「もう、ずっと勝てないんじゃないか」と思ってしまうくらい悲観的になっていけませんね。 
監督や選手を見習って、私も、弱者としての立場を忘れず、敗戦であっても、常に前を向いて(将来の糧になる材料を探すように)ゲームを見つめられる、したたかさが必要だと感じました。