見出し画像

Googleスプレッドシートのスライサーは 隠れフィルタビューなのさー

Googleフォームとスプレッドシートの連携テクの noteを書く予定でしたが、その前提となる機能に触れておかないと!ってことで、

今回は Googleスプレッドシートの スライサー について書きます。

※スライサーってフィルタビューと同じ?ってコメントをいただいたってのもスライサーを取り上げる理由です。

いままであまり使ってこなかったんですがw 今回色々検証してみました。

Excelのスライサーと比べ イマイチな操作感ではありますが、スライサーは フィルタビュー(フィルタ表示)に似てるけど一味違う魅力(ユニークスキル)があります。

この noteを読んだら、あなたも スライサーを使ってみたくなるかも!?

先週は Googleスプレッドシートのテーブル機能のアップデートについて書きました。




Googleスプレッドシート スライサー 11の特徴

Googleスプレッドシート のスライサー機能 11の特徴をまとめました。他のサイトでは扱わないマニアックなネタ満載ですw

流れに沿って、これらの特徴に触れていきたいと思います。

1. スライサーを使うと、独立したオブジェクト(スライサー)から データの絞り込み(フィルタ処理)ができる
2. 1つのスライサーは、1つの列を条件した絞り込みができる
3. スライサーによる絞り込みは 完全に 個人用(他の人の画面には影響しない)
4. スライサーを追加したら フィルタは使えなくなる
5. スライサーはフィルタビューと同じように 閲覧権限で共有したメンバーも利用が出来る
6. スライサーを設置していてもフィルタビューは使える。(フィルタビュー使用時は スライサーは解除される)
7. スライサーは 並び替えや 色でフィルターは出来ない
8. スライサーは フィルタ条件としたい列ごとに、それぞれ用意する必要がある
9. スライサーはピボットテーブルと連動できる
10. 別シートのスライサーは、フィルタした結果のみをグラフ、ピボットテーブルに反映できる
11. 別シートスライサー + SUBTOTAL関数で、閲覧権限でユーザー毎の表示で動的サイトのようにスプレドシートを公開できる


スライサーの基本

まず「スライサー」という言葉を初めて聞いた、聞いたことはあるけどよくわからないといった人の為に、スライサーってなに?ってところから話をしていきましょう。



スライサーってなに?

スライサーとは、フィルタ、フィルタビューと同じく 表データの絞り込みをする為の機能です。

フィルタやフィルタビューは、見出しの右の ▼ボタンで絞り込みの条件を操作をしますが、スライサーは表から 独立した図形になっているのが特徴的です。

この図形から絞り込み条件を指定することで、表内のデータ(行)を非表示にしたり表示したりフィルタ処理が出来ます。

スライサーは シートの一つ上のレイヤーにある図形(オブジェクト)なんで、位置は自由に動かせますしある程度のサイズ調整も可能。

サイズ調整はある程度は可能

さらにスライサーをコピーして増やすことも出来ます。

この

独立したオブジェクトから データの絞り込み(フィルタ処理)ができる

というのが、スライサーの特徴その1です。


スライサーの使い方

「スライサー」は、メニューの

データ > スライサーを追加

で新しく作成できます。

なにもデータがないシートでいきなりスライサーを作るのではなく、先に表形式のデータを用意した状態で表のセルを選択した状態で スライサーを追加としましょう。

スライサーを追加を選択すると、初期状態のスライサーが作成され、サイドバーにスライサー設定オプションが表示されます。

この時、表が独立したリージョンになっていて、表内のセルを選択した状態であれば、自動でスライサーのデータ範囲が表の範囲になります。

表の外のセルを選択した状態で スライサーを追加してしまうと

このように 自動でデータ範囲が入らず手間が増えてしまいます。

スライサーが作成されたら、まずは絞り込み条件とする列を選択します。

見出し名で選択する

フィルタやフィルタビューと違って、スライサーの場合は基本的には

1つのスライサーは、1つの列を条件にした絞り込みしかできません

