スプレッドシートの共有と保護:権限・範囲の保護・プルダウン

公開 書いた人 大林 諒

Googleスプレッドシートの台帳は、作った人だけが触っているうちは壊れません。壊れるのは、受付や講師など何人かで触りはじめてからです。誰かが式を消す、プルダウンに無い値を手で打つ、見せるつもりのなかった月謝の列を講師が見てしまう、といったことが起きます。この記事では、スプレッドシートを社内で共有するときの権限の選び方、閲覧者にダウンロードやコピーをさせない設定、シートと範囲の保護、プルダウンでの入力のそろえ方、条件付き書式、変更履歴と版の復元を、順番に設定していきます。例は全記事で共通の、スタッフ6名ほどの予約制の小さな料理教室「サンプル料理教室」で、ゴールは「講師は出席欄だけ編集できて、ほかは触れない」状態です。

この記事の内容
  1. 先に決めること
  2. 権限と保護の一覧
  3. 手順1:共有の権限を決める
  4. 手順2:シートと範囲を保護する
  5. 手順3:プルダウンで入力をそろえる
  6. 手順4:条件付き書式で見落としを減らす
  7. 手順5:変更履歴と版の復元
  8. 応用:講師用の出席表を別ファイルにする
  9. できないことと、その代わり
  10. よく詰まるところ
  11. 次にやること

先に決めること

設定の手順に入る前に、次の3つを決めておかないと、保護をかけたあとで作り直しになります。

1つ目は、見せたくないデータを同じファイルに置くかどうかです。ここがいちばん大事です。スプレッドシートの保護は、ヘルプでも「セキュリティ対策ではありません」と書かれています。保護は「うっかり書き換えるのを防ぐ」ための機能で、「見せない」ための機能ではありません。編集者も閲覧者も、保護したシートの中身は見えます。シートを非表示にしても、編集者は表示に戻せますし、閲覧者も非表示のシートの中身にアクセスできます。サンプル料理教室では、月謝と口座の情報は講師に見せたくないので、講師と共有するファイルには入れません。会員台帳と月謝は代表と経理だけのファイルに置き、講師が使う出席表は別のファイルにして、会員の名前だけをIMPORTRANGEで取り込みます。

2つ目は、誰に何の権限を渡すかを、人ではなくグループで決めることです。講師が入れ替わるたびにファイルごとの共有をやり直すと、外し忘れが出ます。Googleグループで「講師」「受付」のグループを作り、ファイルはグループに共有します。講師が辞めたらグループから外すだけで、全部のファイルから外れます。

3つ目は、ファイルの置き場所です。マイドライブに置いたファイルは、作った人がオーナーです。その人のアカウントを消すと、ファイルの扱いで困ります。業務の台帳は共有ドライブに置き、共有ドライブのメンバーとして権限を管理します。共有ドライブの中のファイルは、ファイル単位の共有より、フォルダや共有ドライブ側の権限が先に効く場面があります。

権限と保護の一覧

最初に、この記事で触る設定を全部並べます。

設定どこで何が防げる防げないこと
共有の権限(閲覧者・閲覧者(コメント可)・編集者)「共有」ボタンファイルを開ける人とできることを決める編集者は全部のシートを見られる
ダウンロード・コピー・印刷の制限「共有」の設定アイコン制限した役割の人がファイルを落とす・複製する・印刷する画面を見ること自体
編集者による共有の禁止「共有」の設定アイコン編集者が勝手に他の人へ共有する共有フォルダの権限が優先される場合
シート・範囲の保護「データ」→「シートと範囲を保護」指定した人以外の編集、または編集前の警告見ること、コピーしたファイルでの編集
プルダウン(データの入力規則)「挿入」→「プルダウン」一覧に無い値の入力値の貼り付けで規則が消えること
条件付き書式「表示形式」→「条件付き書式」入れ忘れや期限切れの見落とし入力そのもの
変更履歴・版の復元右上の最終編集アイコン壊れたあとに元に戻す履歴が見られるのは編集者だけ

手順1:共有の権限を決める

権限の違い

共有の相手には、3つの役割のどれかを付けます。

役割できることできないことサンプル料理教室で付ける相手
閲覧者開いて見る編集、コメント、共有当日の予定を見るだけのアルバイト
閲覧者(コメント可)見る、コメントと提案を付ける編集、共有内容の確認だけ頼む外部の税理士
編集者編集、削除、移動、新しいファイルの追加。既定では権限の変更と共有もできる既定ではなし講師、受付、代表

