13 第5部 演習 / 手を動かして試す

関数ドリル(実践演習)

実データのシート上で、自分の手で数式を組み立てる関数ドリル121問。集計・論理/検索・テキスト/正規表現・日付・配列/スピル・QUERY・LAMBDA高階関数・総合まで、実務の組み合わせを難易度別に網羅します。

読了 約40分 最終更新 2026.06 演習実践ドリル関数QUERYREGEXARRAYFORMULALAMBDAXLOOKUP

関数は「知っている」だけでは使えません。 この章は、実データの並んだシート上で、あなた自身が数式を組み立てる実践ドリルです。単純な知識ではなく、現場で本当に必要になる 関数の使い方と組み合わせ を、関数群ごと・難易度別(基礎→応用→発展)に 全121問 用意しました。

使う関数と解説リンク(早見表)

各問で使う関数の意味や構文を忘れたら、ここから該当する解説章へ飛べます。関数名をクリックすると、その関数を説明しているセクションが開きます。

分野関数(クリックで解説へ)
集計SUMAVERAGECOUNTACOUNTBLANKSUMIFSUMIFSCOUNTIFCOUNTIFSAVERAGEIFMAXIFSSUBTOTALLARGERANKSUMPRODUCTROWS
論理・検索IFIFSSWITCHANDORIFERRORIFNAVLOOKUPINDEXMATCHXLOOKUPXMATCHCHOOSEINDIRECTLOOKUP
テキスト・正規表現LEFTRIGHTMIDLENFINDTRIMUPPERSUBSTITUTEREPLACEVALUETEXTTEXTJOINSPLITREGEXMATCHREGEXEXTRACTREGEXREPLACE
日付・時刻DATEMONTHEDATEEOMONTHDATEDIFWEEKDAYWEEKNUMWORKDAYNETWORKDAYSDATEVALUE
配列・スピルARRAYFORMULAFILTERSORTSORTNUNIQUESEQUENCEFLATTENTRANSPOSEARRAY_CONSTRAIN
QUERYQUERY
LAMBDA・高階関数LAMBDAMAPREDUCESCANBYROWBYCOLMAKEARRAYLET

集計

合計・件数・平均・最大最小から、条件付き集計・順位・中央値・加重和まで、実データで数式を組み立てます。各問とも、模範解答を実際のスプレッドシートに入力した結果と答えが一致するよう設計しています。

演習 基礎 範囲の合計(SUM)

1週間の売上です。合計金額を求めます。

課題セル B7 に、月〜金の売上(B2:B6)の合計を求める数式を入力してください。
B7 fx
AB
1 曜日 売上
2 12000
3 8000
4 15000
5 9000
6 11000
7 合計
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B7 で解いてみましょう。

演習 基礎 単一条件の合計(SUMIF)

経費の明細です。カテゴリごとに金額を集計します。

課題セル E2 に、カテゴリが「交通費」の金額合計を求める数式を入力してください。
E2 fx
ABCDE
1 カテゴリ 金額 交通費の合計
2 交通費 800
3 食費 1200
4 交通費 450
5 食費 900
6 交通費 600
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 基礎 件数を数える(COUNTA)

アンケートの回答欄です。回答済みの人数を数えます。

課題セル D2 に、回答欄(B2:B6)のうち空でないセルの個数を求める数式を入力してください。
D2 fx
ABCDE
1 氏名 回答 回答済み件数
2 佐藤 はい
3 鈴木
4 田中 いいえ
5 高橋 はい
6 伊藤
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 基礎 条件に合う件数(COUNTIF)

受注一覧です。特定ステータスの件数を数えます。

課題セル D2 に、ステータスが「完了」の件数を求める数式を入力してください。
D2 fx
ABCDE
1 注文ID ステータス 完了件数
2 1001 完了
3 1002 処理中
4 1003 完了
5 1004 完了
6 1005 処理中
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 基礎 平均を求める(AVERAGE)

テストの点数です。平均点を求めます。

課題セル B7 に、5人の点数(B2:B6)の平均を求める数式を入力してください。
B7 fx
AB
1 氏名 点数
2 佐藤 80
3 鈴木 70
4 田中 90
5 高橋 60
6 伊藤 100
7 平均
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B7 で解いてみましょう。

演習 応用 複数条件の合計(SUMIFS)

売上明細です。店舗と商品の2条件で数量を合計します。

課題セル F2 に「店舗が渋谷」かつ「商品がコーヒー」の数量合計を求める数式を入力してください。
F2 fx
ABCDEF
1 店舗 商品 数量 渋谷×コーヒー 合計
2 渋谷 コーヒー 3
3 新宿 コーヒー 5
4 渋谷 紅茶 2
5 渋谷 コーヒー 4
6 新宿 紅茶 1
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に F2 で解いてみましょう。

演習 応用 複数条件の件数(COUNTIFS)

問い合わせ記録です。部署と緊急度の2条件で件数を数えます。

課題セル F2 に「部署が営業」かつ「緊急度が高」の件数を求める数式を入力してください。
F2 fx
ABCDEF
1 部署 緊急度 内容 営業×高 件数
2 営業 A
3 開発 B
4 営業 C
5 営業 D
6 営業 E
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に F2 で解いてみましょう。

演習 応用 条件付き平均(AVERAGEIF)

商品レビューです。カテゴリ別の平均評価を求めます。

課題セル E2 に、カテゴリが「家電」の評価の平均を求める数式を入力してください。
E2 fx
ABCDE
1 商品 カテゴリ 評価 家電の平均評価
2 扇風機 家電 4
3 小説 書籍 5
4 掃除機 家電 2
5 雑誌 書籍 3
6 電球 家電 3
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 条件付き最大値(MAXIFS)

営業成績です。地域ごとの最高売上を調べます。

課題セル E2 に、地域が「東日本」の中での売上の最大値を求める数式を入力してください。
E2 fx
ABCDE
1 担当 地域 売上 東日本の最高売上
2 A 東日本 120
3 B 西日本 200
4 C 東日本 180
5 D 西日本 90
6 E 東日本 150
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 N番目に大きい値(LARGE)

売上ランキングを作ります。上位3位の値を一気に出します。

課題セル D2 に、売上(B2:B7)の大きい順で1位・2位・3位の値を縦に並べる数式を入力してください(スピル)。
D2 fx
ABCD
1 商品 売上 上位3位
2 A 300
3 B 500
4 C 100
5 D 450
6 E 200
7 F 350
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 応用 空白セルを数える(COUNTBLANK)

提出状況の表です。未提出(空白)の人数を数えます。