これが特徴の2つ目です。(やろうと思えば 複数列を条件にすることは可能です。後述します。)

とりあえず今回は「商品」の列を対象としておきましょう。


サイドバー内のタブを「データ」から「カスタマイズ」に切り替えると、スライサーの見た目をカスタムできます。

といっても大したアレンジは出来ず、タイトルを変えたり、フォントやフォントサイズ、書式、色、背景色を変えるくらいです。

なぜか初期値のスライサーの色がが暗すぎるんで、背景色くらいは変えとくとよいかも。

これで完成。

スライサーでは基本的に「値でフィルタ」を使うことが多いです。

スライサーをクリックして、値でフィルタで 「ばなな」だけ選択(チェックが入った状態に)してOKを押せば、表がフィルタ処理され「ばなな」だけが表示された状態となります。

※商品の列が「ばなな」ではない列が非表示状態となる

この状態ではスライサーは 1/4 という表示になっており、ここで「商品」が4種類あるうちの1つだけ選択された状態 であることがわかります。

「値でフィルタ」でよく使うのが、「すべて選択」と「クリア」

「クリア」は、一旦全ての値の選択(チェック)を外すので、表示したいものだけ選ぶ時に使えますし、「すべて選択」は逆に全ての値を選択(チェック)した状態とするので、一部だけ除外したい時に便利です。

この辺りは フィルタやフィルタビューと一緒ですね。

フィルタは 値を選択(チェック)しただけでは 適用されず、OKボタンを押すことで確定・実行されます。(このOKボタンが画面下に隠れちゃうことも・・・)

また、スライサーは テーブルに対しても使うことができます。

スライサーを削除する際は、スライサーを選択して Delete すればOK。これは図形や画像と同じです。

これらがスライサーの基本となります。

ただ、これだけだったら単にフィルタが一部分独立してオブジェクトになっただけ・・・で終わっちゃいますよね。

スライサーの面白い特徴はここから本番です!



スライサーは 隠れフィルタビュー

URLの後ろに fvid=**** が付与される

mirがあまりスライサーという機能を使わない為、見落としていたのか?はたまた知らないうちにアップデートで変わった?のか不明ですが、

スライサーを発動したシートは fvid(フィルタビューID)が自動的に URLの後ろについたフィルタビュー状態(厳密にはフィルタビューとは少し異なる状態)となります。

フィルタビューってなに?って人は 過去noteで「フィルタビュー」の便利さについてたっぷり紹介しています。そちらをご覧ください。



スライサーを設定したシートはフィルタビュー風になる

GIF動画で動きを見てみましょう。

スライサーが挿入された瞬間、

このようにURLのシートIDの後ろに fvidが入ったことがわかります。

逆に スライサーを選択して Deleteボタンで削除すると

このように URLのfvidは削除され、フィルタビュー状態が解除されています。

ただし、このスライサーによるフィルタビュー状態は、あくまでフィルタビュー風であって 本来のフィルタビューとはちょっと違います。

本来のフィルタビューは、画像左のように 表の周りが淡い色で縁取りされ「フィルタビューがかかっている」というのが視覚的にわかるようになっています。(以前のフィルタ表示は もっと黒々しくて明確だった)

一方スライサーを入れたフィルタビュー風のシートは、一見しただけでは通常のシートと違いはわかりません。

しかし、別タブで同じシートをもう一つ開いて操作してみると、このようにスライサーでの絞り込みは自分の開いている画面だけ(開いているタブごと)の表示となっており、他の人の画面と 連動していないことがわかります。

スライサーによる絞り込みは 完全に 個人用(他の人の画面には影響しない)ということです。

スライサーの特徴のその3です。

ここで表示しているデータは、FILTER関数やQUERY関数の出力とは違って実データを絞り込んだものです。

それぞれの画面のスライサーで表示されているデータは異なっていても、データのセルの 値や フォントの編集は連動します。



スライサーは1つだけデフォルトの設定を保存できる

