Google apps script でfilterをかける方法|Sheet APIと連携したら上手くいった

google apps script 入門

Google apps scriptを使ってスプレッドシートにフィルターをかける方法をご紹介します。

OYAKUN
OYAKUN
「Google apps scriptでスプレッドシートにフィルターをかける」情報が意外にネットや本に載ってなくて気づいたら2018年になってました(泣)
  • Google apps scriptでフィルターかけたい人
  • GASでフィルターかける際に上手く出来ない人
  • GASとSheet APIの連携がうまくいかない人

以上のようなことで悩んでいる方に、参考になると思います!

Google apps scriptでfilter|デフォルトだと実行できない

.createFilter()でGASでフィルターを作成できるようになりました!
参考リンク:.createFilter()

冒頭GIFで使用したスクリプトはコチラ↓

 

・・だがしかし

アヒルン
アヒルン

よ〜し、コピペして早速実行・・てあれ?動かないぜ?なぜだ?

上記スクリプトはそのまま実行してもフィルターの操作は出来ません。下記エラーが表示されると思います。

ReferenceError: 「Sheets」が定義されていません。

アヒルン
アヒルン

え?じゃあ上のコードはなんなの?嘘なの?ねえはげ管理人、正解のコード教えてよ

OYAKUN
OYAKUN
・・・お、おっふ・・

実は紹介したコードはウソではなく実際に動くコードです。

 

ただし外部APIと連携しないと有効にならないメソッドが含まれています。

 

そのためスクリプトがデフォルト状態ではフィルター操作はできません

 

エラーが表示されてしまうんですね。

アヒルン
アヒルン

んなら先に言えwww

Google apps scriptでfilterを操作|Sheet APIと連携する

スクリプトからスプレッドシートのフィルター操作をする際は、「Sheet API」と連携する必要があります。

スクリプトエディタ画面からサクッと連携出来ます。

Sheet API連携手順

フィルター操作を設置するスプレッドシートを開き、「ツール > スクリプトエディタ」を選択。

 

「スクリプトエディタ > リソース > Googleの拡張サービス」を選択。

 

Googleの拡張サービス画面が表示されるので・・

 

下へスクロールして「Google Sheets API」をONにします。

 

下の黄色いメッセージボックスの「Google APIコンソール」テキストリンクをクリック。

 

Google Cloud Platformのダッシュボード画面が開くので

 

左のサイドメニューから「ライブラリ」を選択。

 

検索窓が表示されるので「sheet」と入力してEnter。

 

「Google Sheet API」が表示されるのでカードをクリック。

 

Google Sheets APIカードが表示されるので「有効にする」をクリック。

 

トラフィック画面が表示されていればOKです!

 

最後にスクリプトエディタ画面に戻って「OK」をクリックすればSheet APIとの連携は完了です。

アヒルン
アヒルン

(サクサクサクサクくらいじゃん…)

ちなみに他の外部APIの機能については以下記事が詳しいです↓

参照記事Google apps scriptを無料で機能拡張出来る29個のAPIまとめ

 

スクリプトエディタからSheet APIと上手く連携できましたか?

 

ではGoogle apps scriptでスプレッドシートのfilterを操作していきます。

コメント

タイトルとURLをコピーしました