課題セル D2 に、提出欄(B2:B6)の空白セルの個数を求める数式を入力してください。
D2 fx
ABCDE
1 氏名 提出物 未提出件数
2 佐藤 レポート
3 鈴木
4 田中 レポート
5 高橋
6 伊藤
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 可視行だけ集計(SUBTOTAL)

フィルタで一部の行を非表示にした表です。表示中の行だけを合計したい場面です。ここでは4行目を手動で非表示にしたと想定します。

課題セル B7 に、フィルタや行の非表示に連動し「画面に見えている行」だけを合計する数式を入力してください(集計種別は合計)。
B7 fx
AB
1 項目 金額
2 A 100
3 B 200
4 C 300
5 D 400
6 E 500
7 表示分合計
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B7 で解いてみましょう。

演習 発展 重み付き合計を一発で(SUMPRODUCT)

科目ごとに点数と単位数(重み)があります。単位数で重み付けした合計点を求めます。

課題セル D2 に、各科目の「点数×単位数」をすべて足し合わせた値(加重合計)を1つの数式で求めてください。
D2 fx
ABCDE
1 科目 点数 単位数 加重合計
2 国語 80 3
3 数学 90 4
4 英語 70 2
5 理科 60 1
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 順位を付ける(RANK)

点数表に順位列を作ります。降順(高いほど1位)で各人の順位を出します。

課題セル C2 に、佐藤の点数(B2)が全員(B2:B6)の中で大きい順に何位かを求める数式を入力してください。下方向にコピーする前提で、範囲は絶対参照にします。
C2 fx
ABC
1 氏名 点数 順位
2 佐藤 80
3 鈴木 95
4 田中 70
5 高橋 95
6 伊藤 60
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

論理・検索

条件分岐と検索の関数を、実務シナリオで手を動かしながら身につけます。IF 系の論理判定から、VLOOKUP・INDEX+MATCH・XLOOKUP までを段階的に扱います。

基礎 — 論理と単純検索

演習 基礎 合否判定(IF)

試験の点数表です。60点以上を合格とします。

課題セル B2 に、A2 の点数が60以上なら「合格」、そうでなければ「不合格」を返す数式を入力してください。
B2 fx
AB
1 点数 判定
2 72
3 58
4 60
5 95
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 2条件のAND判定(IF × AND)

出席率と点数の両方を満たした人だけを合格にします。

課題セル C2 に、出席率が80以上「かつ」点数が60以上なら「合格」、それ以外は「不合格」を返す数式を入力してください。
C2 fx
ABC
1 出席率 点数 判定
2 90 70
3 75 80
4 85 55
5 100 60
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 基礎 いずれかを満たす(IF × OR)

VIP判定です。会員ランクがゴールド、または年間購入が100以上なら優待対象とします。

課題セル C2 に、ランクが「ゴールド」または購入額が100以上なら「優待」、それ以外は「通常」を返す数式を入力してください。
C2 fx
ABC
1 ランク 購入額 区分
2 シルバー 120
3 ゴールド 30
4 シルバー 80
5 ブロンズ 200
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 基礎 完全一致の検索(VLOOKUP)

商品マスタから、入力したコードの単価を引きます。

課題セル E2 に、D2 のコードに対応する単価を、完全一致で返す数式を入力してください。
E2 fx
ABCDE
1 コード 単価 検索コード 単価
2 P01 120 P03
3 P02 80
4 P03 200
5 P04 150
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 基礎 エラーを既定値に置き換える(IFERROR)

在庫表から数量を引きますが、登録されていない商品コードが混ざることがあります。

課題セル E2 に、D2 の商品の在庫数を返し、見つからなければ「在庫なし」と表示する数式を入力してください。
E2 fx
ABCDE
1 商品 在庫 検索 結果
2 ペン 40 ノート
3 消しゴム 25
4 定規 10
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

応用 — 検索の組み合わせと多分岐

演習 応用 多段階の評価(IFS)

点数を A / B / C の3段階で評価します。90以上がA、70以上がB、それ未満がCです。

課題セル B2 に、点数に応じて「A」「B」「C」を返す数式を、IFS で入力してください。
B2 fx
AB
1 点数 評価
2 95
3 72
4 88
5 60
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 番号からラベルへ(SWITCH)

曜日コード(1〜7)を曜日名に変換します。

課題セル B2 に、A2 の番号を 1→月, 2→火, 3→水 に変換し、それ以外は「?」を返す数式を、SWITCH で入力してください。
B2 fx
AB
1 番号 曜日
2 2
3 1
4 3
5 5
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 左方向の逆引き(INDEX × MATCH)

商品名が左、コードが右に並んでいます。VLOOKUP は右にしか進めません。

課題セル E2 に、D2 のコードに対応する商品名(左の列)を返す数式を、INDEX と MATCH で入力してください。
E2 fx
ABCDE
1 商品名 コード 検索コード 商品名
2 りんご A001 A003
3 みかん A002
4 ぶどう A003
5 もも A004
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 見つからないときの既定値(XLOOKUP)

社員マスタから部署を引きます。退職者IDなどマスタに無いIDが来ても止めません。

課題セル E2 に、D2 のIDの部署を返し、見つからなければ「不明」と表示する数式を、XLOOKUP で入力してください。
E2 fx
ABCDE
1 ID 部署 検索ID 部署
2 E01 営業 E09
3 E02 開発
4 E03 総務
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 近似一致で区分する(VLOOKUP TRUE)

購入金額に応じた会員ランクの区分表です。区分表は昇順に並んでいます。

課題セル E2 に、D2 の金額が属するランクを、近似一致の VLOOKUP で返してください。
E2 fx
ABCDE
1 下限 ランク 金額 ランク
2 0 レギュラー 250
3 100 シルバー
4 300 ゴールド
5 500 プラチナ
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 番号で選ぶ(CHOOSE)

評価番号(1〜3)を文章のコメントに変換します。

課題セル B2 に、A2 の番号で 1→要改善, 2→標準, 3→優秀 を返す数式を、CHOOSE で入力してください。
B2 fx
AB
1 評価 コメント
2 3
3 1
4 2
5 3
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

発展 — 2次元検索と複合判定

演習 発展 行と列の交差を引く(INDEX × MATCH × MATCH)

店舗×四半期の売上クロス表です。指定した店舗・四半期の交点の値を取り出します。

課題セル F2 に、F1 の店舗かつ G1 の四半期に対応する売上を、INDEX と MATCH の組み合わせで返してください。
F2 fx
ABCDEFG
1 店舗 Q1 Q2 Q3 新宿 Q3
2 渋谷 100 120 140
3 新宿 200 180 210
4 池袋 90 110 130
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に F2 で解いてみましょう。

演習 発展 検索結果で判定する(XLOOKUP × IF)

