
エクセルファイルって便利ですよね。「脱Excel」なんて言葉もたまに聞きますが、エクセルは仕事には無くてはならないツールの1つだと思います。
さて、エクセル自体は表計算ソフトではありますが、なんと言っても使えるのは、当たり前に使っている「シート」の機能ではないでしょうか。
シートは複数枚定義できますので、目的別にシートを分けることで、データを見やすく整理することができるようになります。シートが無ければエクセルはここまで使われることは無かったと思います。
さて、このエクセルですが、たまーにこんな相談をされることがあります。
シートが消えた!ちゃんと保存したはずなのに!!
今までの時間が・・・何とかならない??
保存してればデータが消えるわけないでしょと思いつつそのファイルを見てみると・・・
確かに色々なシートがあったはずが、1シートのみになっているようでした。
エクセルってシートが勝手に消えるんですか??
ファイルを保存したのにデータが消えるってそんなわけないだろうと思いつつファイルを見てみると・・・これは確かに消えるわけだ!ということがすぐにわかりました。
そこで今回は、エクセルでファイル保存後に再度開くとシートが消えた場合の確認ポイントをご紹介します。
エクセルは保存すればその状態が保たれますが、ある条件の場合は他のシートの情報が消えてしまいます。
このような現象が発生した際には、是非以下でご紹介する部分を確認し、今後は大切なデータ+費やした労力が無駄にならないように気をつけましょう。
この記事の目次
シートが勝手に消えた原因
なぜファイルを保存したにもかかわらずシートが消えたのか?
それは、エクセルで開いていたファイルがCSVファイルだからです。
ファイルを保存後にシートが勝手に消えるケースのほとんどは、エクセルでCSVファイルを開いて操作しているためです。
CSVファイルとは?
CSVファイルって何という方のために説明すると、CSVファイルとは次のようなファイルを指しています。

テキスト形式(文字データ)のファイルで、項目がカンマ( , )区切りとなっているものをCSVファイルと呼んでいます。拡張子は.csvとなっています。
上記はテキストエディタでCSVファイルの中身を表示した場合なので、もしかすると普段使用しているというイメージがないかもしれません。そのような方の場合は、普段は以下のようにファイルを開いて見ていることが多いかと思います。

「なんだ、エクセルじゃん」
と思った方、これはエクセルファイルではありません。
CSVファイルをエクセルで開いている
というのが正しい表現です。
CSVファイルなのかExcelファイルなのかはファイルの拡張子を見ればわかりますが、Windows10の標準ではファイルの拡張子は表示されないため分からないかもしれません。そのような場合はファイルの拡張子を見てみましょう。

似たようなアイコンですが、CSVファイルのほうには「a,」のような文字が入っています。
「シートが消えた」という場合、そのファイルは間違いなくCSVファイルになっていると思いますので、まずはファイルの種類を確認してみましょう。
ExcelファイルとCSVファイルの違い
エクセルファイルとCSVファイルのざっくりな違いは次の通りです。
エクセルファイル | CSVファイル | |
---|---|---|
ファイルの拡張子 | xls、xlsx | .csv |
ファイルの形式 | バイナリファイル | テキストファイル |
シートの有無 | あり | なし(シートの概念は無い) |
エクセルでファイルを開けるか | 開ける | 同左 |
テキストエディタでファイルを開けるか | 開ける(中身は読めない) | 同左 |
エクセルで開いた際の操作 | エクセルの機能(関数、色付け等)が使える | 同左 |
覚えておきたいのは
CSVファイルはテキスト(文字)データのみ保持できる
という点です。
CSVファイルをエクセルで開いた際の動き
CSVファイルをエクセルで開いて修正&保存する場合、色々と注意が必要です。
開くとエクセルと同じように関数やセルの書式設定が使える
CSVファイルはエクセルで開けます。しかも、エクセルと同じように関数やセルの書式設定(色付けなど)も可能です。
例えばCSVファイルをエクセルで開くとこのようになりますが、

ここにセルの色を付けたり、数式を設定したりできます(この例ではA7セルに対して、背景色と数式を設定しています)

つまり、エクセルでCSVファイルを開いても、エクセルの機能をそのまま使用できます。
ただし、後述する保存と開いて閉じるという操作時には注意が必要です。
保存はそのままできる
CSVファイルをエクセルで開いて保存ボタンをクリックすると、そのままファイルを保存することができます。
ただし、CSVファイルの保存時には次のように確認ダイアログが表示されます。

CSV(カンマ区切り)として保存する場合、ブックの一部の機能が失われる可能性があります。
この形式でブックを保存しますか?
メッセージが出る=重要なこと、なのですが、大抵はこのメッセージを無視することが多いです。
このまま「はい」をクリックすると、CSVファイルにデータが保存されます。
ただし・・・メッセージにある通り、ブックの一部の機能が失われます。
ブックの一部の機能とは何か?それは、ファイルを閉じて開きなおせばわかります。
ファイルを閉じて再度開くと色々消える!
では、次のCSVファイルを例に、ファイルを保存→閉じる→開くということを行ってみたいと思います。
まず、サンプルとしてCSVファイルをエクセルで開き、A7とA8セルにそれぞれ数式と背景色を設定してみました。

