IMPORTRANGE関数で別シートのタブを隠す話といたちごっこ

どうもクソブログです
PSO2やってる時に思ってた事があって今回はそれについて書こうかと思いましての投稿です

IMPORTRANGE関数で固定シートを読み込む話

この話を書こうと思った経緯説明なんですが
自分がまだPSO2をバリバリ現役でプレイしていた頃(といっても5年近く前の話になるんですが)
ゲームの固定のスケジュールやクエストの攻略法をスプレッドシートで管理共有するのが主流でした

ただPSO2というゲームは固定と言ってもマルチ全員を完全固定で回すのは難しく
Twitter等で外部募集を行いメンバー補充しつつの固定という形を取る事が多かったです

でそこで登場してくるのがIMPORTRANGE関数

本来のシートには固定メンバーのみで共有したいタブが有り
それを回避する為にIMPORTRANGE関数を用いて
本来のシートを隠すという手段が取られているケースがよくありました

IMPORTRANGE関数を用いて上画像のシートを読み込む事で
見せられないよタブの存在を隠す事が出来るという例です

IMPORTRANGEは反映まで少しラグがある事以外 非常に便利なので良い…ですが
これだと隠せて居ないという話を次から書いていきます

いたちごっこ編

そもそもセルを隠さない

分かりやすい様にデモシートを用意しました

https://docs.google.com/spreadsheets/d/1jmn6DCflTIGWTxGOHIj3BZU8GzcKmz8fKIoMgOcLGIY

今回のデモシートの場合 A1セルにIMPORTRANGE関数がそのまま入っているのが確認出来ますね
というわけでここからそのままURLにアクセスする事で見せられないよタブに到達出来てしまう…という訳です

とはいえここまで杜撰な作りをしているシートは早々無く
あったとしても見る価値の低いシートばかりなのであまり見る意味はありませんでした

次項からはいたちごっこの様子を書いていきます

行を非表示

①の様な杜撰なスプレッドシートから少しだけ頭の良くなったシートの話です

ケース①と何が変わったのかと言いますと
1行目を非表示にする事でIMPORTRANGEが隠された形となりました

けれどこのケース クリックするだけで展開出来るので
行を隠す事自体はあまり有効ではありませんでした

編集権限の剥奪

流石に①②のケースは想定してたって人が作りやすい③のシートの話です
今回も分かりやすい様にデモを用意しました

https://docs.google.com/spreadsheets/d/1O-Hh0Jvr1KZL7QvmLv20b0EujBYK4d6bbuzG4Fd5Qpc

だ っ た ら 編 集 権 限 消 し て や る よ ( •᷄ὤ•᷅ )

編集権限が消えた事で1行目が展開出来なくなったのが③
これはネタ抜きでそこそこ見た覚えがあります

ただこれの突破方法は容易でコピーを作るだけで解決します

作成されたコピーの編集権限はコピーを行った側にあるので
コピー後のファイルにて行の展開をする事で参照出来てしまう訳ですね

コピーの禁止

ここまで徹底的にやってるシートは1度しか見た事ないですがありました

https://docs.google.com/spreadsheets/d/1H1Ih4RIBAps_kPj5V5U-7OL_KLtVp7XQOym4nzb6K28

③の手法ではコピーで突破されたのでシート側でコピーを禁止します
禁止されると閲覧側はコピーの欄がグレーアウトして出来なくなります

この例への対策はブラウザの開発者ツールを使います(Chromeの場合 Ctrl + Shift + i )

Elementsのタブを開きCtrl + Fキーで検索窓を出しIMPORTRANGEを検索する事で
参照元らしきURLを探し出す事が可能となっています

これ以上の対策は無理なんじゃないかなと思うし見たことがないので今回は終わりにします

さいごに

という訳でなんですが
IMPORTRANGE関数を用いて他シートの内容を隠すのは無理なんじゃないかと私は思います

どうしてもやりたいのであれば閲覧権限を見られたくないシートに貼るか
何かしらの手段でシートに直接書き込みを行うスプリクト用意するかなりになるんじゃないでしょうか

自分はこの方法で他所の固定のデータややり方をこっそり見て気持ちよくなっていました事を
この場を借りて懺悔しようと思い投稿しました IMPORTRANGE万歳!