商品ごとの在庫数と、必要数を比べます。在庫が必要数を下回るものを発注対象にします。

課題セル F2 に、E2 の商品の在庫を引き、それが E3 の必要数を下回るなら「発注」、足りていれば「OK」を返す数式を入力してください。
F2 fx
ABCDEF
1 商品 在庫 検索商品 判定
2 A 30 B
3 B 15 50
4 C 80
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に F2 で解いてみましょう。

演習 発展 文字列から範囲を組み立てる(INDIRECT)

月ごとのシートではなく、1枚に縦並びのデータがあります。集計したい範囲を文字列で指定して合計します。

課題セル E1 に、D1 に入力された範囲文字列(例 B2:B5)が指す範囲の合計を、INDIRECT で求める数式を入力してください。
E1 fx
ABCDE
1 売上 B2:B5
2 1月 100
3 2月 150
4 3月 200
5 4月 50
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E1 で解いてみましょう。

完成です。論理判定(IF/AND/OR/IFS/SWITCH/CHOOSE)と検索(VLOOKUP/INDEX+MATCH/XLOOKUP/INDIRECT)を、左方向の逆引き・近似一致・2次元検索・複合判定まで段階的に練習しました。検索は「完全一致は FALSE/0 を明示」「区分は昇順+近似一致」「逆引き・2次元は INDEX+MATCH か XLOOKUP」を押さえれば、実務のほとんどに対応できます。

テキスト・正規表現

文字列の抽出・整形・判定を、住所・氏名・コード・メールなどの実データで鍛えます。正規表現の記号があやしいときは、正規表現 完全ガイド(RE2) で使える記号と「RE2に無い機能」を確認できます。

演習 基礎 商品コードの先頭3文字を取り出す(LEFT)

商品コードの先頭3文字は「カテゴリ記号」です。ここだけ取り出します。

課題セル B2 に、A2 の文字列の左から3文字を取り出す数式を入力してください。
B2 fx
AB
1 商品コード カテゴリ記号
2 ABC-00123
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 ファイル名の末尾4文字(RIGHT)

ファイル名の末尾「.pdf」を取り出して拡張子を確認します。

課題セル B2 に、A2 の右から4文字を取り出す数式を入力してください。
B2 fx
AB
1 ファイル名 拡張子
2 report_2026.pdf
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 文字数を数える(LEN)

入力されたパスワードが規定の文字数かをチェックするため、長さを数えます。

課題セル B2 に、A2 の文字数を返す数式を入力してください。
B2 fx
AB
1 パスワード 文字数
2 Pass1234!
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 アルファベットを大文字に(UPPER)

顧客が入力した商品コードの大小がバラバラなので、すべて大文字に統一します。

課題セル B2 に、A2 をすべて大文字に変換する数式を入力してください。
B2 fx
AB
1 入力値 統一後
2 ab-12cd
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 余分な空白を取り除く(TRIM)

コピペで前後や途中に余分なスペースが入った氏名を整えます。

課題セル B2 に、A2 の余分な空白を除去する数式を入力してください。
B2 fx
AB
1 入力された氏名 整形後
2 山田 太郎
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 区切り位置を探して取り出す(MID+FIND)

「姓-名」形式のコードから、ハイフンの後ろの「名」だけを取り出します。

課題セル B2 に、A2- より後ろの文字列を取り出す数式を入力してください。
B2 fx
AB
1 コード
2 yamada-taro
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 特定の文字を削除(SUBSTITUTE)

電話番号のハイフンを取り除いて、数字だけの形にします。

課題セル B2 に、A2 から - をすべて削除する数式を入力してください。
B2 fx
AB
1 電話番号 ハイフン無し
2 090-1234-5678
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 n番目だけを置換(SUBSTITUTE 第4引数)

日付文字列の2つ目の区切りだけを変えたい、というように出現回数を指定して置換します。

課題セル B2 に、A2 の中で2番目の / だけを - に置き換える数式を入力してください。
B2 fx
AB
1 元データ 置換後
2 2026/06/03
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 位置を指定して置換(REPLACE)

会員IDの先頭2桁を、固定の支店コードに丸ごと差し替えます。

課題セル B2 に、A2 の1文字目から2文字分を TK に置き換える数式を入力してください。
B2 fx
AB
1 旧ID 新ID
2 00-998877
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 複数セルを区切り文字で連結(TEXTJOIN)

都道府県・市区町村・番地を、空欄は飛ばしつつ1つの住所文字列にまとめます。

課題セル D2 に、A2:C2空欄を無視して スペース区切りで連結する数式を入力してください。
D2 fx
ABCD
1 都道府県 市区町村 番地 住所
2 東京都 渋谷1-2-3
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 応用 数値をパーセント書式の文字列に(TEXT)

達成率 0.1234 を「12.3%」という見せ方の文字列にして、レポートに埋め込みます。

課題セル B2 に、A2 を小数第1位までのパーセント表記の文字列にする数式を入力してください。
B2 fx
AB
1 達成率 表示用
2 0.1234
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 メールかどうかを判定(REGEXMATCH)

入力された文字列が、ざっくりメールアドレスの形(@とドメインのドット)になっているか判定します。

課題セル B2 に、A2 がメール形式なら TRUE を返す数式を入力してください。
B2 fx
AB
1 入力値 メール形式か
2 [email protected]
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 郵便番号を抜き出す(REGEXEXTRACT)

住所文字列の先頭に紛れた郵便番号(3桁-4桁)だけを正確に取り出します。

課題セル B2 に、A2 から 123-4567 形式の郵便番号を取り出す数式を入力してください。
B2 fx
AB
1 住所 郵便番号
2 〒150-0001 東京都渋谷区
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 メールからドメインを抽出(REGEXEXTRACT+グループ)

メールアドレスの @ より後ろのドメイン部分だけを取り出して集計に使います。

課題セル B2 に、A2 のメールアドレスからドメイン(@の後ろ)を取り出す数式を入力してください。
B2 fx
AB
1 メール ドメイン
2 [email protected]
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 桁区切りカンマを付ける(TEXT で整形)

金額の数値に3桁ごとのカンマを付け、頭に円記号を付けた表示用文字列を作ります。

課題セル B2 に、A2¥1,234,567 の形の文字列にする数式を入力してください。
B2 fx
AB
1 金額 表示用
2 1234567
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 区切りで分割して2番目を取る(INDEX+SPLIT)

「姓 名」をスペースで分割し、2番目の「名」だけを1セルに取り出します(SPLIT単体は横に展開してしまうため INDEX で1つ選びます)。

課題セル B2 に、A2 をスペースで分割し2番目の語を取り出す数式を入力してください。
B2 fx
AB
1 氏名
2 田中 花子
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

正規表現の実戦ドリル(RE2)

