MENU

【超上級者向け】スプレッドシート関数10選

Googleスプレッドシートの基本操作やVLOOKUPSUMIFS程度では物足りない……そんな「関数の限界」に挑戦したいあなたへ。

実務を圧倒的に効率化し、もはや「プログラミングに近い」領域まで踏み込んだ超上級者向け関数10選を解説します。これらを使いこなせば、データ集計の自動化においてあなたの右に出る者はいなくなるはずです。

「ちょっと聞いてみたい」だけでもOK! ツールや業務効率化についての相談をすべて1対1で丁寧にお答えします。 まずはお気軽にメッセージをどうぞ!LINE公式アカウントはこちら!

目次

1. QUERY関数(最強の万能選手)

スプレッドシートをデータベース化する、最強の関数です。Google Visualization API のクエリ言語を使用して、特定の条件で抽出・並び替え・集計を一気に行います。

  • 構文: =QUERY(データ範囲, "SELECT ..., WHERE ..., ORDER BY ...")
  • ここが凄い: フィルタ機能やソート機能を数式一つで完結させ、元データが更新されれば抽出結果もリアルタイムで同期されます。
(QUERY関数の設定画面と抽出結果のスクショ) ※「SELECT A, B WHERE C > 100」のように入力して、特定の列だけが綺麗に抜き出されている様子。

2. LAMBDA関数(カスタム関数の作成)

数式内に「変数」を定義し、独自のロジックを関数として使い回せるようにします。

  • 構文: =LAMBDA(変数, 計算式)(実引数)
  • ここが凄い: 複雑で長い数式に名前を付けたり、後述するヘルパー関数と組み合わせて「ループ処理」のような動きを実現できます。
[税込み価格を計算して、端数を切り捨てる」という自分専用の処理を作ったスクショ
「税込み価格を計算して、端数を切り捨てる」という自分専用の処理を作ってみました

3. MAP関数(配列への一括適用)

配列の各要素に対して、LAMBDAで定義した計算を順番に適用していきます。

  • 構文: =MAP(範囲, LAMBDA(変数, 計算式))
  • ここが凄い: ArrayFormulaでは対応できなかった「行ごとの複雑な条件分岐」などを、一気に下の行まで展開できます。
「点数(B列)」と「出席率(C列)」を見て、両方クリアしていたら「合格」と出る関数のスクショ
「点数(B列)」と「出席率(C列)」を見て、両方クリアしていたら「合格」と出る関数を作ってみました

4. BYROW / BYCOL関数(行・列ごとの集計)

「各行の合計を出したいが、データが増えても自動で計算してほしい」という時に役立ちます。

  • 活用例: =BYROW(A1:C10, LAMBDA(row, SUM(row)))
  • ここが凄い: 1つのセルに数式を入れるだけで、全行の横合計を縦にずらっと表示させることが可能です。
一つのセルに関数を入力するだけで全部のテストの合計点を出してるスクショ
一つのセルに関数を入力するだけで全部のテストの合計点を出すことができる

5. REDUCE関数(累積計算の極み)

配列を1つずつ処理し、その結果を次の計算に「蓄積」させながら最終的な一つの値を返します。

  • ここが凄い: 文字列を特定のルールで連結し続けたり、複雑な在庫計算(前日の残りを引き継ぐなど)を行う際に威力を発揮します。

6. SCAN関数(途中経過の表示)

REDUCEと似ていますが、計算の「累積のプロセス」をすべて表示します。

  • 活用例: 銀行の通帳のように、毎行の「累計残高」を自動計算するのに最適です。

7. LET関数(可読性の劇的向上)

数式内で計算結果に名前を付けて、再利用できるようにします。

  • 構文: =LET(名前1, 値1, 名前2, 値2, 計算式)
  • ここが凄い: 同じ計算を何度も書く必要がなくなり、数式が短く、かつ計算速度も向上します。メンテナンス性が爆上がりします。

8. REGEXEXTRACT / REGEXREPLACE(正規表現)

文字列操作の最終兵器です。「メールアドレスだけ抜き出す」「特定のパターンに一致する文字を置換する」といった処理を行います。

  • ここが凄い: FINDSUBSTITUTEでは不可能な、曖昧なパターンの抽出が可能です。

下のように長い文章からメールアドレスだけを抜き出すことができます。

=REGEXEXTRACT(A2, “[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}”)

この関数の中身、一見呪文のように見えますが、分解するとシンプルです。

  1. [a-zA-Z0-9._%+-]+:英数字や記号(アドレスの前半部分)が1文字以上続く
  2. @:アットマークがある
  3. [a-zA-Z0-9.-]+:ドメイン名(exampleなど)が続く
  4. \.:ドット . がある(※正規表現でドットは特殊な意味を持つので \ で打ち消します)
  5. [a-zA-Z]{2,}:最後は英字2文字以上(comやjpなど)で終わる

9. FLATTEN関数(次元の解体)

複数の列や行に分散しているデータを、強制的に「1列」に並べ替えます。

  • ここが凄い: 散らばったリストを一つのマスタデータにまとめ直す際、手作業のコピペをゼロにします。UNIQUE関数と組み合わせると、重複削除も一瞬です。

10. INDIRECT関数(動的参照)

文字列を「セル参照」として扱います。

  • 活用例: =INDIRECT("シート名!" & "A1")
  • ここが凄い: ドロップダウンリストで選択したシート名から、自動でデータを引っ張ってくるような「動的なダッシュボード」を作成できます。

まとめ:上級者への道

これらの関数を組み合わせることで、もはや「スプレッドシートは計算機ではなく、アプリケーション」に進化します。まずはLETQUERYから触ってみて、その圧倒的なパワーを体感してくださいね!

「ちょっと聞いてみたい」だけでもOK! ツールや業務効率化についての相談をすべて1対1で丁寧にお答えします。 まずはお気軽にメッセージをどうぞ!LINE公式アカウントはこちら!
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次