関数の文法と参照
関数を学ぶ前の土台。数式の基本構造・演算子・関数のネスト・相対/絶対/複合参照と$の挙動・範囲指定・名前付き範囲・主要エラー値の意味と対処・IFERROR/IFNA・循環参照・ロケールまでを実例でまとめて解説します。
個々の関数を覚える前に、すべての数式が乗っている「土台」を固めておきましょう。 数式がどう書かれ、参照がコピー時にどう動き、エラーが何を意味するのか——ここを理解しておくと、知らない関数に出会っても落ち着いて読めますし、壊れた数式の直し方も見当がつきます。逆にこの土台が曖昧なまま関数だけ暗記すると、コピーした途端に結果がズレる、エラーの原因が分からない、といった壁に必ずぶつかります。
本章で扱うのは次の9つです。
- 数式の基本 —
=で始まり、参照・定数・演算子・関数を組み合わせる - 関数の構造 — 関数名・括弧・カンマ区切りの引数・ネスト
- 参照の種類 — 相対・絶対・複合と
$の意味 - 範囲指定 —
A1:B10、列全体、別シート参照 - 名前付き範囲 — 数式を読みやすくする
- エラー値の意味 —
#REF!などの読み解き方 - エラー処理 —
IFERROR/IFNAと乱用の注意 - 循環参照 — 概念と回避
- ロケールと区切り文字 — 地域設定で変わるカンマ
1. 数式の基本
スプレッドシートの数式は、すべて =(イコール)で始まります。= を付けたセルだけが「計算してほしい式」として扱われ、付けなければただの文字列です。数式は次の4つの部品を自由に組み合わせて作ります。
- セル参照 —
A1、B2のように、ほかのセルの値を指す - 定数 —
100、"営業部"、TRUEのように直接書いた値 - 演算子 —
+-*/(算術)、=<>><>=<=(比較)、&(文字列連結) - 関数 —
SUM、IFのような、決まった処理のかたまり
たとえば =A1*1.1 は「A1 の値に 1.1 を掛ける」、=B2&"様" は「B2 の文字に 様 をつなげる」です。& 演算子は文字列の連結に使い、="合計:"&SUM(A1:A10) のように、文字と計算結果をつなげた表示も作れます。
=単価*数量 … 算術=点数>=80 … 比較(結果は TRUE/FALSE)=姓&" "&名 … 文字列連結 数値どうしを & でつなぐと結果は 文字列 になり、合計などの計算に使えなくなる点には注意します。計算したい値はあくまで数値のまま持ちます。
2. 関数の構造
関数は 「関数名」+「括弧 ()」+「カンマ区切りの引数」 という形をしています。引数(ひきすう)とは、関数に渡す材料のことです。
=SUM(A1:A10)
└┬┘ └──┬──┘
関数名 引数(合計したい範囲)
=IF(B2>=80, "合格", "不合格")
└───┬──┘ └─┬─┘ └──┬──┘
第1引数 第2引数 第3引数
引数の個数や意味は関数ごとに決まっています。IF なら「①条件 ②真のときの値 ③偽のときの値」の3つ、というように。日本語ロケールでは引数の区切りは カンマ , です(区切り文字は地域設定で変わります。最後の項目で扱います)。
関数の引数には 別の関数を入れられます。これを ネスト(入れ子) と呼びます。
=IF(SUM(A1:A3)>100, "達成", "未達") … IF の条件に SUM を入れている
ネストは便利ですが、深くなりすぎると読めなくなります。3段を超えるようなら、途中結果を別のセルに出して分割するか、後の章で扱う関数で書き換えるほうが保守しやすくなります。どんな関数が使えるかは、公式の 関数の一覧 や 第5章 主要関数カタログ で確認できます。
3. 参照の種類 — 相対・絶対・複合
ここが本章の山場です。セル参照には3種類あり、数式をコピーしたときの挙動 が変わります。違いは $(ドル記号)の有無です。$ は「固定する」という意味だと覚えてください。
| 書き方 | 名称 | コピーすると | 用途 |
|---|---|---|---|
A1 | 相対参照 | 列も行も一緒にずれる | 通常の計算(隣にコピーして展開) |
$A$1 | 絶対参照 | 列も行も固定(動かない) | 共通の係数・基準セルを参照 |
$A1 | 複合参照(列固定) | 列だけ固定、行はずれる | 列方向に固定したい表計算 |
A$1 | 複合参照(行固定) | 行だけ固定、列はずれる | 行方向に固定したい表計算 |
コピー時の挙動を具体例で。 C2 に =A2*$F$1 と入れたとします(F1 に税率などの共通係数が入っている想定)。これを C3 に下方向コピーすると、相対参照の A2 は A3 に自動でずれますが、絶対参照の $F$1 は F1 のまま動きません。だからすべての行が同じ係数を参照できます。
C2 に =A2*F1 → C3 にコピーすると =A3*F2 になり、係数が空セルにずれるC2 に =A2*$F$1 → C3 にコピーしても =A3*$F$1 で係数は固定される 複合参照は、縦横どちらにも数式を展開する「掛け算の表(九九表のようなもの)」で威力を発揮します。たとえば左端の列の値と上端の行の値を掛ける表では、=$A2*B$1 のように「列を固定した参照」と「行を固定した参照」を組み合わせると、一つの数式を表全体にコピーするだけで完成します。
4. 範囲指定
複数のセルをまとめて指す「範囲」は、始点と終点を :(コロン)でつなぎ ます。
| 書き方 | 意味 |
|---|---|
A1:B10 | A1 から B10 までの長方形の範囲 |
A:A | A列全体(行数を気にせず列ごと) |
1:1 | 1行目全体 |
A2:A | A2 から下の列末尾まで |
列全体(A:A)は「データが何行に増えても拾える」便利さがありますが、ヘッダ行や空セルも含む点に注意します。集計関数では、空セルや見出しを巻き込まないよう範囲を絞るか、それを許容する関数を選びます。
別シートの参照 は、シート名!セル の形です。シート名にスペースや記号が含まれる場合は、シート名を シングルクォート ' で囲みます。
=売上!B2 ← 「売上」シートの B2
='2026 上期'!A1:A100 ← シート名にスペースがある場合
別ファイル(別のスプレッドシート)の参照 は、セル参照では直接できません。IMPORTRANGE 関数を使います。詳しくは 第6章 配列関数 で扱います。
5. 名前付き範囲
よく使う範囲には 名前 を付けられます。たとえば Sheet1!B2:B100 に 売上 という名前を付けておくと、数式を =SUM(売上) と書けます。
数式が読みやすい
=SUM(B2:B100) より =SUM(売上) のほうが、何を計算しているか一目で分かる。命名は最も安いドキュメント。
保守が楽
範囲が変わっても、名前の定義を一か所直すだけで、その名前を使う全数式に反映される。
名前付き範囲は「データ」メニューの「名前付き範囲」から設定します。設計の観点からの命名のコツは 第3章 壊れない設計 も参照してください。
6. エラー値の意味
数式が計算できないと、セルに エラー値 が表示されます。エラーは「失敗」ではなく「何が起きたか」を教えてくれる手がかりです。種類ごとに原因が決まっているので、まず読み解けるようになりましょう。
| エラー値 | 意味 | 典型的な原因 | 対処の方向 |
|---|---|---|---|
#REF! | 参照切れ | 参照先の行・列・シートを削除した | 削除を取り消すか、参照を貼り直す |
#N/A | 見つからない | VLOOKUP などで検索値が存在しない | 検索値・範囲を確認。IFNA で代替表示 |
#DIV/0! | ゼロ除算 | /0 または空セルで割った | 分母が0や空でないか確認、IF で回避 |
#VALUE! | 型の不一致 | 数値が必要な所に文字列を渡した | 値の種類を揃える(数値・文字の混在を解消) |
#NAME? | 名前/関数名の誤り | 関数名のスペルミス、未定義の名前 | 関数名・名前付き範囲のつづりを確認 |
#NUM! | 数値範囲外 | 計算結果が大きすぎる/不正な数値引数 | 引数の値や桁を見直す |
#ERROR! | 数式の解析エラー | 主に QUERY の構文ミス(カンマ等) | 数式・クエリ構文を見直す |
#REF! は「参照していたセルが消えた」サインです。列の削除や行の入れ替えで突然出ることが多く、原因の操作を取り消すのが最短の対処になります。#N/A は検索系で頻出で、これは「正常な検索結果として存在しない」場合もあるため、後述の IFNA で扱います。
7. エラー処理 — IFERROR と IFNA
エラーをそのまま見せたくない場面では、エラーを別の値に置き換えられます。
IFERROR(値, 代替)…値がエラーなら代替を返し、エラーでなければ値をそのまま返す。すべての種類 のエラーを捕まえる。IFNA(値, 代替)…#N/Aだけを捕まえる。ほかのエラーはそのまま通す。
=IFERROR(A1/B1, 0) … 割り算がエラーなら 0 を表示=IFNA(VLOOKUP(D1,...), "未登録") … 見つからない時だけ「未登録」 8. 循環参照
循環参照 とは、数式が 巡り巡って自分自身を参照 してしまう状態です。たとえば A1 に =B1+1、B1 に =A1+1 と書くと、互いに相手を待ち続けて計算が終わりません。A1 に =A1+1 のように自分を含めるのも同じです。
この状態になると、エラーや警告が表示され、正しい結果は得られません。回避は単純で、計算の流れが一方向(入力 → 中間 → 結果)になるよう に数式を組むことです。結果セルが入力セルを参照することはあっても、その逆を作らないようにします。
9. ロケールと区切り文字
最後に、見落としがちな落とし穴です。引数の区切り文字は 地域設定(ロケール)によって変わります。
- 日本・米国など … 引数の区切りは カンマ
,→=SUM(A1,A2,A3) - 一部の欧州地域など … 小数点にカンマを使う関係で、引数の区切りが セミコロン
;になる →=SUM(A1;A2;A3)
本サイトの数式はすべて 日本語ロケール(カンマ区切り) を前提にしています。海外で作られたファイルを開いたときや、設定を変えたときに区切り文字が変わって数式が動かなくなることがあります。その場合は「ファイル」→「設定」からスプレッドシートのロケールを確認してください。設定 UI は更新されることがあるため、詳細は 公式ヘルプ も参照してください。
まとめ
数式の土台は、突き詰めれば3点です。数式は = で始まり関数と参照を組み合わせること、$ で参照を固定できること、そして エラーは原因を教えてくれる手がかりであること。とりわけ絶対参照は、コピーで壊れない数式を書くための要です。この土台があれば、次章でたくさんの関数を学んでも、一つひとつを安心して読み解けます。
手を動かして確かめたくなったら 第5部 演習、用語に迷ったら 用語集、つまずきは FAQ も活用してください。それでは、整えた土台の上に実際の道具を並べていきましょう。次は 第5章 主要関数カタログ で、現場で使う主要関数を一望します。