正規表現 完全ガイド(RE2) の内容を、実データで手を動かして固めます。Google スプレッドシートで実際に動く RE2 構文だけを扱います(先読み・後読み・後方参照は使いません)。

演習 応用 全体が一致するか判定する(^ と $)

入力値が「数字ちょうど7桁」になっているかを厳密に判定します。

課題セル B2 に、A2 が数字ちょうど7桁のときだけ TRUE を返す数式を入力してください。
B2 fx
AB
1 判定
2 1234567
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 数字以外をすべて消す(否定クラス)

電話番号からハイフンなどを除いて数字だけにします。

課題セル B2 に、A2 から数字以外をすべて削除する数式を入力してください。
B2 fx
AB
1 電話 数字のみ
2 03-1234-5678
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 REGEXEXTRACT は最初の一致だけ

複数の数字の並びがある文字列から、最初のかたまりを取り出します。

課題セル B2 に、A2 から最初に現れる連続した数字を取り出す数式を入力してください。
B2 fx
AB
1 元データ 抽出
2 A12 B34 C56
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 キャプチャグループで一部だけ取り出す

決まった前置きのあとに続く番号だけが欲しい場面です。

課題セル B2 に、A2 の「注文: 」に続く数字だけを取り出す数式を、グループ () を使って入力してください。
B2 fx
AB
1 元データ 注文番号
2 注文: 12345 (確定)
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 $1 で並べ替えて置換する

MM/DD/YYYY 形式の日付文字列を、ISO の YYYY-MM-DD に並べ替えます。

課題セル B2 に、A2(月/日/年)を 年-月-日 の順に並べ替える数式を、3つのグループと $1 記法で入力してください。
B2 fx
AB
1 元(MM/DD/YYYY) ISO(YYYY-MM-DD)
2 01/15/2026
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 大文字小文字を無視する((?i))

ログ文字列に「error」が(大文字小文字を問わず)含まれるか判定します。

課題セル B2 に、A2 に「error」が大文字小文字を区別せず含まれていれば TRUE を返す数式を入力してください。
B2 fx
AB
1 ログ errorを含む?
2 ERROR: disk full
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 貪欲と控えめ(.*?)

タグが連続する文字列から、最初のタグだけを取り出します。

B2 fx
AB
1 元データ 最初のタグ
2

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 ひらがなだけ取り出す(文字コード範囲)

日本語まじりの文字列から、ひらがなの連なりを取り出します。

課題セル B2 に、A2 から最初に現れるひらがなの連続を取り出す数式を入力してください。
B2 fx
AB
1 元データ ひらがな
2 りんご(Apple)123
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 カタカナだけ取り出す

部門名などからカタカナ部分を抜き出します。

課題セル B2 に、A2 から最初に現れるカタカナの連続を取り出す数式を入力してください。
B2 fx
AB
1 元データ カタカナ
2 部門:カメラ事業部
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 どちらかに一致(選択 |)

会社名から法人格(株式会社/有限会社)を抜き出します。

課題セル B2 に、A2 から「株式会社」または「有限会社」を取り出す数式を、選択 | を使って入力してください。
B2 fx
AB
1 会社名 法人格
2 有限会社ナカヤ
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 連続する空白を1つにまとめる(\s)

入力時に空いてしまった連続スペースを1つに整えます。

課題セル B2 に、A2 の連続した半角空白を半角1つにまとめる数式を入力してください。
B2 fx
AB
1 元データ 整形後
2 a b c
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 @ より前を取り出す(否定クラス+アンカー)

メールアドレスのユーザー名部分(@ の前)だけが欲しい場面です。

課題セル B2 に、A2 の先頭から @ の直前までを取り出す数式を入力してください。
B2 fx
AB
1 メール ユーザー名
2 [email protected]
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 発展 3桁以上の数字だけ拾う({n,})

短い番号は無視して、3桁以上の数字の並びだけを取り出します。

課題セル B2 に、A2 から最初に現れる「3桁以上」の連続した数字を取り出す数式を入力してください。
B2 fx
AB
1 元データ 抽出
2 x12 y3456 z78
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

日付・時刻

締め日・支払期日・年齢・勤続年数・納期・営業日を、実行日に左右されないよう基準日を明示して計算します。結果は原則 TEXT で文字列化し、表示が崩れないようにします。

演習 基礎 文字列の年・月・日から日付を組み立てる(DATE)

フォームから受け取った年・月・日が別々のセルに入っています。1つの日付にまとめます。

課題セル D2 に、A2(年)・B2(月)・C2(日)から日付を作り、yyyy/mm/dd 形式の文字列で表示する数式を入力してください。
D2 fx
ABCD
1 日付
2 2026 3 15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 基礎 日付から「月」だけを取り出す(MONTH)

売上日から集計用の「月」を抜き出します。

課題セル B2 に、A2 の日付の(数値)を取り出す数式を入力してください。
B2 fx
AB
1 売上日
2 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 月末日を求める(EOMONTH)

請求の締めは月末です。基準日が属する当月の月末を求めます。

課題セル B2 に、A2 の日付が属する月の月末日yyyy/mm/dd 形式の文字列で表示する数式を入力してください。
B2 fx
AB
1 基準日 月末日
2 2026-02-10
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 Nヶ月後の同じ日(EDATE)

契約は3ヶ月ごとの更新です。基準日の3ヶ月後の応当日を求めます。

課題セル B2 に、A2 の日付の3ヶ月後の同じ日を yyyy/mm/dd 形式の文字列で表示する数式を入力してください。
B2 fx
AB
1 基準日 3ヶ月後
2 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 基礎 曜日を日本語1文字で表示する(TEXT aaa)

シフト表に曜日を「日」「月」のように表示したいです。

課題セル B2 に、A2 の日付の曜日を日本語1文字(例:)で表示する数式を入力してください。
B2 fx
AB
1 日付 曜日
2 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 満年齢を求める(DATEDIF Y)

会員名簿で、基準日時点の満年齢を自動計算します。

課題セル C2 に、生年月日 A2 から基準日 B2 時点の満年齢(数値)を求める数式を入力してください。
C2 fx
ABC
1 生年月日 基準日 満年齢
2 1990-07-20 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 応用 勤続「N年Mヶ月」を求める(DATEDIF Y と YM)

人事システムで勤続期間を「○年○ヶ月」と表示します。

課題セル C2 に、入社日 A2 から基準日 B2 までの勤続を 7年11ヶ月 のような文字列で表示する数式を入力してください。
C2 fx
ABC
1 入社日 基準日 勤続
2 2018-04-01 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 応用 日数の差を求める(DATEDIF D)

発注日から検収日までの経過日数を求めます。