閲覧者と閲覧者(コメント可)は、ファイルを他の人に直接共有できません。共有画面から相手を追加すると、オーナーへのリクエストを手伝う形になります。

1つのファイルを共有できるのは、最大600件のメールアドレスまでです。グループで共有すれば、この上限に当たることはまずありません。

共有する(パソコン)

  1. 出席表のファイルを開きます。
  2. 右上の「共有」をクリックします。
  3. 「ユーザー、グループ、カレンダーの予定を追加」の欄に、講師のグループのメールアドレス(teachers@sample-cooking.example)を入力します。
  4. 右側の役割を「編集者」にします。
  5. 「通知」のチェックを、知らせたいならオン、黙って共有するならオフにします。
  6. 「送信」をクリックします。
共有ダイアログでグループのアドレスを入れ、役割を「編集者」にしたところ
共有ダイアログでグループのアドレスを入れ、役割を「編集者」にしたところ

共有する(スマホのアプリ)

  1. スプレッドシートのアプリかドライブのアプリを開きます。
  2. 共有したいファイルの横のその他アイコン(縦の3つの点)をタップします。
  3. 共有アイコンをタップします。
  4. 相手のメールアドレスかグループのアドレスを入力します。
  5. 役割を選んで、送信します。

スマホからは、急ぎで人を追加するくらいにしておきます。ダウンロードの制限や保護の設定は、パソコンでまとめてやるほうが確実です。

一般的なアクセスを「制限付き」にする

共有ダイアログの下にある「一般的なアクセス」は、「制限付き」「組織」「リンクを知っている全員」から選びます。「リンクを知っている全員」は、Googleアカウントにログインしていなくてもリンクだけで開けます。会員の名前や電話番号が入った台帳では、これを選ばないでおきます。管理コンソールで外部共有を制限している会社でも、どこまで選べるかは管理者の設定しだいなので、台帳のファイルは「制限付き」にして、人やグループを足す運用にします。

外部の税理士のように期間を決めて見せたい相手には、有効期限を付けられます。共有ダイアログで相手の名前の横の下向き矢印をクリックし、「有効期限を追加」を選び、1年以内の日付を選んで保存します。

閲覧者にダウンロード・コピー・印刷をさせない

閲覧者でも、何も設定しなければファイルをダウンロードしたり、コピーを作ったりできます。コピーを作られると、そのコピーは相手のものになり、こちらから消せません。

  1. 「共有」をクリックします。
  2. 共有ダイアログの右上の設定アイコン(歯車)をクリックします。
  3. 「ダウンロード、コピー、印刷、アクセスが可能なユーザー」の中で、「閲覧者」と「閲覧者(コメント可)」のチェックを外します。
  4. 同じ画面の「編集者がアクセス許可を変更して共有できるようにする」のチェックも外します。
  5. 戻る矢印で共有ダイアログに戻り、「完了」をクリックします。

手順4は、講師が気をきかせて出席表を外の人に共有してしまうのを防ぎます。ファイルが共有フォルダの中にある場合は、フォルダの権限がこの設定より優先されます。

この制限をかけても、画面に出ている内容は読めますし、画面を撮られることまでは防げません。見せてはいけないデータは、手順の前の「先に決めること」のとおり、共有するファイルに入れないのが確実です。

共有の設定アイコンを開き、閲覧者のダウンロード・コピー・印刷のチェックを外したところ
共有の設定アイコンを開き、閲覧者のダウンロード・コピー・印刷のチェックを外したところ

IMPORTRANGEで取り込んでいる元のファイルにこの制限をかけると、新しく書いたIMPORTRANGEの式ではデータを取り出せなくなります。制限をかける前から使っている式は、そのまま動きます。台帳の取り込みの仕組みを作ってから制限をかける順番にします。

手順2:シートと範囲を保護する

サンプル料理教室の出席表は、次の形です。

列中身誰が入力するか
Aレッスン日受付
Bレッスン名受付
C会員ID受付
D氏名式(会員台帳から引く)
E出欠講師
F講師メモ講師

講師はE列とF列だけを編集でき、A〜D列と見出し行は受付と代表だけが編集できる状態にします。

シート全体を保護して、講師の列だけ外す

  1. 出席表のファイルを開き、「データ」→「シートと範囲を保護」をクリックします。
  2. 右側にパネルが出るので、「シート / 範囲を追加」をクリックします。
  3. 「説明を入力」に「講師は出欠と講師メモだけ」と入れます。
  4. 「シート」を選び、プルダウンで「出席」シートを選びます。
  5. 「特定のセルを除く」にチェックを入れ、E2:F を入力します。
  6. 「権限を設定」をクリックします。
  7. 「この範囲を編集できるユーザーを制限する」を選び、プルダウンで「カスタム」を選びます。
  8. 編集できる人に、受付のグループと代表のアドレスを入れます。講師のグループは入れません。
  9. 「完了」をクリックします。

