記事の詳細
グーグルスプレッドシートで特定のシートのみ共有させたい!IMPORTRANGEを使用し共有する方法
こんにちは。
今日はGoogleスプレッドシートネタです。
最近インクループでは、Googleスプレッドシートを使う事が多くなってきています。
以前は「Excelの方が使いやすい」と思っていましたが、スプレッドシートの割合が高くなってきました。
なぜ、Googleスプレッドシートを使うことが多くなってきたか、というと…
共有が簡単!
Excelでも共有はできますが、特定のシートのみの共有はかなりめんどくさいです。
共有機能において「スプレッドシートの1番の強みなのではないか」と個人的に思っています。
Excelの方が使いやすいと思うところもまだまだありますけれど、Excelの機能がそのままスプレッドシートでできたら、Googleスプレッドシートに移行するのではないでしょうか。
「えっ!?…スプレッドシートってこんなことできるの!!」
という機能なので、覚えておくとよいと思います。
今回のブログの見出しはコチラです!
Excelとスプレッドシートの違い
簡単にExcelとスプレッドシートの違いです。
大きく異なるのは、赤枠で囲っています「URL」があります。
スプレッドシートはネットワーク上で管理されます。
※今回このURLはキーワードになります。
このURLがあるから今回のテクニックが使えます。
Excelは有料ですが、スプレッドシートはGoogleアカウント(無料)を持っていれば誰でも使用できます。
スプレッドシートでシートのみ共有するための準備
それでは本題のシートのみの共有方法です。
準備するものは2つのスプレッドシートです。
- 共有したいシート
- 共有する用のスプレッドシート(別ファイル)
そして、この関数を使います。
IMPORTRANGE()
イメージとしては下図のような感じです。
「別のファイルに「共有してもいいシート」の情報を送る」
です。
※2018年6月11日追記
2018年6月10日までは男性側の矢印が「編集」となっておりました。
「IMPORTRANGE」から情報を引っ張ってきている部分はあくまで、共有してもいいシートを参照していますので編集はできません。
「IMPORTRANGE」で参照している場所以外は編集が可能となりますので、一部編集可という表記に修正してあります。
一部編集可につきましては、このあとに「IMPORTRANGEで指定していない部分は編集する事ができる。」で加筆していますので、ご参照くださいませ。
たぬ様コメントありがとうございました。
誤解を招く表現となっており申し訳ございませんでした。
それでは一つずつ説明をしていきます。
今回は自分がスプレッドシートで家計簿をつけているので、家計簿形式で説明します。
まず下図のように、「共有してもいいシート」を作成しておきます。
※もちろんシート名はなんでも良いです。
まず、「共有したくないシート」ですが、こちらは色々な情報が入っているシートになります。
そしてもう一つのシート「共有してもいい」シートは下図のようにします。
共有したい部分だけ記載しておきます。
へそくりは隠しておきたいので、「共有してもいいシート」では「へそくり」を除外して記入しておきます。
これで共有の準備が整いましたので、もう一つ別のファイルを作成しておきます。
このファイルが、共有用のファイルになります。
IMPORTRANGEを使ってシートを共有する
共有用のファイルに下記関数を記載します。
スプレッドシートのURLではhttps:~editまでのURLをコピーします。
,(カンマ)で区切り次に共有したいシートを記載します。
“シート名!セル範囲”です。
実際に入力すると下記のような感じになります。
入力する際の注意点としては、URLも範囲の文字列それぞれ「””」(ダブルクォーテーション)で囲みます。
※罫線や背景色などはリセットされてしまうので、必要であれば再設定をして下さい。
IMPORTRANGEで指定していない部分は編集する事ができる。
先ほど「スプレッドシートでシートのみ共有するための準備」にある図で「一部編集可」と記載を致しましたが、その説明を致します。
今回共有するシートを”共有してもいい!A1:E2″と指定しています。
共有用ファイルはA1にIMPORTRANGEしていますので、A1:E2の範囲が「共有してもいいシート」から参照します。
A1:E2の範囲以外のところは編集が可能となります。
下図は例です。
IMPORTRANGEで情報を参照しているセルA1:E2は編集ができません。
A1:E2以外(オレンジ色)の部分は編集可能となります。
IMPORTRANGEから参照した値を計算する事も可能です。
今回はたまたま「共有してもいいシート」も「共有用ファイル」もA1から始まっていましたが、IMPORTRANGEはセルをA1に合わせなくても使う事ができます。
その際は、編集可能場所も変わりますので、ご注意下さいませ。
下図はB1でIMPORTRANGEをした場合になります。
開始セルが変りますと編集可能部分も変わります。
うまく使えると本当に便利ですね。
IMPORTRANGEの結果が「#REF!」になってしまう人は「アクセス許可」を忘れていない?
下図のように「#REF!」になってしまった人は「アクセス許可」をしてあげましょう!
#REF!のセルにカーソルをあてると、吹き出しが出てきます。
そして、「アクセス許可」ボタンをクリックしてあげれば、共有できるようになると思います。
おわりに
いかがでしたでしょうか。
ExcelにはExcelのよさがあり、スプレッドシートにはスプレッドシートの良さがあります。
上手に使い分けるとより、かなり便利になります。
次回は少し上級のQUERYとの組み合わせた共有方法です。
見せたくないレコードを予め表示しないようにする事ができます。
少しだけ式が複雑ですが、かなり便利ですよ!
下記リンクからQUERYとIMPORTRANGEを組み合わせた共有方法です。
よろしければこちらもご覧くださいませ!
それではまたインクループのブログでお待ちしております。
コメント
この記事へのトラックバックはありません。
田中さん、こんにちは
スプレッドシートである特定のシートだけ共有したいなと思って、この記事にたどり着きました。
1つだけ質問させてください。
—————————-
IMPORTRANGEを使って、共有用のファイルを作成するのはわかりました。
A:元ファイル
B:共有用シート
しかし、A→BにIMPORTRANGEした場合、その範囲は閲覧は出来ますが、編集できませんよね。(※IMPORTRANGEによって元データの値が常に更新されるため)
閲覧者に誤解を与えてしまうと思うので、画像の修正をお願いします。
もし、IMPORTRANGEを使って、共有した範囲も編集できるようであればご教示ください。
—————————-
以上、よろしくお願いします。
たぬ様
初めまして
インクループ株式会社の田中です。
ブログにコメントを頂きましてありがとうございます。
また、誤解を招く表記となってしまっており申し訳ございませんでした。
たぬ様がおっしゃるとおり、IMPORTRANGEで参照している部分は編集する事ができません。
編集できる場所としてはIMPORTRANGEで参照していない部分が編集できるのですが、表記上シート全体を編集できるように見えるので表現の仕方が不適切でした。
今回の場合参照元のセルA1:E2の範囲、5(W)×2(H)のセル分以外のセルは編集する事ができますので、
一部編集可という表記に修正させて頂きました。
コメントを頂きありがとうございました!
また、弊社ブログにお立ち寄りくださいませ!
これってセルのURLからたどってデータ見れますよね?
セキュリティ的には使えない技という解釈で大丈夫でしょうか?
初めまして
この記事を書かせていただきました田中と申します。
コメントいただきましてありがとうございます。
いただきましたコメントに回答させていただきます。
まずは、セキュリティ的にどうなのかというところですが
スプレッドシートだけで見るとセキュリティ的にも使える技と個人的には思います。
その理由を下記に記載いたします。
ファイルのアクセス権限を持っていないアカウントの場合、URLから直接アクセスしてもデータを見る事はできません。
アクセス権限の要求のページが表示されるかと思います。
アクセス権限を持っている人(ここではファイル作成者になるかと思いますが)この方からのアクセス許可が必要になります。
ですので、セキュリティ的に大丈夫かと思います。
しかし、URLを見られたくないという事もあります。
URLを見せない方法があります。
Google のスプレッドシートにも「シート保護機能」が存在します。
IMPORTRANGEを入力したセルの行または列、その両方を非表示にして、
シート保護をする事で、セキュリティ的に保つことができるかと思います。
インターネットブラウザのシークレットモードなどを試しながら実際に外部からどのように見えるのか
テストしながら行うと良いです。
田中様、はじめまして。
私が躓いてる問題の解決に一番近しい記事が田中様の記事でした。
非常に有益な情報をありがとうございます。
ただ、それでも問題解決には至らなかったので何点か質問をさせてください。
現状の問題を説明させていただくと、職場の報告用フォーマットをスプレッドシートの共有機能を使用して作成しているのですが
10人位の共有用シート(以下Aシート)に各個人の数字を反映させるためのシート(以下Bシート)を作成したのですが、
田中様の記事にある通り「!REF」の表示が出たのでアクセスの許可をクリックしBシートを反映させようとしたのですが
「権限の追加…」と表示され、時間が経っても反映されません。
田中様の記事を見ながら入力したので間違えてないとは思うのですが、私の入力が間違えてるのか、
それとも大人数の共有シートだからできないのか…
どういった原因があるのか回答をお願いできますでしょうか。
それとも
TATSU さま
初めまして
インクループ株式会社の田中と申します。
返信が遅くなりまして申し訳ございません。
ブログ記事を拝見していただきありがとうございます。
今回のご質問
>「権限の追加…」と表示され、時間が経っても反映されません。
ですが、私の方で環境を作ろうとトライしてみましたが、
「権限の追加…」という文言が表示されませんでした。
コメントを拝見しますと複数の方が利用されるという事でしたので、権限を持っていない人のアカウントなどでIMPORTRANGEなどを行ってみました。
ですが、「権限の追加…」という文言は表示されませんでした。
その後、権限の付いていないアカウントに権限を付与しますと、アクセスの許可のボタンが表示され、問題なくIMPORTRANGEを使用することができました。
コメントと同様の現象を作ることができず、これ以上は判断が難しい状況となりました。
お役に立てず誠に申し訳ございません。
10人ぐらいの共有用シートということですので、
この中のアカウントで権限が引っかかっているのではないかと思われます。
一度ファイルなどの権限を確認されると良いかと思われます。
以上となりますが、宜しくお願いいたします。