課題セル C2 に、開始日 A2 から終了日 B2 までの経過日数(数値)を求める数式を入力してください。
C2 fx
ABC
1 開始日 終了日 日数
2 2026-03-01 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 応用 曜日番号を求める(WEEKDAY)

土日を判定するため、日付から曜日番号を取り出します。

課題セル B2 に、A2 の日付の曜日番号を求める数式を入力してください(type は既定。日曜=1〜土曜=7)。
B2 fx
AB
1 日付 曜日番号
2 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 N営業日後の納期を求める(WORKDAY)

受注日から土日を除いて5営業日後を納期とします(祝日は考慮しない)。

課題セル B2 に、受注日 A25営業日後yyyy/mm/dd 形式の文字列で表示する数式を入力してください。
B2 fx
AB
1 受注日 納期
2 2026-03-13
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

演習 応用 期間内の営業日数を数える(NETWORKDAYS)

プロジェクト期間の実働日数(土日を除く)を算出します。

課題セル C2 に、開始日 A2 から終了日 B2 までの営業日数(両端を含む、土日を除く)を求める数式を入力してください。
C2 fx
ABC
1 開始日 終了日 営業日数
2 2026-03-02 2026-03-13
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 発展 文字列の日付を計算可能にする(DATEVALUE)

他システムからの取込みで日付が文字列 2026/03/15 のまま入っており、引き算ができません。

課題セル C2 に、文字列の日付 A2B2差の日数(数値)を、文字列を日付に変換したうえで求める数式を入力してください。
C2 fx
ABC
1 開始(文字列) 終了(文字列) 日数
2 2026/03/01 2026/03/15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 発展 その年の第何週かを求める(WEEKNUM)

週次レポートで、日付がその年の第何週に当たるかを自動採番します。

課題セル B2 に、A2 の日付がその年の第何週か(既定の週番号。1月1日を含む週を第1週、週は日曜始まり)を求める数式を入力してください。
B2 fx
AB
1 日付 週番号
2 2026-03-15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に B2 で解いてみましょう。

配列・スピル

1つの数式で範囲全体を処理し、結果が複数セルへ自動展開される「スピル」を身につけます。各問とも、模範解答を実際のスプレッドシートに入力した結果と答えが一致するよう設計しています。

演習 基礎 列を一括計算する(ARRAYFORMULA)

商品ごとの単価と数量から、金額(単価×数量)の列を1つの数式でまとめて作ります。

課題セル C2 に、各行の単価×数量を一気に計算して縦に並べる数式を入力してください(C3以降は自動でスピルします)。
C2 fx
ABC
1 単価 数量 金額
2 100 3
3 200 2
4 150 4
5 300 1
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 基礎 重複を除く(UNIQUE)

受注リストの商品名から、重複しない商品の一覧を作ります。

課題セル C2 に、A列の商品名(A2:A6)から重複を除いた一覧を出す数式を入力してください(複数行にスピルします)。
C2 fx
ABC
1 商品名 一覧
2 みかん
3 りんご
4 みかん
5 ばなな
6 りんご
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 基礎 連番を作る(SEQUENCE)

名簿に通し番号を振ります。5人分のNo.を一気に生成します。

課題セル A2 に、1から5までの連番を縦に並べる数式を入力してください(スピル)。
A2 fx
AB
1 No. 氏名
2 佐藤
3 鈴木
4 田中
5 高橋
6 伊藤
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に A2 で解いてみましょう。

演習 基礎 横を縦に向ける(TRANSPOSE)

1行に横並びで入力された曜日を、縦1列に並べ替えます。

課題セル A3 に、1行目の曜日(A1:E1)を縦方向に並べ替える数式を入力してください(スピル)。
A3 fx
ABCDE
1
2
3
4
5
6
7
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に A3 で解いてみましょう。

演習 応用 条件で絞り込む(FILTER)

受注一覧から、ステータスが「完了」の注文IDだけを抜き出します。

課題セル D2 に、ステータス(B列)が「完了」の行の注文ID(A列)だけを縦に抽出する数式を入力してください(スピル)。
D2 fx
ABCD
1 注文ID ステータス 完了の注文ID
2 1001 完了
3 1002 処理中
4 1003 完了
5 1004 完了
6 1005 処理中
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 応用 2条件で絞り込む(FILTER × AND)

売上明細から、店舗が「渋谷」かつ商品が「コーヒー」の数量だけを抜き出します。

課題セル E2 に「店舗が渋谷」かつ「商品がコーヒー」の行の数量(C列)を抽出する数式を入力してください(スピル)。条件は * でつなぎます。
E2 fx
ABCDE
1 店舗 商品 数量 渋谷×コーヒーの数量
2 渋谷 コーヒー 3
3 新宿 コーヒー 5
4 渋谷 紅茶 2
5 渋谷 コーヒー 4
6 新宿 紅茶 1
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 どちらかに合う(FILTER × OR)

問い合わせ記録から、緊急度が「高」または「中」の内容を抜き出します。

課題セル D2 に、緊急度(B列)が「高」または「中」の行の内容(C列)を抽出する数式を入力してください(スピル)。条件は + でつなぎます。
D2 fx
ABCD
1 No. 緊急度 内容 抽出結果
2 1 A
3 2 B
4 3 C
5 4 D
6 5 E
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 応用 昇順に並べ替える(SORT)

売上の数値を、小さい順(昇順)に並べ替えて一覧にします。

課題セル C2 に、A列の売上(A2:A6)を昇順(小さい順)に並べ替える数式を入力してください(スピル)。
C2 fx
ABC
1 売上 昇順
2 300
3 100
4 500
5 200
6 400
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 応用 重複除去して並べ替え(UNIQUE × SORT)

受注リストの商品名から、重複しない一覧を昇順で作ります。

課題セル C2 に、A列の商品名から重複を除き、昇順に並べた一覧を出す数式を入力してください(スピル)。
C2 fx
ABC
1 商品名 一覧
2 みかん
3 りんご
4 みかん
5 ばなな
6 りんご
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 応用 上位N件を取り出す(SORTN)

売上ランキングで、上位3件の売上額だけを大きい順に取り出します。

課題セル C2 に、A列の売上(A2:A7)から上位3件を降順で取り出す数式を入力してください(スピル)。
C2 fx
ABC
1 売上 上位3件
2 300
3 500
4 100
5 450
6 200
7 350
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 発展 複数列を1列にまとめる(FLATTEN)

午前と午後で別々の列に入力された担当者名を、1列の名簿にまとめます。

