エクセルは全てスプレッドシートに移行しました。
(相手先の制限でエクセルしか扱えない場合はいまだにマイクロソフトの呪縛から解き放たれませんが…)
企業や組織はいち早くGSuite導入すべきだと思います。
そんなスプレッドシートに移行すべき理由、便利なところ、導入方法などは色んな人がまとめてるのでまた後日(笑)
今回は欠点ともいうべきスプレッドシートのクセを補う方法を説明します。
Googleアプリの超強力な共有機能
スプレッドシートというかGoogleアプリケーションのよいところとしてリアルタイム共有機能があります。
進捗管理や課題管理など複数人でファイルを同時操作することができて円滑に仕事が進められます。
エクセルでもできるって?
スプレッドシートはデフォルトで共有されてるし権限管理が簡単だし即時保存で即時反映なんですよ。
使えばわかります。
変更内容をリアルタイムで反映
進捗管理なんかはめちゃくちゃ効果を発揮します。
例えば以下のような作業一覧表があるとします。
各自進捗状況を更新しますよね?
AさんもBさんもCさんもファイルを開いたまま
- 自分の担当をメンテナンスできるし
- 変更内容は即時保存されるし
- 他人の進捗状況もリアルタイムで確認できるし
いうことなしなんです。
デメリットも
その便利なリアルタイム共有機能にケチをつけるとすれば、
さきほどの作業一覧表をBさんがフィルタ機能を使って自分の担当を確認したとします。
項目の内容を指定して一覧表を絞りこむことができます。
これ、AさんにもCさんにもこの内容で更新されちゃうんですよね。
AさんCさんからしたら自分の予定が見えなくなって不便です。
しばしば実際のプロジェクトでも問題になってます。
QUERY関数でデータを複製
解決方法のひとつとしてQUERY関数が便利です。
Google Visualization API のクエリ言語を使用して、データ全体に対するクエリを実行します。
参考:QUERY – ドキュメント エディタ ヘルプ(Google公式)
公式のヘルプとかリファレンスって大体わかりにくいですよね…。
QUERY関数で別シートにデータを複製
早速使い方を説明します。
といってもすごく単純です。
別シートのA1セルに「=QUERY(」と打ち込みます。
複製対象のデータを求められるので複製元シートのデータ範囲を指定します。
ここでコツを伝授(笑)
元データの行(作業)は増減する可能性があります。
そのたびにデータ範囲を指定しなおすのは面倒極まりないですよね。
そんなときに便利なので列指定です。
下記画像にあるようにF~Hをドラッグして列ごと選択することで行(作業)の増減に関わらず最新データが複製されることになります。
データが複製されましたね。
※網掛けなどはコピーされません。
この複製データに対してフィルタすればいいんじゃないでしょうか。
ここで問題点が…
解決解決(๑•̀ㅂ•́)و✧
といいたいところですが実は課題というか改善点もあります。
- SELECT文で空白行を除外
- フィルタとSELECT文の使い分け
- IMPORTRANGEとQYERYの違い