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. 実務テンプレート化

よく使う式は、テンプレートシートに保存しておくと、毎月のレポート作成時に効率化できます。例えば以下の組み合わせは再利用性が高いです:


// 月別売上レ
    
K
AWS・Python・生成AIを専門とするソフトウェアエンジニア。AI・クラウド・開発ワークフローの実践ガイドを執筆しています。詳しく見る →