課題セル D2 に、A列の担当者(A2:A4)の下にB列の担当者(B2:B4)を続けて、縦1列の名簿にまとめる数式を入力してください(スピル)。
D2 fx
ABCD
1 午前 午後 名簿
2 佐藤 高橋
3 鈴木 伊藤
4 田中 渡辺
5
6
7
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 2つの範囲を縦結合(配列リテラル)

東店と西店、別々の表にある商品名を、1つの数式で縦に結合した一覧にします。

課題セル D2 に、東店リスト(A2:A4)の下に西店リスト(B2:B3)を続けて縦結合する数式を入力してください(スピル)。配列リテラル {'{ }'} を使います。
D2 fx
ABCD
1 東店 西店 統合一覧
2 りんご みかん
3 ばなな ぶどう
4 もも
5
6
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 抽出して並べ替え(FILTER × SORT)

社員一覧から、部署が「営業」の人の点数だけを抜き出し、高い順に並べたランキングを作ります。

課題セル E2 に、部署(B列)が「営業」の行の点数(C列)を抽出し、降順(高い順)に並べる数式を入力してください(スピル)。
E2 fx
ABCDE
1 氏名 部署 点数 営業の点数(降順)
2 佐藤 営業 80
3 鈴木 開発 95
4 田中 営業 70
5 高橋 営業 90
6 伊藤 開発 60
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

QUERY

SQL風の文でデータを抽出・集計します。=QUERY(範囲, “クエリ”, 見出し行数) の形で、列は select ACol1 で指定します。SheetExでは結果が縦1列または1セルになる問いを扱います(複数列になる group by / pivot は解説でのみ触れます)。クエリ内の文字列は半角シングルクオート ’…’ で囲みます。

演習 基礎 条件に合う列を抽出(select / where 文字列)

売上表から、店舗が渋谷の行の商品名だけを取り出します。

課題セル E2 に、A列(店舗)が渋谷である行のB列(商品)を抽出する数式を入力してください。
E2 fx
ABCDE
1 店舗 商品 金額 結果
2 渋谷 150
3 新宿 80
4 渋谷 菓子 200
5 池袋 120
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 基礎 数値条件で抽出して降順に(where 比較 / order by desc)

売上表から、金額が100以上の店舗名を金額の大きい順に並べます。

課題セル E2 に、C列(金額)が100以上のA列(店舗)を、金額の降順で抽出する数式を入力してください。
E2 fx
ABCDE
1 店舗 商品 金額 結果
2 渋谷 150
3 新宿 80
4 池袋 菓子 200
5 上野 120
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 基礎 件数を数える(count をスカラに / label '')

受注一覧から、ステータスが完了の件数を1つの数で求めます。

課題セル E2 に、B列(ステータス)が完了の行数を求める数式を入力してください。結果が1セルになるよう、ラベルは空にします。
E2 fx
ABCDE
1 注文 ステータス 完了件数
2 1001 完了
3 1002 処理中
4 1003 完了
5 1004 完了
6 1005 処理中
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 基礎 昇順で並べて上位だけ(order by asc / limit)

商品の価格表から、安い順に3件の商品名を取り出します。

課題セル E2 に、C列(価格)の安い順でA列(商品)を3件だけ抽出する数式を入力してください。
E2 fx
ABCDE
1 商品 区分 価格 結果
2 ペン 文具 300
3 消しゴム 文具 100
4 ノート 文具 250
5 定規 文具 200
6 付箋 文具 150
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 条件付き合計をスカラに(sum / label '')

店舗別の売上から、東京の売上合計だけを1つの数で求めます。

課題セル E2 に、A列(店舗)が東京のC列(金額)の合計を求める数式を入力してください。結果が1セルになるようラベルは空にします。
E2 fx
ABCDEF
1 店舗 商品 金額 東京の合計
2 東京 150
3 大阪 80
4 東京 菓子 200
5 名古屋 120
6 東京 90
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 AND で2条件を満たす行(where … and …)

売上明細から、渋谷かつ金額が100より大きい行の商品名を取り出します。

課題セル E2 に、A列(店舗)が渋谷で、かつC列(金額)が100より大きい行のB列(商品)を抽出する数式を入力してください。
E2 fx
ABCDE
1 店舗 商品 金額 結果
2 渋谷 150
3 渋谷 80
4 新宿 菓子 200
5 渋谷 菓子 120
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 OR でいずれかに該当(where … or …)

会員リストから、ランクがゴールドまたはプラチナの会員名を取り出します。

課題セル E2 に、B列(ランク)がゴールドまたはプラチナの行のA列(氏名)を抽出する数式を入力してください。
E2 fx
ABCDE
1 氏名 ランク 結果
2 佐藤 ゴールド
3 鈴木 シルバー
4 田中 プラチナ
5 高橋 シルバー
6 伊藤 ゴールド
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 先頭を飛ばして抜き出す(limit / offset)

売上ランキングから、上位を除いた「4位以降」の店舗を順に取り出します。

課題セル E2 に、C列(売上)の降順に並べたうえで、上位3件を飛ばし次の2件のA列(店舗)を抽出する数式を入力してください。
E2 fx
ABCDE
1 店舗 商品 売上 結果
2 A店 500
3 B店 300
4 C店 菓子 450
5 D店 200
6 E店 350
7 F店 菓子 100
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 最大値をスカラで取り出す(max / label '')

気温の記録から、期間中の最高気温だけを1つの数で求めます。

課題セル D2 に、B列(気温)の最大値を求める数式を入力してください。結果が1セルになるようラベルは空にします。
D2 fx
ABCDE
1 日付 気温 最高気温
2 6/1 24
3 6/2 28
4 6/3 22
5 6/4 31
6 6/5 27
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 応用 列を番号で指定(Col1 / Col2 表記)

範囲の左端を基準にした列番号 ColN でも列を指定できます。担当が営業の案件名を取り出します。

課題セル E2 に、ColN表記を使い、B列(担当=Col2)が営業である行のA列(案件=Col1)を抽出する数式を入力してください。
E2 fx
ABCDE
1 案件 担当 結果
2 α 営業
3 β 開発
4 γ 営業
5 δ 総務
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 発展 複合条件+並べ替え+件数制限(and / order / limit)

売上明細から、商品が茶でかつ金額100以上の行を、金額の高い順に2件だけ店舗名で取り出します。

課題セル E2 に、B列(商品)が茶で、かつC列(金額)が100以上の行を、金額の降順で2件だけA列(店舗)として抽出する数式を入力してください。
E2 fx
ABCDE
1 店舗 商品 金額 結果
2 渋谷 150
3 新宿 300
4 池袋 90
5 上野 250
6 品川 180
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 発展 条件付き平均をスカラに(avg / label '')

商品評価から、カテゴリが家電の平均評価だけを1つの数で求めます。