スライサーを設置したシートがフィルタビュー風ということは、フィルタビューの大きなメリットである

■フィルタビューのメリット
1. 共有中でも自分の表示だけ フィルタがかけられる
2. フィルタ設定を名前をつけて保存できる
3. 保存したフィルタ表示は 共有され、 ユニークなURLが発行される
4. 更新をかけると 最新データにて対してのフィルタが適用される。
5. 閲覧のみの共有メンバーでもフィルタビューが使える

これらは適用されるのか?

まず、1の「共有中でも自分の表示だけ フィルタがかけられる」は出来ることが確認できました。

では、「2. フィルタ設定を名前をつけて保存できる」はどうでしょうか?

残念ながら スライサーの場合は、フィルタビューと違って絞り込み設定を名前をつけて保存、後で呼び出しといったことは出来ません。

スライサーで絞り込んだ 画面を開きなおす(更新する)と、絞り込みは解除されて初期状態に戻ってしまいます。

つまり

3.保存したフィルタ表示は 共有され、 ユニークなURLが発行される
4.更新をかけると 最新データにて対してのフィルタが適用される。

これらも基本的にはスライサーでは使えないってことです。

ただ、スライサーには「現在のフィルタをデフォルトに設定」という機能があります。

たとえば、商品を「りんご」のみ表示させた状態で「現在のフィルタをデフォルトに設定」とすると

他の人が開いた時 や 画面更新 した時に 「りんご」でフィルタされた状態となります。

唯一設定したフィルタ条件を(初期値として)保存できる機能なんですが、これはあまり使わない機能かも。


条件でフィルタから、 日付 > 本日 で、今日の データにだけ絞り込んだ状態をデフォルトにする。といった使い方であれば、開くたびに 今日の日付のデータだけが初期値で見れるんでアリかと思います。



スライサーを設置するとフィルタは使えない

選択できなくなる

ちなみに スライサーを追加した表では「フィルタ」が使えなくなります

これは結構良い面もあって、共有しているスプレッドシートで 

  • 定期的にフィルタをかけっぱなしで放置するユーザーがいる

  • フィルタで並び替えして元に戻せなくないと問い合わせがくる

  • フィルタビューを使えといっても使ってくれない

こんな感じでユーザーが通常のフィルタを使える状態だと、結構不満がたまるんですが、これらが スライサーを置くことで解消しますw

またスライサーは 強制的にフィルタビュー風 となっている為、フィルタビューのようにユーザーに発動してもらう必要がないので、

スライサーを置いておく
 ▼
ユーザーはフィルタが使えない
 ▼
スライサーで絞り込む か 少し使える人は フィルタビューを使う
 ▼
世界に平和が訪れる

こんな風になるわけです。

スライサーを追加したら フィルタは使えなくなる

これが 大きい特徴 その4です。



スライサーは閲覧者でも使える

フィルタビューの最大のメリットの一つ

閲覧のみの共有メンバーでもフィルタビューが使える」

こちらはスライサーでも適用されます。

スライサーはフィルタビューと同じように 閲覧権限で共有したメンバーも利用が出来ます

これがスライサーの大きい特徴その5です。

これできると リンク共有で スプレッドシートを公開する時に 「閲覧のみ」に制限しても、ユーザーはデータを自由に絞り込んで 見ることが出来るんで便利ですね!

ただし、閲覧権限のメンバーは設置してあるスライサーの操作はできますが、スライサーを新しく追加したり、既存のスライサーを編集(対象の列を変更)したり、削除したりは出来ません。

でも、スライサーを設置していても「フィルタビュー」も発動して使うことが出来るんで、スライサーの対象外の列で絞り込みをしたいユーザーがいても問題なしです。

スライサーがあると フィルタは使えないけど、フィルタビューは使えるんですね。

フィルタビュー発動時は、スライサは一時的に解除され クリックしても反応しなくなります。フィルタビューの方が優先されるようです。

フィルタビューを解除すると、スライサーで絞り込んでいた状態に戻ります。