A7セルには「="aaaaa"&2」、A8セルには「="00000001"」という数式を設定しています。
このファイルを保存します(ダイアログでは「はい」を押します)

ファイルを保存後、エクセルの右上の×ボタンをクリックします。

×ボタンをクリックすると再度次のようにダイアログが表示されますが、ここではすでに保存済みのため「いいえ」を押します。

CSVファイルをエクセルで開いている状態で×ボタンを押すと、上記の確認ダイアログが必ず表示されます。
×ボタンをクリックする前にファイルを保存していたとしても表示されるのですが、保存済みであればここで再度保存処理を行わなくても大丈夫です。
閉じたCSVファイルを開いて見ると・・・このようになっています。

保存前と違って見えているのが分かると思います。
CSVファイルをエクセルで開き編集後に保存した場合はブックの一部の機能が失われますが、次のように覚えておけば大体のケースで応用が利きます。
- 数式は保存されない
- セルの書式(背景色、文字の大きさ等)は保存されない
- 保存処理時にアクティブになっているシートの情報が保存される
CSVファイルをエクセルで保存時の注意点
数式は保存されない
エクセルで開いていた際に、セルに「=A1+A2」のような数式を設定していたとしても、CSVファイルには数式は保存されません。
数式の代わりに、計算結果としての値が保存されます。
例えば先述の例ではA7セルに「="aaaaa"&2」という数式を設定していましたが、保存処理時にCSVファイルに書き込まれるのは計算結果である「aaaaa2」という値です。

なので、CSVファイルに対して数式を入れて表を作りそのままCSV形式で保存する、といった操作は大変危険です。
ファイルを開いている間は数式が表示されていますが、ファイルを閉じて再度開いた際には数式が消えて値のみの情報になっています。
「今まで頑張って作った数式が消えてしまった!」という、苦労が水の泡になるような結果になりかねません。
よって、CSVファイルに対して数式を使って処理するような場合は必ずExcel形式で保存しなおす癖をつけると良いでしょう。
セルの書式(背景色、文字の大きさ等)は保存されない
関数と同様に、セルの書式設定も保存されません。
セルの書式は色々とありますが、主に次のような情報は消えると覚えておけばよいと思います。
- フォント(フォントの種類、サイズ、スタイル(標準、斜体、太字)、下線、文字色)
- 罫線(線のスタイル、色)
- 背景色
- ロック
- 表示形式
そのため、CSVファイルを開いて綺麗な表を作る→保存する→開く を行うと、表を構成する枠線・色・文字の大きさが無くなって単に文字だけ表示されることになります。
表の作り直しが必要になりますので、このケースの場合もCSVファイルを一旦エクセル形式で保存しなおした後に表を作ると良いでしょう。
保存処理時にアクティブになっているシートの情報が保存される
CSVファイルをExcelで開いた際に一番見落としがちなのが、
アクティブになっているシートの情報が保存される
という点です。
言い換えると、
複数シートがあっても保存されるのは1シート分のみ
ということです。
どういうことか、具体例を出してみたいと思います。
まず、CSVファイルをエクセルで開きます。すると、シートは1つ分のみ表示されるのが分かると思います。(この例ではtestというシートのみが存在します)

ここで、シートを1つ追加してみます。
するとこのように「sheet1」が追加された状態となります。(わかりやすいようにA1セルに文字を入れています。)

Sheet1が見えている状態でファイルを保存し、エクセルを閉じ、再度CSVファイルを開きます。
すると、次のようにシートは1つのみとなり、表示されているのはファイルを閉じる前にアクティブになっていた「Sheet1」の情報となっているのがお分かりになるかと思います。

これが、アクティブになっているシートの情報が保存される ということです。
少しわかりづらいのですが、CSVファイルをエクセルで開いた際のシート名はファイル名とイコールとなっています。この例では、text.csvというファイルをエクセルで開いたので、シート名がtestと表示されています。
つまり、CSVファイルをエクセルで開いて色々なシートを追加して保存、ということを行った場合、1つのシートしか保存されません。複数のシートを作る=データをシートごとに分けて作っていると考えられますが、CSVファイルで保存するとその他シートが消えてしまうため、各シートで行っていた操作がほとんど無駄になります。
よって、このケースでもシートを増やす場合はExcel形式でファイルを保存してから行うのが良いでしょう。
まとめ
エクセルファイルを保存後にシートが消えてしまった場合の確認ポイントをご紹介しました。
ポイントはそのファイルがCSVファイルかどうかです。
CSVファイルをエクセルで開いて保存した場合、書式、関数と合わせて表示中のシート以外はデータが消えます。
CSVファイルを編集する場合、一度Excel形式で保存する、というひと手間を行って、データを安全に保存するようにしましょう。