Googleスプレットシートで座席検索を可能にするApps Script

座席表はスプレッドシート

座席表の管理はGoogle、ヤフー、サイバーエージェントなどのように検索機能付きの座席表ツールが社内に用意されているケースと、楽天、DeNA、mixiのようにGoogleスプレッドシートで座席表を管理しているケースがある。

IT企業全体の約8割はGoogleスプレッドシートで座席表が作成されているのではないかと私は予想している。

Googleスプレッドシートはオンラインであればどこからでも接続できて便利だが座席表として使用する場合は検索が使いづらいという欠点がある。

特に名字と名前の間のスペースが不統一だったり、名字のあとに改行をいれて名前が入っていたら座席表をフルネームで検索するのは絶望的だ。

次項に既存のGoogleスプレッドシートにスクリプト(Google Apps Script)を追加するだけでスペースや改行があってもフルネームで座席表を検索できるようにする方法を記載したのでぜひ試してみてほしい。

座席表はこのようにスペースや改行などが入っているものをサンプルとして用意した。ちなみにdataシートがないとエラーになるのでこの時点で追加が必要。(何に使うかは後述)
座席表サンプル

座席表サンプル

スクリプトの保存方法

Googleスプレッドシートはスクリプト(Google Apps Script)を追加することで機能を拡張できる。Excelでいうマクロに該当するものだ。

まず、「ツール」メニューの「スクリプトエディタ」を選択する。
「ツール」メニューの「スクリプトエディタ」を選択

するとスクリプトエディタが表示されるのでfunction myFunction() { }のコード部分はすべて削除して代わりに「座席検索機能追加コード」をすべてコピーして貼り付けたあと上書き保存する。(プロジェクト名は何でも良い)

座席検索機能追加コード

座席検索を実行してみる

スクリプト保存後はスプレッドシートをブラウザのリロードで更新すれば「ヘルプ」の右に「座席検索」というメニューが表示されるので、「実行」を選択すれば座席検索入力欄が表示される。
「座席検索」というメニューが表示されるので、「実行」を選択

初回は承認が必要になるため「このアプリは確認されていません」の一番下の詳細をクリックしたあと移動のリンクをクリックして許可画面を表示させたあと許可を押す。
「このアプリは確認されていません」の一番下の移動のリンクをクリックして許可画面を表示させたあと「許可」を押す

名前を検索で入力してOKを押して該当の名前があると名前の場所の行列部分を背景色がピンク色で点滅して知らせてくれる。(ピンク以外にしたい場合はコード内のpinkを別のカラーコードにする)
名前を検索で入力してOKを押す

メールアドレスでも検索可能にする

氏名だけでなくメールアドレスのアカウントを元に座席を検索したい場合もあるだろう。そんなときは作成したdataシートのA列に名前、B列にアカウントを@以降を除いて下図のように入れておけばメールアドレスでの検索も可能になる。
メールアドレスでも検索可能にする

余談だがdaisuke.sato@gmail.comだけでなく@daisuke.satoのようなSlack形式のアカウントも検索可能だ。