課題セル E2 に、B列(カテゴリ)が家電のC列(評価)の平均を求める数式を入力してください。結果が1セルになるようラベルは空にします。
E2 fx
ABCDEF
1 商品 カテゴリ 評価 平均評価
2 扇風機 家電 4
3 小説 書籍 5
4 掃除機 家電 2
5 電球 家電 3
6 雑誌 書籍 1
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 発展 日付で抽出して並べ替え(date リテラル)

申込ログから、3月1日以降の申込を日付の古い順に取り出します。

課題セル E2 に、C列(日付)が2026-03-01以降の行のA列(氏名)を、日付の昇順で抽出する数式を入力してください。
E2 fx
ABCDE
1 氏名 区分 日付 結果
2 佐藤 新規 2026-02-20
3 鈴木 新規 2026-03-05
4 田中 継続 2026-04-10
5 高橋 新規 2026-03-01
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

LAMBDA・高階関数

ARRAYFORMULA は「セルごとに同じ式」を一括適用するだけで、「行をまとめて1値にする」「前の結果を引き継いで累積する」といった処理はできません。LAMBDA とその仲間(MAP・REDUCE・SCAN・BYROW・BYCOL・MAKEARRAY)、そして LET を使い、実務の集計・累計・スコア計算を1つの数式で組み立てます。各問とも、模範解答をスプレッドシートに入力した結果と答えが一致するよう設計しています。

演習 応用 行ごとの合計(BYROW × LAMBDA)

四半期の売上表です。担当ごと(行ごと)の合計を1列で出します。ARRAYFORMULA(SUM(B2:D4)) では全体が1つに畳まれてしまい、行別になりません。

課題セル E2 に、各行(B〜D)の合計を行ごとに縦1列で出す数式を入力してください。
E2 fx
ABCDE
1 担当 1月 2月 3月 合計
2 佐藤 10 20 30
3 鈴木 5 15 25
4 田中 40 0 5
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 2列を要素ごとに掛ける(MAP)

受注明細です。各行の「数量×単価」を金額として一括で出します。

課題セル D2 に、数量(B列)と単価(C列)を行ごとに掛けた金額を縦1列で出す数式を入力してください。
D2 fx
ABCD
1 商品 数量 単価 金額
2 A 3 100
3 B 5 200
4 C 2 150
5 D 4 250
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 応用 累積で合計する(REDUCE)

入金リストです。初期値0から順に足し込み、最終的な合計を1セルに出します。

課題セル D2 に、初期値0から B2:B5 を順に足し込んだ合計(スカラ)を REDUCE で求める数式を入力してください。
D2 fx
ABCDE
1 日付 入金 合計
2 1 120
3 2 80
4 3 200
5 4 50
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 累計残高の列を作る(SCAN)

家計の入出金です。入金はプラス・出金はマイナスで並んでいます。各時点の残高(累計)を縦1列で出します。

課題セル C2 に、初期値0から B2:B6 を順に足し込み、各行時点の累計残高を縦1列で出す数式を入力してください。
C2 fx
ABC
1 項目 増減 残高
2 給与 100
3 食費 -30
4 臨時収入 50
5 光熱費 -20
6 賞与 80
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 発展 行ごとの最高点(BYROW × MAX)

3科目のテスト結果です。生徒ごとの最高得点を1列で出します。

課題セル E2 に、各行(B〜D)の最大値を行ごとに縦1列で出す数式を入力してください。
E2 fx
ABCDE
1 氏名 国語 数学 英語 最高点
2 佐藤 40 55 30
3 鈴木 60 20 90
4 田中 15 15 15
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 発展 行内の条件カウント(BYROW × IF)

模試の3回分の点数です。生徒ごとに「80点以上が何回あったか」を1列で出します。

課題セル E2 に、各行(B〜D)で 80 以上の個数を行ごとに縦1列で出す数式を入力してください。
E2 fx
ABCDE
1 氏名 1回 2回 3回 80以上の回数
2 佐藤 80 75 90
3 鈴木 60 85 80
4 田中 70 65 50
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 発展 列を1値に集約(BYCOL)

ある1か月の日次売上が縦に並んでいます。BYCOL で列を丸ごと1値に集約します。

課題セル D2 に、売上の列(B2:B6)を BYCOL で受け取り、その合計(スカラ)を返す数式を入力してください。
D2 fx
ABCDE
1 売上 月合計
2 1 1200
3 2 800
4 3 1500
5 4 900
6 5 1100
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 連番から数列を生成(MAKEARRAY)

補助テーブルとして、1〜5の二乗(1,4,9,16,25)の列を式だけで作ります。

課題セル A2 に、5行×1列で「行番号の二乗」を生成する数式を入力してください(縦1列にスピル)。
A2 fx
A
1 二乗
2
3
4
5
6
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に A2 で解いてみましょう。

演習 発展 畳み込みで最大値(REDUCE × MAX)

センサーの測定値です。初期値0から畳み込み、最大値を1セルに出します(最大の自作ロジックの練習)。

課題セル D2 に、初期値0から B2:B6 を畳み込み、最大値(スカラ)を REDUCE で求める数式を入力してください。
D2 fx
ABCDE
1 時刻 最大
2 1 34
3 2 78
4 3 12
5 4 90
6 5 56
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 文字列を区切って連結(REDUCE)

参加者名を1つのセルに「・」区切りでまとめます。TEXTJOIN を使わず、REDUCE で連結ロジックを組みます。

課題セル C2 に、A2:A4 の氏名を「・」でつないだ1つの文字列(スカラ)を REDUCE で作る数式を入力してください。
C2 fx
ABCD
1 氏名 連結結果
2 佐藤
3 鈴木
4 田中
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 発展 累積の最高記録(SCAN × MAX)

毎月の売上です。その月までの「過去最高売上(自己ベスト)」を各行で更新しながら縦1列に出します。

課題セル C2 に、B2:B6 を先頭から走査し、各行時点での「それまでの最大値」を縦1列で出す数式を入力してください。
C2 fx
ABC
1 売上 過去最高
2 1 30
3 2 55
4 3 40
5 4 80
6 5 70
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 応用 中間変数で可読性を上げる(LET)

税抜価格に消費税10%を乗せた税込価格を、行ごとに出します。式の意味が読み取りやすいよう LET で名前を付けます。

課題セル C2 に、LET で税率を変数 rate として定義し、B2:B4 に (1+rate) を掛けた税込価格を縦1列で出す数式を入力してください。
C2 fx
ABC
1 商品 税抜 税込
2 A 1000
3 B 2500
4 C 800
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

総合実践(複合問題)