ちなみに先にフィルタビューを設定した状態で スライサーを新規に追加、設定しようとすると このようなエラーが出てしまいます。


ゲームやコレクションなどのデータを公開したい人は、スライサーを設置した状態で 閲覧権限でスプレッドシートをリンク共有すれば

■スプレッドシートの操作が不慣れな人
 ▶ とりあえずスライサーで絞り込みができる

■スプレッドシートの操作に慣れている人
 ▶ スライサーも使いつつ、フィルタビューも活用できる

こんな感じで 簡易データベース的にスプレッドシートをユーザーに使ってもらうことが出来ます

閲覧共有なんでダウンロード、コピー、印刷禁止も設定できますし、データを壊されるリスクもありません。

スライサーを設置していてもフィルタビューは使える。(フィルタビュー使用時は スライサーは解除される)

これが特徴その6です。



スライサーと フィルタ、フィルタビュー の違い

その他の要素も含め、Googleスプレッドシートの スライサーと フィルタ、フィルタビューの違いをまとめてみましょう。


公式ページの情報+αで比較

公式ページだと ココに載っています。

うん、わかりにくいですねw mirが少し言葉を変えて、追加の検証も含めてまとめてみました。

こんな感じ

まずフィルタ(通常のフィルタ)は、 同時に開いている他の人の画面にも影響してしまいますし、フィルタかけたまま閉じたらそのまま残るし、フィルタ設定を保存することも出来ません。

言わば「男性側がトイレの便座を上げて利用後、そのままにしてヨメに怒られる」って展開になりがちですw

個人で利用するなら構いませんが、共有しているスプレッドシートでは フィルタは使うべきではないと言えます。

これはフィルタビューの第1回の noteでも触れています。

そこで本来は比較表でもっとも 〇の多い 強力な機能である フィルタビューを使って欲しいのですが、どうしても不慣れな人にはわかりづらい(使ってくれない)、変なフィルタビューを保存しがち、って課題があります。

その点スライサーであれば、オーナー側でスライサーを事前に設置しておけば、ユーザーは意識せず自分の画面だけで絞り込みしてくれるという点は魅力的ですね。

ただし、スライサーは フィルタやフィルタビューと違って出来ないことが幾つかあります。



スライサー が出来ないこと

まず先ほども触れましたがスライサは―、フィルタビューと違ってオーナー側で フィルタ条件を設定して名前を付けて保存、それを利用してもらうといったことが出来ません。

当然、フィルタ条件毎のユニークなURLも設定できないので、フィルタビューで使える ハイパーリンクを活用した テクニックも不可です。

また、通常のフィルタやフィルタビューは

フィルタビューの条件設定

色でフィルタしたり、並べ替えが出来るんですが、

スライサーの条件設定

スライサーは 並び替えや 色でフィルターが出来ません。

これが特徴その7です。

もう1つ、出来ないというか面倒なのが 複数列を条件設定する絞り込みです。

たとえば 商品日付で絞り込もうとした場合、商品用、日付用、それぞれにスライサーが必要となります。

スライサーは フィルタ条件としたい列ごとに、それぞれ用意する必要がある。

これが、特徴その8です。


頑張ればできなくはない

厳密に言えば、Googleスプレッドシートのフィルタは 「カスタム数式」が使えるんで、スライサーが一つであっても

条件でフィルタ > カスタム数式 から 複数列の絞り込みは可能です。

たとえば 日付(A列)を「5月」、商品(B列)を「りんご」でフィルタしたい場合は、データが4行目からの表なら

=AND(MONTH($A4)=5,$B4="りんご")

こんな感じにすればOK。

でも、これくらい使いこなせる人なら普通にフィルタビュー使った方が早いと思いますw

そして一番残念な点ですが、スライサーは スマホアプリ版のスプレッドシートからは操作が出来ません

スライサーを設置したスプレッドシートを開いても、スライサーは単なる図駅扱いでフィルタ操作ができません。

