この記事ではスプレッドシートで必ず知っておきたい関数を5つ紹介したいと思います。
GoogleスプレッドシートはMicrosoft Excelを模造して作ったソフトですが、機能的には遥か先を行っています!
なんとスプレッドシートにしか存在しない関数があり、それがかなり優秀です。
会社で特に指定が無ければ表計算ソフトとしては一択だと思います。
※しかしながらセキュリティの兼ね合いでMicrosoft系縛りがあるところ多いでよね。。
そんなGoogleスプレッドシートの強力機能を少しでも皆様にお伝えできれば幸いです。
<--この記事の対象者-->
- 今までMicrosoft Excelを使われていた方
- 新入社員の方
- 大量のタスクを抱えて死にそうな方
はじめに
私が外資系ベンチャー企業に勤めていた時代
今までMicrosoftExcelしか触った事がありませんでしたが、一緒に仕事をしていた本国のメンバーは皆、Googleスプレッドシートを使っており、強制的に今まで使ったことのないソフトを使うこととなりました。
(微妙に挙動が違うので気持ち悪かったのを覚えています)
その際に海外のエンジニア勢に教わった最強関数を5つご紹介したいと思います。
1. IMPORTRANGE

【構文】
=IMPORTRANGE("スプレッドシートの URL", "範囲の文字列")
スプレッドシートをデータベースとして使っている場合に便利です。
データベースを触らず作業用シートに引っ張ることが可能です。
また、参照元シートが更新されると自動で更新されます。
- スプレッドシートのURLには参照元URLの以下部分を指定するhttps://docs.google.com/spreadsheets/d/1nNQBlnLtwZDybVMqYR8k1O9S4X1ajN6Z92AfDH1ImdA/edit#gid=0 ※青い部分のみでOK
- 範囲の文字列には読み込む範囲を指定する
(例: "シート1!A1:D11") - 初回関数使用時に[共有の許可]を行う必要があります。
【使用例】
=IMPORTRANGE("1nNQBlnLtwZDybVMqYR8k1O9S4X1ajN6Z92AfDH1ImdA","シート1!A1:D11")
以下の通りIMPORTRANGEを使用して、[参照元シート]より[作業シート]にデータを引っ張ってみました。

2. QUERY

【構文】
=QUERY(データ, "クエリ", [見出し]※省略可能)
IMPORTRANGEと併用すると強力な関数です。
指定した範囲(=データ)を条件(=クエリ)にしたがって抽出する関数です。
- データには抽出したいデータの範囲を指定する
(例: A1:G30)※ダブルコーテーションは不要です ⇨ " " - クエリには抽出条件を記載する
(例: "select * where A = 'ゴルフ', -1")
【使用例】
=QUERY(A1:D11,"select * where D = 'ゴルフ'",-1)
以下の通りQUERY関数を使用してA1:D11のデータをD列がゴルフの行だけを抽出してみました。データベースから必要な情報だけを抽出する際に使用します。

【IMPORTRANGEとQUERYを組み合わせる場合】
=QUERY(IMPORTRANGE("1nNQBlnLtwZDybVMqYR8k1O9S4X1ajN6Z92AfDH1ImdA","シート1!A1:D11"),"select Col1,Col2,Col4 where Col4 = 'ゴルフ'")
以下の通り、参照元シートから作業シートにQUERYで指定した条件に沿って抽出することができました。
尚、注意して頂きたい点として、IMPORTRANGEとQUERYを組み合わせる場合は列指定に(Col)を指定してください。
AやBなどのアルファベットを指定する方法ではエラーがでてしまいます。

3. SORT

【構文】
=SORT(範囲, 並べ替える列, 昇順or降順)
指定した配列または範囲の行を、1列または複数の列の値にしたがって並び替えます。
- 範囲には並び替え対象のデータを指定する
(例: A2:D11) - 並べ替える列には並び替えに使用する基準値を含む列の番号or範囲を指定する
(例: 2)(例: C2:C11) - 昇順or降順にはTrue(昇順)orFalse(降順)を指定する
【使用例】
=SORT(A1:D11,1,False)
以下の通り、SORT関数をA列の通し番号を降順にしてみました。元データをフィルタで触ることなく、並び替えが可能となります。

4. UNIQUE

【構文】
=UNIQUE(範囲)
重複している値が入っている行を削除して、一意の行を返します。
先頭から順に行が返されます。
- 範囲には一意の要素でフィルタ処理するデータを指定する
【使用例】
=UNIQUE(A1:D11)

5. ARRAYFORMULA

【構文】
=ARRAYFORMULA(配列数式)
先頭行にARRAYFORMULA関数を入れることで、指定した行まで関数を繰り返す事ができます。つまり、関数1つで100行でも1000行でも繰り返し関数を反映させる事ができる強力な関数です。
もちろん複数行に関数を入れるより処理速度は早く、もはや業務上必須レベルです。
- 配列数式には 1 つの範囲か、1 つのセル範囲または同じサイズの複数範囲を使用する数式か、1 つのセルより大きい結果を返す関数を指定する
【使用例】
=ARRAYFORMULA(A1:A10+B1:B10)
以下の通り、[A1+B1]という式を配列表記に変更してC1セルに入力すればOKです。
この場合だとA1〜A10までの数字とB1〜B10の数字を足し合わせています。

まとめ
いかがでしたでしょうか?
スプレッドシート固有の強力な関数を紹介しました。
これらを駆使して普段の仕事を爆速にしましょう!