Excel のシートの保護・ブックの保護は暗号化ではない:保護したブックでもだれでも読めるもの
最終更新日:2026 年 10 月 28 日
要点:[シートの保護]と[ブックの保護]は、Excel の中で人が変えられることを制限する機能です。何も暗号化しません。値も、非表示の行と列も、非表示のシートも、非表示にした数式も、.xlsx の中にこれまでどおり保存されていて、写しを展開すればだれでも読めます。シートの保護について、Microsoft は「ワークシート レベルの保護は、セキュリティ機能として意図されたものではありません。」と書いています。ファイルを暗号化する設定は、[ファイル]>[情報]の[パスワードで暗号化]です。相手に渡さないものは、送る写しから削除してください。保護や暗号化は、その後にするものです。
この記事は、一部をロックしたり隠したりしたブックを送る人のためのものです。原価の列を隠した見積もりの表、計算のシートを保護した予算のひな形、作業用のシートを非表示にしてブックの構成をロックした報告書のような場面です。Excel の保護がそれぞれ何をするか、ファイルの中で何が読めるままか、パスワードによる暗号化がどう違うかを説明します。非表示のシートや、ブックがデータを持つほかの場所の探し方はExcel の個人情報を送る前に取り除く記事に、非表示のシートから実際に起きた漏えいの構造は非表示シートの事故の記事にあります。
「保護」と呼ばれる 3 つの別のもの
| Excel の機能 | Microsoft の説明 | ファイルの中身の暗号化 |
|---|---|---|
| [シートの保護] | 「単に、ユーザーがワークシート内でロックされたセルを変更できなくするためのものです。」 | されない |
| [ブックの保護](シート構成) | 「他のユーザーが非表示のワークシートの表示、ワークシートの追加、移動、削除、非表示、ワークシートの名前変更を行うことができないようにする」 | されない |
| [パスワードで暗号化](ファイル) | 「他のユーザーはファイルを開けなくなります。」 | される |
Microsoft のページ「Excelの保護とセキュリティ」は、3 つの段階を並べています。ファイル レベルの「ファイルの暗号化」では、パスワードを指定して Excel ファイルをロックします。ブック レベルではブックの構成をロックします。ワークシート レベルについては「ワークシート内でのユーザーの作業方法を制御できます。」と書いています。ファイルを開くパスワードと編集するパスワードは、これとは別に、読み取り専用アクセスや編集アクセスを人によって分けるときのものとして挙げています。同じページの警告は、ブックやワークシートをパスワードで保護したことを理由に大丈夫だと判断せず、機密性の高い個人情報を含むかもしれないブックを配布する前によく考えるよう求めています。
シートの保護が止めるもの、止めないもの
Microsoft のページ「ワークシートを保護する」は、シートの保護を、他のユーザーが「誤って、または意図的にワークシート内のデータを変更、移動、または削除できないようにする」ためのものと説明し、続く「重要」の欄にこう書いています。「ワークシート レベルの保護は、セキュリティ機能として意図されたものではありません。 単に、ユーザーがワークシート内でロックされたセルを変更できなくするためのものです。 ワークシートを保護することは、Excel ファイルまたはブックをパスワードで保護することと同じではありません。」
保護は、Excel の中で許す操作の組み合わせです。[列の書式設定]と[行の書式設定]を許さなければ、列や行を非表示にすることを含む書式設定のコマンドは Excel で使えません。セルの[保護]タブで[非表示]をオンにすると、Microsoft のページ「数式の表示と非表示を切り替える」のとおり、数式を数式バーに表示しないようにできます。どれも、保存される中身は変えません。.xlsx の中では、シートのセルは、非表示の行と列にあるものも、[非表示]にしたセルの裏の数式も、そのシートの部品(xl/worksheets/sheet1.xml など)にあり、文字列はたいてい xl/sharedStrings.xml に、どちらも平文の XML で入っています。保護をかけると、シートに sheetProtection という要素が 1 つ加わり、許す操作と、パスワードを付けたならその値から作ったハッシュが記録されます。
ファイル形式の規格 ISO/IEC 29500 は、Microsoft の Open XML のドキュメントの workbookProtection のページに引かれている注で、「ワークシートまたはブック要素の保護をファイル のセキュリティと混同しないでください。」と書き、「悪意のある変更からブックを保護することはできません。」と続けています。計算を見せないために数式を非表示にしているなら、名前の管理と数式に残る社内の呼び名の記事も見てください。
ブックの保護をしても、非表示のシートはファイルに残る
Microsoft のページ「ブックを保護する」は、「他のユーザーが非表示のワークシートの表示、ワークシートの追加、移動、削除、非表示、ワークシートの名前変更を行うことができないようにするには、Excel のシート構成をパスワードで保護できます。」と書いています。シート構成を保護すると、シートの非表示解除を含む構成を変えるオプションは Excel で使えなくなります。同じページは、パスワードは省略できるとも書いています。「パスワードを指定しない場合、誰でもブックの保護を解除し、変更できます。」
非表示のシートも、ブックのシートの 1 つです。Microsoft のページ「ワークシートの表示と非表示を切り替える」は、「非表示のワークシート内のデータは表示されませんが、他のワークシートやブックから参照することはでき、必要に応じて非表示のワークシートを簡単に再表示できます。」と書いています。.xlsx の中では、xl/workbook.xml がすべてのシートを名前とともに並べ、非表示のシートには state="hidden" か state="veryHidden" が付いています。そのセルは、シート構成の保護とは関係なく、xl/worksheets の下の自分の部品にあります。シート構成をロックすると workbook.xml に workbookProtection という要素が記録されますが、非表示のシートを移したり暗号化したりはしません。この要素について、規格は「この保護は、このオプションの保護メカニズムをサポートしないことを選択するアプリケーションでは無視できます。」とも書いています。
[パスワードで暗号化]で変わるもの、変わらないもの
Microsoft のページ「Excel ファイルを保護する」は、[ファイル]>[情報]で[ブックの保護]から[パスワードで暗号化]を選ぶ手順を示し、「このトピックではファイル レベルの保護のみを説明し、ブックやワークシートの保護については説明しません。」と断っています。暗号化したブックは、別の種類のファイルになります。Microsoft のファイル形式の資料 [MS-OFFCRYPTO](本文は英語)によれば、暗号化した文書は、文書全体を 1 つのストリームとして OLE 複合ファイルに収めたもので、その \EncryptedPackage ストリームは、元の ECMA-376 のファイル全体を圧縮した形で持つ、暗号化したバイトの並びです。パスワードがなければ、写しを展開することも、部品を読むこともできません。
暗号化は何も取り除きません。パスワードを知っている人は、ブック全体を開きます。非表示のシートも、非表示の行と列も、コメントやプロパティも、保存したとおりです。同じページの警告は、クレジット カード番号のような機密情報を含むファイルをパスワードで保護して配布することにも注意を促し、「他のユーザーとファイルまたはパスワードを共有する場合は注意してください。」「パスワードが意図しないユーザーの手に渡るリスクは依然としてあります。」と書いています。パスワードでロックしても悪意のあるユーザーから守れるとは限らないこと、パスワードを忘れると「Microsoft はそれを回復することができない」ことも書いています。暗号化は、パスワードを知らない人からファイルを守るものです。パスワードを渡す相手から、ブックの一部を隠すものではありません。
保護の代わりにすること
- 相手に渡さないものは削除する。写しで作業します。送るつもりのない非表示のシートは削除し、非表示の行と列は隠すのではなく削除し、計算を明かす数式は値に置き換えます。そのうえで、コメント、名前の定義、ピボットのキャッシュのような、ブックがデータを持つほかの場所を確かめます(Excel の個人情報を送る前に取り除く記事)。
- 編集を防ぎたいなら、保護する。シートの保護とシート構成の保護は、人が入力する用紙やひな形に向いています。使うのはそのような場面で、データを隠すためではありません。削除を済ませてからかけます。
- 途中でファイルに鍵が要るなら、暗号化する。[パスワードで暗号化]は、パスワードを知らない人からファイルを守ります。パスワードは、ファイルとは別の経路で伝えます。
保護されたブックを確かめる
- Excel で[校閲]タブを見ます。[シート保護の解除]があるか、[ブックの保護]が強調表示されていれば、保護がかかっています。行番号や列の文字が飛んでいないかも見ます。[再表示]には頼りません。シート構成がロックされていると、シートが隠れていてもいなくても使えず、Microsoft のページ「ワークシートの表示と非表示を切り替える」のとおり、VBA コードで非表示にしたシート(xlSheetVeryHidden。この記事でいう「非常に非表示」のシート)は[再表示]では表示されません。ファイルそのものを見ます(手順 3)。
- .xlsx の写しを作り、拡張子を .zip に変えて展開します。展開できないなら、暗号化されているのかもしれません。暗号化されていれば、開くときに Excel がパスワードを求めます。
xl/workbook.xmlをテキスト エディターで開き、sheetの行を読みます。シートの名前と、state="hidden"やstate="veryHidden"の有無です。workbookProtectionがあるかも見ます。xl/worksheetsの各部品を開き、rowとcolのhidden="1"と、sheetProtectionを探します。c要素の値、fの数式、xl/sharedStrings.xmlの文字列を読みます。- そこで見つかるものは、相手も見つけられます。
ScrubDrop がすること
ScrubDrop は .xlsx をブラウザーの中で読み、ファイルはアップロードしません。シートの保護やブックの保護があっても読めます。非表示のシート(「非常に非表示」のものも含みます)を一覧にし、非表示の行と列にあるセルを、シートとセルの例を添えて数えます。保護されたシートでも同じで、ほかの扱う種類と一緒に示します。無料版は 1 回に 1 ファイルで、プロパティ、コメント、変更履歴を取り除きます。ScrubDrop Pro では、非表示のシートも取り除き、非表示の行と列のセルを空にします(行と列は非表示のまま空で残り、残るシートの数式は最後に保存された結果に置き換えます)。非表示の行や列があるシートにテーブルがあるような一部の場合は、その旨を示して断り、先に Excel で何を変えればよいかを示します。セルの[非表示]で隠した数式は探さないので、それはご自身で確かめてください。
ScrubDrop は保護の設定を変えません。sheetProtection と workbookProtection は、記録されたパスワードのハッシュも含めて、無料版でも Pro でもそのまま残すので、保護されたシートは掃除した写しでも保護されたままです。暗号化されたブックは、パスワードなしでは読めないので、メッセージを示して断ります。パスワードを外した写しを保存して確かめ、必要なら掃除した結果を暗号化してください。掃除したファイルは、ScrubDrop 自身とは別のパーサーで読み直し、確認を通ったものだけを渡します。
よくある質問
保護されたシートのセルは、パスワードを知らなくても見られますか?
見られます。シートの保護が止めるのは、ロックされたセルの変更で、読むことではありません。非表示の行と列、非表示にした数式もファイルにあります。既定の許可のままなら、保護中の Excel の画面では行と列を再表示したり数式バーで数式を見たりできませんが、値はコピーや別のブックからの参照で取り出せ、中身は .xlsx のシートの部品にあり、写しを展開すればだれでも読めます。
ブックの保護をすれば、非表示のシートを読まれずに済みますか?
済みません。シート構成をロックすると非表示の解除は使えなくなりますが、非表示のシートはデータとともにファイルにあり、workbook.xml に名前が並び、自分の部品に保存されています。相手に渡さないシートは、送る写しから削除してください。
[パスワードで暗号化]で、ブックの一部だけを見せないようにできますか?
できません。[ファイル]>[情報]>[ブックの保護]の[パスワードで暗号化]は、ファイル全体を暗号化します。Microsoft はファイルの暗号化を、他のユーザーがファイルを開けなくなるものと説明しています。パスワードを知っている人には、非表示のシートを含めて中のすべてが見えるので、渡さないものは暗号化の前に削除してください。
出典:このページからリンクした Microsoft のページは 2026 年 10 月 28 日に確認しました。ScrubDrop は Microsoft と提携していません。
保護したブックに何が残っているかを確かめてください。ブラウザーの中で動き、アップロードしません。無料版は 1 回に 1 ファイルで、非表示のシート・行・列を一覧にし、プロパティ・コメント・変更履歴を取り除きます。ファイルを確認