フィルタビューも スマホアプリ版スプレッドシートからは使えないし、仕方がない部分なのかもしれませんが、スマホから使えればもっとスライサー人気高まるのにって思います。



スライサーの超応用例

では、逆にフィルタやフィルタビューだと出来ない、スライサーならでは!という使い方はあるんでしょうか?

スライサーの超応用例を見ていきましょう!



スライサーはピボットテーブルと連動できる

スライサーは グラフと連動できますが、これはスライサーに限らず フィルタでもフィルタビューでも連動します。

グラフに関しては設定画面で

非表示のデータやフィルタ処理されたデータを含める

という項目が デフォルトで オフになっているからです。

チェックのオンオフで非表示データを含める・含めないを切り替え可能


しかし ピボットテーブルとの連動に関しては差があります。

フィルタやフィルタビューでの 絞り込みは、ピボットテーブルには連動しませんが、

スライサーの設定には「ピボットテーブルに適用する」というチェック項目があり、

これをチェックすることで(初期値はチェックあり)

スライサーで設定したフィルタに応じて、ピボットテーブルの表示も連動させることが出来ます。

この ピボットテーブルと連動できるのが、スライサーの特徴 その9です。



スライサーは 別シートからフィルタできる

独立したオブジェクトであるスライサーは、表を設置しているシートと別のシートに配置できます。

表のあるシートに一度設置したスライサーを別シートにコピペすることも可能です。

この別シートに配置したスライサーからのフィルタの挙動が、独特でもっとも面白い仕様といえます。

まず別シートにスライサーを配置した場合は、URLにfvid が表示されません

じゃあこの場合はフィルタビュー状態(自分だけの表示)ではないのか?というと、そんなことはなく

このように同じシートを同時に複数人が開いていた場合、それぞれの画面で違う表示結果を見ることができるフィルタビュー状態になります。

完全に隠れフィルタビュー状態ですねw

さらに不思議なのが

シート2の一つの表をフィルタしているはずなのに、スライサーを配置したシート毎(シート3、シート4)に 別のフィルタの結果を表示できるんです。

その表があるシートに配置したスライサーによるフィルタは、実際に表がフィルタされるんですが

たとえばシート2の表を対象データとして シート3にスライサーを配置した場合、シート3に配置している シート2の表を対象としたグラフやピボットテーブルは スライサーでフィルタされた結果となるのに、ベースとなるシート2の表はフィルタが適用されてないんです。

つまり 対象の表と別シートに配置したスライサーは、実際にフィルタすることなく フィルタした結果のみを スライサーと同じシートのグラフや ピボットテーブルに反映することが出来るってことです。

過程をすっ飛ばして(バックエンド処理して)結果のみを得ることができる・・・なんか新手のスタンド能力みたいで頭が混乱しますね。

別シートのスライサーは、フィルタした結果のみをグラフ、ピボットテーブルに反映できる

これがスライサーの特徴その10です!

※たまに挙動が不安定になることがあります



スライサーは SUBTOTALと組み合わせて 自分だけの絞り込み表示ができる

この別シート スライサー と SUBTOTAL関数を組み合わせることで、こんな感じで 同じシートを操作している 人たちが、それぞれ スライサーで絞り込んだ違う数式の結果を同時に見ることもできます。

表示されている行だけを集計できる 唯一無二の 特徴がある SUBTOTAL関数は、フィルタビューと組み合わせても色々面白いことが出来ると 以前紹介しましたが

フィルタビュー以上にスライサー を使った場合は

こんな感じで ユーザーそれぞれが 自分の画面で 表示を切り替えられる、動きのあるサイトのような面白いことが、ちょっとした数式を入れるだけで出来るわけです。

しかも閲覧権限で使えるんで 壊される心配なし!

ちなみに 合計を算出している式は

=SUBTOTAL(9,'シート2'!E4:E8)

5行目の可変タイトルは