これで、講師がA〜D列や見出しを触ろうとすると、編集できない旨のメッセージが出て止まります。E2以下とF2以下は、講師もふつうに入力できます。

「シートと範囲を保護」のパネルで「シート」を選び、「特定のセルを除く」に E2:F を入れたところ
「シートと範囲を保護」のパネルで「シート」を選び、「特定のセルを除く」に E2:F を入れたところ
「範囲の編集権限」で「カスタム」を選び、編集できるユーザーを指定しているところ
「範囲の編集権限」で「カスタム」を選び、編集できるユーザーを指定しているところ

「特定のセルを除く」は、行の途中で区切るより、列でまとめて外すほうが管理しやすいです。あとから列が増えても、除外の範囲を1か所直すだけで済みます。

範囲だけを保護する

シート全体ではなく、式の入った列だけ守りたい場合は範囲で保護します。会員台帳で、氏名を引くD列の式を誰にも消されたくない、といった場面です。

  1. 守りたい範囲(D:D)を選びます。
  2. 「データ」→「シートと範囲を保護」をクリックし、「シート / 範囲を追加」で「範囲」を選びます。選んでおいた範囲が入っていることを確かめます。
  3. 「権限を設定」をクリックします。
  4. 「この範囲を編集できるユーザーを制限する」で「自分のみ」を選びます。
  5. 「完了」をクリックします。

警告だけ出す

手順4で「この範囲を編集するときに警告を表示する」を選ぶと、編集をブロックせず、編集する前に確認のメッセージを出すだけになります。受付と代表のように、全員が編集する権限は持つべきだけれど、うっかり触ってほしくない場所(月の締めの済んだ行など)に向きます。警告は「OK」を押せば通るので、守る力は弱いです。

保護をかけられる人、外せない人

保護を設定できるのは、オーナーと、ファイルの編集権限を持つ人です。閲覧者やコメントだけの人は設定も変更もできません。オーナーの編集権限は、保護で外すことはできません。オーナーはどの保護範囲でも編集できます。

保護は、別の範囲の権限をまねることもできます。権限を設定するときに「別の範囲から権限をコピー」を選ぶと、既にある保護と同じ人を指定できます。シートを増やすたびに人を入れ直す手間が省けます。

手順3:プルダウンで入力をそろえる

出欠の列に「出席」「欠席」「振替」以外の値が入ると、集計がずれます。プルダウンで選ばせます。

選択肢を直接書く

  1. 出席シートの E2:E を選びます。
  2. 「挿入」→「プルダウン」をクリックします。
  3. 右側に「データの入力規則」のパネルが出ます。条件が「プルダウン」になっていることを確認します。
  4. 選択肢に「出席」「欠席」「振替」を1つずつ入れます。足りなければ「別のアイテムを追加」で増やします。
  5. 選択肢ごとに色を選べるので、「欠席」を赤、「振替」を黄色にします。
  6. 「詳細オプション」の「データが無効の場合」は、既定のまま(「警告を表示」にしない)にします。既定では、一覧に無い値は拒否されます。
  7. 「完了」をクリックします。

セルに @ と入力して候補から「プルダウン」を選ぶか、セルを右クリックして「プルダウン」を選んでも同じパネルが開きます。

データの入力規則のパネルで、出欠のプルダウンに3つの選択肢と色を設定したところ
データの入力規則のパネルで、出欠のプルダウンに3つの選択肢と色を設定したところ

「データが無効の場合」を「警告を表示」にすると、一覧に無い値も入力できるようになります。一覧に無い値を許すかどうかは、列ごとに決めます。出欠のように集計に使う列は既定のまま拒否、メモに近い列は「警告を表示」にします。

別のシートの一覧から選ばせる

講師の名前や会員IDのように、一覧が増えたり減ったりするものは、選択肢を直接書かず、別のシートの範囲を参照させます。

  1. 「一覧」というシートを作り、A列に講師の名前を縦に並べます(A1は見出し「講師」)。
  2. 出席シートの講師の列を選びます。
  3. 「データ」→「データの入力規則」をクリックし、「ルールを追加」をクリックします。
  4. 条件で「リストを範囲で指定」を選びます。
  5. 範囲に =一覧!$A$2:$A を入力します。
  6. 「完了」をクリックします。

