今回はExcelに関するちょっとした豆知識的なお話です。
Excelで新規ブックを作成したり、既存のブックで新しいシートを追加した時、シートの名前は「Sheet(数字)」という文字になっています。このシート名はユーザーが好きなように変更できることは皆さんもうご存知ですよね。
しかし、「履歴」という文字をシート名にしようとするとエラーになってしまいます。興味のある方は試しにシート名に「履歴」と入力してEnterを押してみてください。
すると、下図のようなエラーメッセージが表示されます。
「履歴」は予約語のため、シート名に使用できません。
“予約語”とは簡単に言うと、プログラミング上で既に何らかの役割が与えられている文字のことを指します。つまりこのメッセージの意味は、Excelでは「履歴」というシート名は別の事であらかじめ用途が決まっているために、ユーザー側が自由にこの言葉をシート名にできないように制御をかけているという事なんですね。
では、一体何に使われるのか?それは「変更履歴の記録」という機能です。
「変更履歴の記録」とは、シートに入力や削除などの変更が加えられた際に、いつ・誰が・何の操作を行ったのかを記録してくれるものです。詳しい使い方はここでは省きますが、変更箇所の表示方法を設定する際に「新しいシートに変更箇所一覧を作成する」にチェックを入れると・・・
自動的にブック内にシートが1枚追加され、そこに変更履歴が一覧表形式で書き出される仕組みになっています。下図は実際に書き出してみた結果例ですが、シートの名前に注目してください。ここで「履歴」という名前がExcelによって自動的につけられるのです。
Excelは同一ブック内に同じ名前のシートを複数作成することはできません。Excelにとって「履歴」というシート名は「変更履歴を書き出すためのシート」と決まっていますので、他のシートに自由に「履歴」という名前がつけられてしまうと、いざという時にシート名がバッティングしておかしな事になってしまう可能性があります。そこで(この機能を使う使わないに関わらず)”予約”という形でユーザー側の操作を制限しているわけです。
でも、「履歴」というキーワードを使ったシートを保存しておきたい場面は、特に仕事の場なんかでは結構あると思うのです。「変更履歴の記録」は使わずとも、手打ちで何らかの作業記録を残しておけば万一のトラブル時に原因を突き止めるための手掛かりにもなりますしね。
そんな時は、「履歴」に何か他の文字や数字をちょっとだけ追加してみると良いと思います。例えばそのまんま「変更履歴」という名前にしてみたり、「履歴8-1」のように日付を含めてみたり。「履歴」と完全一致していない状態にすれば問題ありませんので、色々と工夫してみてください。
※「変更履歴の記録」はMicrosoft365ではリボンのメニューからなくなっていますが、リボンのユーザー設定で「リボンにないコマンド」を探すとちゃんと存在しています。そこからリボンやクイックアクセスツールバーに引っ張り出せば普通に使うことができます。