=LET(x,'シート2'!B4:B8,
TEXTJOIN(",",false,UNIQUE(FILTER(x,MAP(x,LAMBDA(v,SUBTOTAL(3,v))))))&" 合計")

こんな式で処理をしています。

Googleスプレッドシートの SUBTOTAL関数は、MAPなど LAMBDAヘルパー関数の登場で、一気に活用の幅が広がりました。

そして、この別シートスライサー + SUBTOTALが、前々回から 予定していたGoogleフォームとリンクしたスプレッドシートを閲覧のみで共有して、ユーザーが 自由にアップロードされた画像を選択して拡大表示で閲覧できる シート を作るテクニックに繋がっていきます!!

別シートスライサー + SUBTOTAL関数で、閲覧権限でユーザー毎の表示で動的サイトのようにスプレドシートを公開できる

これがスライサーの最後の特徴 11番目となります。



Googleスプレッドシートのスライサーに足りない UIデザイン

これだけ色々便利に使える Googleスプレッドシートのスライサーですが、絶望的に残念な点があります。

それは、UIデザインです。


Excelのスライサーは 色々デザインをアレンジできる

Excelのスライサーは、初期状態ですら こんな感じのボタン選択表示になっていて非常にユーザーフレンドリーなデザイン。

さらにスライサーのリボンメニューから、スライサーを横並びにしたり、表示の色なども様々にカスタマイズが可能。

ユーザーが使いやすい UIを構築できます。

対してGoogleスプレッドシートの スライサーですが

ほぼ、フィルターのまんま 独立しただけ

初期の色合いも黒くて無骨ですし、この色は テーマを変えても 変わりません。

さすがにExcelのようなカスタマイズは無理だと思いますが、せめて ボタン表示くらいできたら・・・

UIデザインが よくなれば、隠れフィルタビュー風の仕様は非常に便利なんで、Googleスプレッドシートのスライサーは一気に化ける(バズる)と思うんですけどね。。(あとスマホアプリ対応)

あまりGoogleさんにはデザイン性は期待できないんですが、今後の改善を期待したいところです。



スライサー + SUBTOTAL 応用! フォームの回答でアップロードされた画像を スプレッドシートで自在に表示する

今回はスライサーの

1. スライサーを使うと、独立したオブジェクト(スライサー)から データの絞り込み(フィルタ処理)ができる
2. 1つのスライサーは、1つの列を条件した絞り込みができる
3. スライサーによる絞り込みは 完全に 個人用(他の人の画面には影響しない)
4. スライサーを追加したら フィルタは使えなくなる
5. スライサーはフィルタビューと同じように 閲覧権限で共有したメンバーも利用が出来る
6. スライサーを設置していてもフィルタビューは使える。(フィルタビュー使用時は スライサーは解除される)
7. スライサーは 並び替えや 色でフィルターは出来ない
8. スライサーは フィルタ条件としたい列ごとに、それぞれ用意する必要がある
9. スライサーはピボットテーブルと連動できる
10. 別シートのスライサーは、フィルタした結果のみをグラフ、ピボットテーブルに反映できる
11. 別シートスライサー + SUBTOTAL関数で、閲覧権限でユーザー毎の表示で動的サイトのようにスプレドシートを公開できる

これら 11の特徴を紹介してきました。

この中の11番目 別スライサー + SUBTOTAL を活用するんですが、次回こそは予定していた Googleフォームの回答リンクスプレッドシートで、

  • GASは使いたくない(ちょっとハードルが高い)けど

  • Googleフォームでメンバーに画像をアップロードしてもらって

  • 回答をリンクしたスプレッドシートを閲覧共有でメンバーが見れるようにして

  • 新しい回答があっても設定した表示形式を適用できて

  • さらにユーザーは指定した画像を拡大表示できて

  • 同時に2名以上が開いた場合でもそれぞれ画像拡大が使えて

  • でもメンバーのアカウント名はオーナー以外には見えないようにしたい

こんなリクエストに応える 表の作り方を noteで取り上げます!



この記事が気に入ったらサポートをしてみませんか?