一覧シートに講師を書き足すと、プルダウンの選択肢にもそのまま出ます。範囲を A2:A のように下まで開けておくと、行を足すたびに範囲を直さずに済みます。

選択肢の元の一覧から値を消しても、入力規則の条件にはその値と色が残り、編集だけできなくなります。辞めた講師の名前を一覧から消すときは、過去の行の名前がどう表示されるかを一度確かめてから消します。

表示スタイルと複数選択

「詳細オプション」の「表示スタイル」で、「チップ」「矢印」「書式なしテキスト」を選べます。行数の多い台帳では、色付きのチップより「矢印」のほうが見やすいことがあります。

1つのセルに複数の値を選ばせる「複数選択」は、表示スタイルがチップのときだけ使えます。スマホのアプリでは複数選択ができません。講師がスマホで出欠を入れる運用なら、複数選択は使わないでおきます。複数の値を入れたセルは、COUNTIFやQUERYで数えにくくなるという理由もあります。

手順4:条件付き書式で見落としを減らす

入れ忘れを色で見せます。出欠が空のまま、レッスン日を過ぎた行を赤くします。

  1. 出席シートの A2:F を選びます。
  2. 「表示形式」→「条件付き書式」をクリックします。
  3. 「セルの書式設定の条件」で「カスタム数式」を選びます。
  4. 「値または数式」に次の式を入れます。
=AND($A2<>"", $A2<TODAY(), $E2="")
  1. 「書式設定のスタイル」で塗りつぶしの色を薄い赤にします。
  2. 「完了」をクリックします。

式の $A2 の $ は列だけを固定する書き方です。列を固定して行を固定しないので、行全体が同じ条件で塗られます。

退会した会員の行を灰色にするなら、会員台帳で =$G2="退会" の条件付き書式を足します。条件付き書式の数式で別のシートを参照するときは、'シート名'!A1 の形はそのままでは使えないので、INDIRECTを使います。

条件付き書式のパネルでカスタム数式を入れ、出欠の空欄の行が赤くなっているところ
条件付き書式のパネルでカスタム数式を入れ、出欠の空欄の行が赤くなっているところ

手順5:変更履歴と版の復元

誰かが式を消した、行を並べ替えて別の人の出欠になった、というときに戻す方法です。

誰がいつ直したかを見る

  1. 右上の最終編集アイコン(時計の形)にカーソルを合わせると、最終更新者と日時が出ます。
  2. セル単位で見たいときは、セルを右クリックして「編集履歴を表示」をクリックします。誰が、いつ、何から何に変えたかが出ます。

セルの編集履歴には、行や列の追加と削除、書式の変更、数式による値の変化は出ない場合があります。式で引いている氏名の列の履歴を見ても何も出ないのはこのためです。

以前の版に戻す

  1. 右上の最終編集アイコンをクリックします。
  2. 右側のパネルに版の一覧が出るので、壊れる前の日時をクリックします。
  3. スプレッドシートでは、変更の無い行は既定で隠れています。全体を見たいときは「変更されていない行を表示」をオンにします。
  4. 戻したい版で「この版を復元」をクリックし、「復元」をクリックします。
変更履歴のパネルで版を選び、「この版を復元」が出ているところ
変更履歴のパネルで版を選び、「この版を復元」が出ているところ

版を復元すると、ファイル全体がその時点に戻ります。壊れたあとに入った他の人の正しい入力も消えます。また、スプレッドシートを復元すると、復元より前のセル単位の編集履歴は消えます。一部の列だけ戻したいときは、復元せずに、版の横のその他アイコンから「コピーを作成」でその版を別のファイルとして作り、必要な列だけ元のファイルに貼り戻します。

月末の締めのように、あとで戻る目印が欲しいときは、版の横のその他アイコンから「この版に名前を付ける」で「2026年10月締め」のように名前を付けます。スプレッドシートで名前を付けられる版は15個までです。毎月付けていると1年ちょっとで埋まるので、古い名前は外していきます。

変更履歴を見られるのは編集権限のある人だけです。閲覧者には版の一覧が出ません。

応用:講師用の出席表を別ファイルにする

先に決めることの1つ目で書いたとおり、サンプル料理教室では講師に月謝を見せません。実際の形は次のとおりです。

ファイル置き場所共有中身
会員台帳共有ドライブ「会員」代表・経理だけ会員ID、氏名、連絡先、月謝、状態
出席表共有ドライブ「レッスン」講師グループ・受付グループを編集者レッスン日、会員ID、氏名、出欠、講師メモ
集計共有ドライブ「経理」代表・経理だけ出席表と会員台帳から取り込んだ月の数字

