LWP | Excelの#と@は何をしているのか
Excelの#と@は何をしているのか
スピルから「参照演算子」の世界を見る
Copyright © 2026 LWP 山中 一弘
本資料は、出典を明記いただければ、商用・非商用を問わず、ご自由に複製・改変・再配布していただけます。なお、著作権表示は改変せず、そのまま記載してご利用くださいますようお願いいたします。
ストーリー
引き継ぎ書を整えていたフナさんが、数式に付いた「#」「@」と、妙な空白に目を留めました。数字は同じに見えるのに、式を変えると結果が違う。アユさんと一緒に、記号が指すものを追いかけます。
基本的なセル参照とSUMを知る読者向けです。動的配列に対応するExcel for Microsoft 365を前提とし、テーブル外の空いたセルで試します。図は仕組みを伝える概念図で、実際の操作画面ではありません。
1 同じ数字でも、同じもの?
引き継ぎ中のフナさんが気にしたのは、同じ数字を表示する数式の違いでした。以下は、空のシートのA1に =SEQUENCE(10) を入力した場面です。

図1|数式・値の並び・表示先のセルを分けて見る。
2 範囲が伸びても、追いかける
次は、A1の数式を =SEQUENCE(20) に変更します。固定範囲とスピル参照の差は、行が増えたときにはっきりします。

図2|A1#は、正常なスピルの現在の広さに追随する。
3 同じ見た目を、ISREFで確かめる
A1を =SEQUENCE(10) に戻して比較します。ISREFは、受け取ったものが参照ならTRUEを返す関数です。

図3|表示された数字が同じでも、参照か配列かは区別できる。
4 参照を渡しても、合計できる
参照は計算の邪魔にはなりません。SUMのように範囲を受け取る関数は、その参照先の値を使って計算します。

図4|参照先を使って計算できることと、参照そのものが配列値であることは別。
5 記号ひとつで、参照先が変わる
引き継ぎ書を読みやすく整えていたフナさん。数式中の半角空白には、消してはいけないものがありました。

図5|式の見た目を整える前に、記号と空白の役割を確かめる。
6 @は、式の置き場所も見る
A1:A10に1〜10がある状態で、同じ式をC5とC12へ入力します。横一列の範囲では同じ列が手掛かりになりますが、任意の二次元範囲から必ず一意に選べるわけではありません。

図6|範囲を渡す@では、参照先と入力セルを一緒に確認する。
7 配列なら、@は左上を選ぶ
今度は入力セルをC5に固定し、式を一つずつ置き換えます。SEQUENCEが返す配列を渡すと、選び方が変わります。

図7|@の右側が範囲か配列かによって、1値の選び方が異なる。
8 動く参照に、名前を付ける
ABCシートのA1にスピル数式を置き、ブック範囲の名前PQ_Sourceを定義します。絶対参照を使うのは、選択セルによって参照位置が変わるのを避けるためです。

図8|名前は固定した値の保存箱とは限らず、動的な参照にも付けられる。
9 #は、どこでも使えるわけではない
便利な記号にも前提があります。外部ブックを閉じた場合の制限はMicrosoft公式仕様に基づく説明であり、今回の実測には含めていません。

図9|エラーを見たら、元数式・展開先・外部参照の状態を分けて調べる。
10 続きの研究より、まず引き継ぎ
参照の違いが見えてきたところで、アユさんは次のテーマが気になり始めます。フナさんには、今日中に渡したい手順書がありました。

