更新: 2026年03月 · 6 分で読める · 3,111 文字
Google スプレッドシートの関数を業務で使い分ける:時短・自動化の実践ガイド
Google スプレッドシートの関数を戦略的に活用することで、日々の集計業務を数分で完了させ、データ分析に充てる時間を確保できます。本記事では、実務で即座に役立つ40個以上の関数を、業務パターン別に整理・解説します。
Google スプレッドシート関数の全体像
Google スプレッドシートには、10のカテゴリーに分類される150以上の関数が存在します。初心者が全て把握する必要はありませんが、各カテゴリーの「最頻出3-4個」を習得すれば、業務の70%をカバーできます。
以下は実務で最も活躍する5つのカテゴリーと代表的な関数です:
- テキスト関数:CONCATENATE、SPLIT、REGEXEXTRACT
- 論理関数:IF、IFS、AND、OR
- 検索・参照関数:VLOOKUP、INDEX、MATCH
- 統計関数:SUM、AVERAGE、COUNTIF、SUMIF
- 日付・時刻関数:TODAY、EDATE、DATEDIF
実務で最頻出の関数10個:パターン別活用例
1. IF/IFS:条件分岐で営業成績判定を自動化
営業売上のランク判定、顧客ステータスの自動分類など、条件に応じた処理は業務の定番です。複数条件を扱う場合はIFS関数が便利です。
// 売上金額に基づいてランクを自動判定
=IF(B2>=1000000,"ゴールド",IF(B2>=500000,"シルバー","ブロンズ"))
// 複数条件を扱う場合(IFS使用)
=IFS(B2>=1000000,"ゴールド",B2>=500000,"シルバー",B2>=100000,"ブロンズ","未評価")
ハマりポイント:IFS関数では、条件を上から順に評価します。最初にマッチした条件で処理が終了するため、条件の並び順に注意が必要です。
2. SUMIF/COUNTIF:複数行から条件付き集計
特定の営業担当者の売上合計、特定カテゴリーの件数カウントなど、「○○の場合のみ集計」という処理が効率化できます。
// A列が「田中」の売上合計
=SUMIF(A:A,"田中",B:B)
// 複数条件の場合はSUMIFS
=SUMIFS(B:B,A:A,"田中",C:C,"2024年")
// 空白でないセルの件数
=COUNTA(A2:A100)
// 特定の値と一致する件数
=COUNTIF(A:A,"完了")
使うべき場面:レポート作成時に、毎月ルーチンで実行する集計業務。
使うべきでない場面:リアルタイムで変動する在庫管理など、頻繁に削除・追加が発生する場合(不用意に行全体参照すると重くなります)。
3. VLOOKUP/INDEX+MATCH:マスターテーブルからデータ引き出し
顧客ID から顧客名を引き出す、商品コードから価格を自動取得するなど、複数テーブルを連携させる際に不可欠です。VLOOKUP は左列から検索する場合、INDEX+MATCH はより柔軟に対応できます。
// 商品コード(A2)から価格表(Sheet2)の価格を検索
=VLOOKUP(A2,Sheet2!A:B,2,FALSE)
// INDEX+MATCHの方が列順が自由(推奨)
=INDEX(Sheet2!B:B,MATCH(A2,Sheet2!A:A,0))
// 複数条件での検索
=INDEX(Sheet2!C:C,MATCH(1,(Sheet2!A:A=A2)*(Sheet2!B:B=B2),0))
ハマりポイント:VLOOKUP で「#N/A」エラーが出る場合、検索値がテーブルに存在しないか、大文字・小文字の違い、余分な空白があないか確認してください。IFERROR で囲むと安全です:=IFERROR(VLOOKUP(...),"データなし")
4. CONCATENATE/TEXTJOIN:複数セルを結合
氏名と住所を結合してラベル作成、複数の値をカンマ区切りでリスト化するなど、テキスト処理が効率化します。
// シンプルな結合
=CONCATENATE(A2," ",B2)
// より簡潔に(&演算子)
=A2&" "&B2
// 複数セルを改行で結合
=TEXTJOIN(CHAR(10),TRUE,A2:A10)
// カンマ区切りで結合(空白セルは無視)
=TEXTJOIN(",",TRUE,B2:B10)
5. SPLIT/REGEXEXTRACT:テキストを分割・抽出
メールアドレスからドメインを抽出、「名前(会社名)」形式から名前のみ取得する際に活躍します。
// コンマ区切りのテキストを複数列に分割
=SPLIT("田中,営業,2024-01-15",",")
// 正規表現でメールアドレスのドメイン部分を抽出
=REGEXEXTRACT(A2,"@(.+)$")
// 「名前(会社名)」から名前のみ抽出
=REGEXEXTRACT(A2,"^(.+)\(")
6. ARRAYFORMULA:1つの式を列全体に適用
毎行コピペで式を貼り付ける手間が不要。1行の式で全データに自動適用され、新データ追加時も自動反映されます。
// D列全体に計算を適用(数式をコピペ不要)
=ARRAYFORMULA(IF(B2:B=""," ",A2:A&":"&B2:B))
// 複数行に VLOOKUP を一度に適用
=ARRAYFORMULA(IF(A2:A="","",VLOOKUP(A2:A,Sheet2!A:B,2,FALSE)))
ハマりポイント:ARRAYFORMULA 内で条件判定する場合、IF(B2:B=""," ",結果) のように最初に空白チェックを入れないと、不要な行にも計算が走ります。
業務シーン別・関数選定ガイド
営業日報・売上管理シート
| 処理内容 | 推奨関数 |
|---|---|
| 月間売上合計 | SUM |
| 担当者別売上 | SUMIF |
| ランク付け | IFS |
| 達成度% | VLOOKUP + 四則演算 |
顧客管理・マスターデータ連携
| 処理内容 | 推奨関数 |
|---|---|
| 顧客ID から商品を検索 | INDEX + MATCH |
| 複数条件での検索 | INDEX + MATCH + 配列 |
| データ重複チェック | COUNTIF |
データクリーニング・形式変換
| 処理内容 | 推奨関数 |
|---|---|
| 余分な空白を削除 | TRIM |
| テキストを分割 | SPLIT |
| 正規表現で抽出 | REGEXEXTRACT |
| 大文字・小文字統一 | UPPER / LOWER |
関数実行時の注意点とトラブルシューティング
エラーが返される場合の対処法
- #REF!:参照先シートが削除されたか、範囲指定が無効。別シート参照は
=Sheet2!A1:B10の形式を確認 - #VALUE!:数値計算に文字列が混在。IFERROR や VALUE 関数で型変換を試す
- #N/A:検索値が見つからない。IFERROR で囲むか、検索値を TRIM や LOWER で正規化
- 計算が遅い:行全体参照(A:A)を避け、具体的な範囲指定(A2:A10000)に変更
Google スプレッドシート固有の仕様
Excel との違いとして、Google スプレッドシートでは以下の点に注意が必要です:
- ARRAYFORMULA が不要な場面でも、1つの式で複数行に自動適用されることが多い
- 正規表現がデフォルトで有効(REGEXMATCH、REGEXEXTRACT など)
- QUERY 関数で SQL ライクな問い合わせが可能
関数の効率的な学習・活用方法
1. 関数ヘルプを活用する
セル内で「=」の後に関数名を入力すると、Google スプレッドシートが自動でサジェストを表示します。関数をクリックすると構文が表示されます。
2. 実務テンプレート化
よく使う式は、テンプレートシートに保存しておくと、毎月のレポート作成時に効率化できます。例えば以下の組み合わせは再利用性が高いです:
// 月別売上レ