出席表の氏名は、会員台帳の会員IDと氏名の2列だけをIMPORTRANGEで「一覧」シートへ取り込み、そこから引きます。IMPORTRANGEの許可は、取り込み先の編集者全員が取り込み元のどの範囲でも読めるようになる、という強い許可です。講師が式を書き換えれば、会員台帳の月謝の列も読めてしまいます。そこで、会員台帳とは別に「会員名簿(講師用)」という、会員IDと氏名だけのファイルを経理が持ち、出席表はそちらから取り込みます。少し回りくどいですが、本番で運用していると、この分け方がいちばん事故が少ないです。

講師がスマホで出欠を入れるのが手間になってきたら、出席表をそのままAppSheetのアプリにします。アプリでは見せる列と入力できる列を画面ごとに決められるので、保護の設定に頼らずに済みます。

できないことと、その代わり

やりたいことスプレッドシートでは代わりの手
特定のシートを特定の人に見せないできない。保護しても見える、非表示は編集者が戻せるファイルを分ける
行ごとに見られる人を分ける(自分の担当分だけ見せる)できないファイルを分けるか、AppSheetで利用者ごとに絞る
画面を撮られるのを防ぐできない見せてはいけないデータを共有しない
1つ目の選択で2つ目のプルダウンの中身を変える標準の設定だけでは直接作れない補助の列を作って範囲を切り替えるか、AppSheetで作る
値の貼り付けでプルダウンや書式が消えるのを防ぐ完全には防げない「値のみ貼り付け」を周知する。保護で列ごと守る
編集の承認フロー(直したら上長の承認が要る)ないGoogleフォームで申請を受けるか、kintoneのように承認の仕組みがある道具を使う

行ごとの閲覧の制御や承認の流れが要るなら、スプレッドシートで無理に作るより、AppSheetやkintoneのほうが向いています。スプレッドシートは「信頼できる人と一緒に1枚の表を直す」道具です。

よく詰まるところ

症状原因直し方
講師が保護したはずの列を編集できてしまう講師が保護の「カスタム」の編集者に入っている。または講師のアカウントがオーナー保護の権限を開いて講師を外す。オーナーは保護で止められないので、オーナーを会社の管理用アカウントにする
保護したら講師が出欠も入れられなくなった「特定のセルを除く」に出欠の列を入れていないシートの保護を開き、E2:F を除外に足す
保護しても月謝の列が講師に見える保護は見せない機能ではない月謝は講師と共有しないファイルに移す
閲覧者がダウンロードできてしまう共有の設定アイコンでチェックを外していない「ダウンロード、コピー、印刷、アクセスが可能なユーザー」で閲覧者のチェックを外す
講師が外の人にファイルを共有した編集者は既定で共有できる「編集者がアクセス許可を変更して共有できるようにする」をオフにする
プルダウンに無い値が入っている「データが無効の場合」が「警告を表示」になっている。または値を貼り付けて規則ごと上書きされた「データが無効の場合」を既定(拒否)に戻す。貼り付けは「値のみ貼り付け」で行う
別シートの一覧を足してもプルダウンに出ない範囲を A2:A10 のように閉じている=一覧!$A$2:$A のように下を開ける
スマホで複数選択ができない複数選択はモバイルでは使えないパソコンで入れるか、複数選択をやめて列を分ける
条件付き書式で1列しか色が付かない、またはずれた行が塗られる式の $ の付け方と、選んだ範囲の開始行が合っていない範囲を2行目から選び、式も $A2 のように2行目で書く
条件付き書式で別シートを参照するとエラー別シートを直接書く形が使えないINDIRECTで参照する
変更履歴が見つからない閲覧者として開いている編集権限のある人に見てもらう
版を戻したら他の人の入力まで消えた復元はファイル全体を戻す版のコピーを作って必要な部分だけ貼り戻す
「権限が必要です」と出て開けない個人のGoogleアカウントでログインしている、または共有されていない会社のアカウントに切り替える。「アクセス権をリクエスト」でオーナーに頼む

いちばん多いのは、最初の行の「オーナーは保護で止められない」です。代表が自分のアカウントで台帳を作り、講師と同じように日々入力していると、代表だけは保護を気にせずどこでも書き換えられます。台帳の作成は共有ドライブで行い、ふだんの入力は全員が同じ条件で行う形にしておくと、保護が効いているかどうかを代表自身が確かめられます。

次にやること

あわせて読む