図10|発展の問いを残しつつ、今回必要な手順を確定する。
まとめ
引き継ぐのは数式の文字だけではありません。どのセルに入力するか、何を参照するか、どこへ結果が広がるかまで残すと、同じ結果を再現しやすくなります。#は現在のスピル範囲を指し、@は渡されたものから1値を選びます。二つを逆演算として覚えると、配列を渡したときの違いを見落とします。
今回の仕掛け
カンマは関数の引数区切りにも使われます。参照の結合を明示する比較式では、(A1:A3,A8:A10) のように括弧で一つのまとまりを示しました。空白による交差は、二つの参照の共通部分です。
テーブルで使う [@金額] は「その行の金額」を指す構造化参照の文脈です。既存式に付いた@を機械的に削除すると、スピルなどによって計算や配置が変わることがあります。
名前PQ_Sourceを付けただけでは、Power Queryの取込結果や更新順までは保証されません。クエリへの受渡しは、見出し・型・再計算・クエリ更新を含めて別に確認するテーマです。
自分のシートで確かめる
以下は演算子の違いを切り分ける短い比較式です。各表の行は独立した数式で、列全体を一括貼り付けするものではありません。Wordでは行番号の右側から、試す数式を一行ずつコピーしてください。
数式例 スピルを作り、参照かどうか確かめる
01 |
|
|---|---|
02 |
|
03 |
|
04 |
|
数式の説明
SEQUENCE(10)が1〜10を作り、A1から下へスピルします。ISREFは参照であるかを判定し、SUMは参照先の数値を合計します。
入力・概要
新規の空シートでA1:A20を空けます。01行目をA1へ、02〜04行目をD1、D2、D3へそれぞれ入力します。途中から値を直接入力してスピル先を塞がないでください。
結果
A1:A10に1〜10が並び、D1はTRUE、D2はFALSE、D3は55になります。A1の10を20へ変えるとD3は210、固定範囲A1:A10だけの合計は55のままです。
読むポイント
同じ数字を表示できても、セルへの参照と生成された配列値は区別されます。比較後はA1の数式をSEQUENCE(10)へ戻します。
入力位置と入力の種類を比べる
数式例 C5で@の二つの選び方を比べる
01 |
|
|---|---|
02 |
|
数式の説明
最初の式はセル範囲に暗黙の交差を適用し、同じ行の値を選びます。次の式は配列へ適用し、左上の値を選びます。
入力・概要
A1:A10が1〜10の状態で、まず01行目をC5へ入力します。結果を確認してから、同じC5を02行目の式に置き換えます。最後に01行目だけをC12にも入力して比較します。
結果
C5の01行目は5、02行目は1です。C12へ入力した01行目は#VALUE!になります。数式を切り取って移動する操作とは分け、指定セルへ式を入力して比べてください。
読むポイント
@の判断には、右側が返すものと数式セルの位置が関わります。単一値を受け取った場合は、その値のままです。
参照を組み合わせて比べる
数式例 結合と交差の合計を比べる
01 |
|
|---|---|
02 |
|
数式の説明
01行目は離れた二つの参照を括弧内で結合します。02行目の半角空白は交差演算子で、共通部分のA5を参照します。
入力・概要
A1:A10が1〜10の状態で、01行目をD5、02行目をD6へそれぞれ入力します。英語関数名・引数区切りカンマの式です。02行目のA10とA5の間に半角空白を一つ残します。
結果
D5は1+2+3+8+9+10の33、D6はA5の5になります。
読むポイント
見た目の空白も数式の意味を担います。結合の例はSUMへ二引数を渡す表記との違いが分かるよう、内側の括弧を残しています。
発展の問いと確認範囲
LAMBDAの仮引数へA1またはA1#を渡すと参照を保持し、SEQUENCE(10)を渡すと配列として区別されることを、今回のExcelで確認しました。仮引数に#を適用する式も入力できました。すべての関数や式変形で参照が保たれるという一般化はしません。
トリム参照は、指定した範囲の外周にある空白行・列を除くものです。A1:D6のうちB2:C2とB4:C4だけへ値を置く例では、中央の空白行を含む3行2列が残りました。#が既存スピルの広さを追う働きとは別です。空文字列・エラー・全空白の境界例は今回の検証対象外です。
確認環境はWindows版Excel 16.0、ビルド20326、2026年9月11日です。閉じた外部ブックの制限は公式資料による説明、Power Query連携は未実施です。人物の会話は架空の物語で、図中の計算例は下記仕様と隔離ブックでの実測を基にしています。
出典メモ
元ネタ「Excelの#と@は何をしているのか ― スピルから『参照演算子』の世界を見る」(S2整理済み、2026年9月11日)を基に、会話と検証例を再構成しました。人物はLWP共通キャラクター資産を参照し、画像は内蔵ImageGenで生成・修正しています。
Microsoft:スピル範囲演算子 — 範囲の追随と閉じた外部ブックの制限。
Microsoft:暗黙の交差演算子 @ — 範囲・配列・単一値の選び方と既存式の扱い。
Microsoft:数式の計算演算子 — 範囲・結合・交差。
Microsoft:IS関数 — ISREFによる参照の判定。
Microsoft:LAMBDA関数 — 引数と名前の制約。
Microsoft:TRIMRANGE関数 — 外周の空白除去とトリム参照。
公式資料確認日:2026年9月11日。図は公式画面の転載ではありません。
