パソコン用ヘッダー画像
Googleサービス PR

【保存版】GASでスプレッドシートのメニューをカスタマイズ!!

記事内に商品プロモーションを含む場合があります

日々の業務で Google スプレッドシート を使っている皆さん、作業効率に満足していますか? もっと早く、もっと楽に作業を進めたいと思いませんか?

そんなあなたに朗報です! スプレッドシートには、作業効率を劇的に向上させる「カスタムメニュー」をご紹介。

使いこなすと便利『カスタムメニュー』

カスタムメニューをスプレッドシート・ドキュメント・スライドで使う

カスタムメニューとは、スプレッドシートのメニューバーに、自分だけのオリジナルメニューを追加できる機能のこと。

例えば、

  • よく使う関数をワンクリックで実行
  • 複数のシートをまとめて編集
  • データの整形や集計を自動化

といった、普段よく行う操作をメニューに登録しておけば、作業時間を大幅に短縮できます。

カスタムメニューでできること

  • よく使う操作を登録: 繰り返し行う作業を自動化し、時間を節約
  • 関数の実行: 複雑な関数もワンクリックで実行可能
  • データの整形・集計: データ処理を効率化
  • 複数シートの一括操作: 複数のシートをまとめて編集
  • Google Apps Scriptとの連携: スプレッドシートの機能を拡張

作業効率アップの秘密

カスタムメニューは、GAS を使うことで、スプレッドシートの機能を拡張し、自分だけのオリジナルツールを作ることができるんです。

難しそうに聞こえるかもしれませんが、安心してください。この記事では、プログラミングの知識がなくても簡単にカスタムメニューを作れる方法を紹介します。

初心者でも簡単!カスタムメニューの作り方

カスタムメニューの作り方

カスタムメニューの作り方は、とても簡単です。

  1. スクリプトエディタを開く: スプレッドシートのメニューバーから「拡張機能」→「Apps Script」を選択
  2. コードをコピペする: 必要なコードをコピーして、スクリプトエディタに貼り付ける
  3. 保存する: コードを保存し、スプレッドシートに戻ると、カスタムメニューが追加されている

活用例のサンプル

今回は、小学1年生の息子に地図をみる練習として、グーグルマップから経路図を出すスクリプトをつくってみたのでそちらにスクリプト実行メニューを追加したいとおもいます。

メニューをカスタムしても実行したいスクリプトがないと使えないので、カスタムメニューを作成する前に、各自、使いたいスクリプトを準備しましょう。

パソコンで地図の勉強

使用するスクリプト

  • STEP1
    デフォルトメニュー
    スクリプトでメニューを追加する前は下図のようなデフォルトメニューになっています。

    sheets-デフォルトメニュー

  • STEP2
    Apps Scriptをひらく
    メニューバーにある【拡張機能】からApps Scriptをひらきます。

    Apps Scriptのコードをかく

  • STEP3
    コード貼り付け
    こちらのコードを貼りつけてください。こちらのコードをベースにスクリプトが実行されるように書き換えが必要な個所があります。

    function Custom_menu() {
      let ui = SpreadsheetApp.getUi()
      
      //メニュー名は自由に入れてください
      let menu = ui.createMenu("メニュー名");
      
      //メニューに実行ボタン名と関数を割り当て
      menu.addItem("ボタン名","スクリプト名");
      
      //スプレッドシートに反映
      menu.addToUi();
    }

  • STEP4
    メニューバーに追加
    スクリプトを実行したら、実際にメニューバーに追加されているか確認しましょう。

    メニューバーに追加される

  • STEP5
    サブメニューの追加コード
    あまり下層に追加するのは好みじゃないので今回は実装してないですが、サブメニューで追加することも可能です。

    function Custom_menu() {
      let ui = SpreadsheetApp.getUi()
      
      //メニュー名は自由に入れてください
      let menu = ui.createMenu("メニュー名");
      
      //メニューに実行ボタン名と関数を割り当て
      menu.addItem("ボタン名","スクリプト名");
      //追加はmenu.addItem("スクリプト名","スクリプト名");を増やすだけ
      //追加はmenu.addItem("スクリプト名2","スクリプト名2");
    
      //紐づけてメニューバーを作りたい場合
      .addSeparator()  //セパレーター
      .addSubMenu(ui.createMenu('サブメニュー') 
       .addItem('サブメニューボタン名', 'スクリプト名3')
       //サブメニューアイテムを追加
       .addItem('サブメニューアイテム2', 'スクリプト名4')
       //追加はmenu.addItem同様
      );
    
      //スプレッドシートに反映
      menu.addToUi();
    }

  • STEP6
    サブメニューの確認
    カスタムメニューの下層にサブメニューが表示されるか確認しましょう。

    サブメニューの作成も可能

時短テクニック満載!カスタムメニュー活用事例

カスタムメニューの活用例は無限

カスタムメニューは、基本的な使い方だけでなく、さらに便利な使いこなし方があります。ここでは、具体的な活用事例をいくつか紹介します。

ワンクリックで作業してもらえる感じがたまらない!

データ整理が一瞬で完了!

  • 重複データの削除: 重複しているデータを自動で削除
  • データの並べ替え: 特定の列でデータを昇順・降順に並べ替え
  • データのフィルタリング: 特定の条件に一致するデータのみを表示

複数シートの一括操作も楽々

  • シート名の一括変更: 複数のシートの名前をまとめて変更
  • シートの一括コピー: 複数のシートをまとめてコピー
  • シートの一括削除: 不要なシートをまとめて削除

カスタムメニューでもっと快適に

カスタムメニューは、スプレッドシートの作業効率を劇的に向上させる強力なツールです。

この記事で紹介した内容を参考に、あなただけのカスタムメニューを作成し、日々の作業をもっと楽に、もっと効率的に進めましょう。

  • Googleスプレッドシート
  • Googleドキュメント
  • Googleスライド

カスタムメニューは、どのサービスにでも盛り込むことが可能です。今回はスプレッドシートの活用例をつかってご紹介。

ドキュメントやスライドでもメニュータブにあると便利!という機能はあるので、別の記事でご紹介していきます!

\アドセンス、収益確認もGASで効率化/

GASを使って、ブログのアドセンス収益を自動通知・自動出力
【GAS】Google AdSenseの収益確認を自動化Google AdSenseの収益確認を自動化したい方必見!GASを使った3つの神テクニックを紹介。毎朝のメール通知、スプレッドシートでの自動記録&分析、任意期間の収益確認で、収益アップを目指しましょう!...

Fatal error: Uncaught JSMin_UnterminatedRegExpException: JSMin: Unterminated RegExp at byte 47225: /.source + in /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php:264 Stack trace: #0 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(150): JSMin->action(1) #1 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php(84): JSMin->min() #2 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/autoptimizeSpeedupper.php(38): JSMin::minify('/* PrismJS 1.29...') #3 /home/c1448553/public_html/one-walker.net/wp-includes/class-wp-hook.php(324): autoptimizeSpeedupper->js_snippetcacher('/* PrismJS 1.29...', '/home/c1448553/...') #4 /home/c1448553/public_html/one-walker.net/wp-includes/plugin.php(205): WP_Hook->apply_filters('/* PrismJS 1.29...', Array) #5 /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/autoptimizeScripts.ph in /home/c1448553/public_html/one-walker.net/wp-content/plugins/autoptimize/classes/external/php/jsmin.php on line 264