ここまで学んだ関数を、複数組み合わせて解きます。検索の失敗を既定値に逃がす、条件で絞ってから整列する、行ごとに評価を付ける——現場で本当に出てくる集計・抽出を、1つの数式で組み立てます。各問とも、模範解答を Google スプレッドシートに入力した実際の結果と答えが一致するよう設計しています。

演習 応用 検索失敗を既定値に逃がす(IFERROR × XLOOKUP)

商品マスタ(A:B)から、問い合わせコード(E2)の単価を引きます。マスタに無いコードでもエラーにせず「該当なし」と返します。

課題セル F2 に、E2 のコードに対応する単価を返し、見つからなければ 該当なし と表示する数式を入力してください。
F2 fx
ABCDEF
1 コード 単価 問い合わせ 結果
2 A001 120 X999
3 A002 80
4 A003 300
5 A004 250
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に F2 で解いてみましょう。

演習 応用 空欄を巻き込まない一括計算(ARRAYFORMULA × IF)

受注表です。数量×単価で金額を一括計算しますが、未入力の行(数量が空)は 0 ではなく空欄のままにします。

課題セル D2 に、各行の数量(B)×単価(C)を縦1列で出し、数量が空の行は空欄にする数式を入力してください。
D2 fx
ABCD
1 商品 数量 単価 金額
2 A 3 100
3 B 200
4 C 2 150
5 D 4 250
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 応用 重複を除いて並べ替え(SORT × UNIQUE × FILTER)

アクセスログの参照元です。direct を除いた流入元を、重複を除き五十音(昇順)で一覧にします。

課題セル C2 に、A列の参照元から direct 以外を抽出し、重複を除いて昇順に並べた一覧を出す数式を入力してください。
C2 fx
ABC
1 参照元 結果
2 google
3 direct
4 yahoo
5 google
6 bing
7 yahoo
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 応用 条件付きの合計を1セルに(QUERY 集計)

売上明細です。カテゴリが 食品 の金額合計だけを1セルに出します。

課題セル E2 に、B列(カテゴリ)が食品である行の C列(金額)の合計を返す数式を入力してください。
E2 fx
ABCDE
1 商品 カテゴリ 金額 食品合計
2 食品 150
3 ノート 文具 80
4 菓子 食品 200
5 ペン 文具 120
6 食品 300
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 加重平均を1式で(SUMPRODUCT)

科目ごとに配点(重み)が違うテストです。点数×配点の合計を配点の合計で割り、加重平均点を出します。

課題セル E2 に、点数(B)と配点(C)の加重平均(Σ(点数×配点)÷Σ配点)を求める数式を入力してください。
E2 fx
ABCDE
1 科目 点数 配点 加重平均
2 国語 80 2
3 数学 60 3
4 英語 90 1
5 理科 70 4
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 応用 在庫が足りるか判定(XLOOKUP × IF)

在庫マスタ(A:B)を引き、注文数(E2)と比べて出荷可否を返します。

課題セル F2 に、E2 の商品の在庫数を引き、注文数 3 以上なら 出荷可、不足なら 在庫不足 と返す数式を入力してください。
F2 fx
ABCDEF
1 商品 在庫 注文 判定
2 りんご 5 みかん
3 みかん 2
4 ぶどう 8
5 もも 1
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に F2 で解いてみましょう。

演習 発展 条件に合う値だけ連結(TEXTJOIN × FILTER)

出欠表です。ステータスが 欠席 のメンバーだけを、読点(、)でつないだ1行のテキストにします。

課題セル D2 に、C列が 欠席 の氏名(A列)を、区切りで連結した文字列を出す数式を入力してください。
D2 fx
ABCD
1 氏名 状態 欠席者
2 佐藤 出席
3 鈴木 欠席
4 田中 欠席
5 高橋 出席
6 伊藤 欠席
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 複数しきい値で段階評価(IFS)

点数を A/B/C/D の4段階に振り分けます。90以上=A、70以上=B、50以上=C、それ未満=D です。

課題セル C2 に、B列の点数を 90→A / 70→B / 50→C / それ未満→D で評価する数式を、行ごとに縦1列で出してください。
C2 fx
ABC
1 氏名 点数 評価
2 佐藤 92
3 鈴木 68
4 田中 75
5 高橋 40
6 伊藤 50
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 発展 文字列から数値を抜いて計算(REGEXEXTRACT × VALUE)

120円 のように単位付きで入力された価格列があります。数字部分だけを取り出し、合計します。

課題セル D2 に、A列の各セルから数字部分を取り出して数値化し、その合計(スカラ)を求める数式を入力してください。
D2 fx
ABCD
1 価格 合計
2 120円
3 80円
4 300円
5 50円
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に D2 で解いてみましょう。

演習 発展 左に戻って引く(INDEX × XMATCH)

単価が左、商品名が右という並びの表です。VLOOKUP では左方向に引けないため、INDEX と XMATCH を組みます。

課題セル E2 に、商品名(B列)が ぶどう の行の単価(A列)を返す数式を入力してください。
E2 fx
ABCDE
1 単価 商品名 検索 単価
2 120 りんご ぶどう
3 80 みかん
4 300 ぶどう
5 250 もも
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 発展 複数条件の件数を数える(SUMPRODUCT)

受注ログです。店舗が東京 かつ 金額が100以上 の件数を1セルで数えます。

課題セル E2 に、A列が 東京 かつ C列が 100以上 である行の件数を求める数式を入力してください。
E2 fx
ABCDE
1 店舗 商品 金額 件数
2 東京 150
3 大阪 200
4 東京 菓子 80
5 東京 300
6 大阪 120
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

演習 発展 抽出してエラーは既定文へ(IFERROR × FILTER)

クレーム一覧から「未対応」だけを抜き出します。ただし1件も無い場合に #N/A を出さず「該当なし」と表示します。

課題セル C2 に、B列が 未対応 の案件名(A列)を抽出し、0件なら 該当なし と返す数式を入力してください。
C2 fx
ABC
1 案件 状態 抽出結果
2 案件1 対応済
3 案件2 対応済
4 案件3 対応済
5 案件4 対応済
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に C2 で解いてみましょう。

演習 発展 ランク別に集計表を作る(MAP × SUMIF)

会員の購入額です。会員ランク表(D:E)の各ランクについて、そのランク会員の購入額合計を一覧にします。

課題セル E2 に、各ランク(D列)について A列がそのランクである行の購入額(B列)合計を、ランクごとに縦1列で出す数式を入力してください。
E2 fx
ABCDE
1 ランク 購入額 ランク表 合計
2 500
3 300
4 200
5 100
6 400
空のシートを開く ↗

「データをコピー」→ 新しいスプレッドシートのセル A1 に貼り付け → 実際に E2 で解いてみましょう。

次は 第14章 GASドリル で、関数では届かない自動化の領域を試します。