For reference when creating a website
MK-BLOG
ホーム > MK-BLOG:ホームページ制作の参考に > ディレクターとAIの奮闘記!~デザインでお金を~ > $D$2:$D$24 は卒業。テーブル名で書く「構造化参照」で、SUMIFSを行の増減に自動で追従させる方法

$D$2:$D$24 は卒業。テーブル名で書く「構造化参照」で、SUMIFSを行の増減に自動で追従させる方法

ディレクターとAIの奮闘記 #018

前回の#017では、テーブルのスタイルを自社のコーポレートカラーに染めて、資料全体の統一感が出ました。見た目は完璧です。ところが、月末の集計をしていたディレクターが、静かに青ざめます。

見た目はテーブル、中身は「固定範囲」のままだった

ディレクターディレクター:
「一覧表の一番下に今月分を追加したのに、取引先別の集計が増えてないんです。」

AIAI:
「数式を見せてください。……あ、これは『$D$2:$D$24』で止まっていますね。」

ディレクターディレクター:
「テーブルにしたんだから、数式も自動でついてくるんじゃないんですか?」

AIAI:
「グラフは、テーブルを参照していたからついてきました。でもこの数式は、テーブル化する前に書いた『24行目まで』という固定の住所を、そのまま覚えているんです。」

ディレクターディレクター:
「じゃあ、住所の書き方を変えればいいんですね。」

AIAI:
「ええ。『24行目まで』ではなく、『このテーブルの、この列』と書くんです。」

「構造化参照」とは、住所ではなく「名前」で指すこと

普通のセル範囲は「D2からD24まで」という、行番号を使った住所で指定します。テーブルに名前を付けると、これを「テーブル名[列名]」という、名前だけの書き方に置き換えられます。これが構造化参照です。

書き方数式の例末尾に行を追加すると
従来のセル範囲=SUMIFS($D$2:$D$24,$B$2:$B$24,$G2)範囲は24行目のまま。追加した行が集計から漏れる
構造化参照=SUMIFS(月次一覧[金額],月次一覧[取引先],$G2)テーブルの拡張に合わせて、範囲も自動で広がる

「月次一覧」は、#016で付けたテーブル名です。「金額」「取引先」は、表の見出し行に書いた列名がそのまま使われます。

数式を書き換える手順

1. 集計欄のSUMIFSのセルを選び、数式バーで中身を確認する
2. 「=SUMIFS(」まで入力した状態で、テーブルの「金額」列の見出しの下をクリック
   → 「月次一覧[金額]」と自動で入力される
3. カンマを打ち、同じ要領で「取引先」列をクリック → 「月次一覧[取引先]」
4. 最後に条件のセル(例:$G2)を指定して、Enterで確定
SUMIFSの数式を入力している途中で、テーブルの列をクリックすると『月次一覧[金額]』と自動入力される様子。

ポイントは、列名を手で打つのではなく、列をクリックして選ぶことです。クリックするだけで、Excelが正しい構造化参照を自動で入力してくれるので、打ち間違いがありません。

ディレクターディレクター:
「列の見出しの下をクリックするだけ。思ったよりずっと簡単です。」

AIAI:
「ここで『$D$2』みたいな住所を打ち込む作業が、これからはお休みになります。」

構造化参照にしておくと、他にも嬉しいこと

・行を追加しても、削除しても、数式の範囲が自動で調整される
・数式を読めば「何の列を集計しているか」がすぐ分かる
・列の見出しを書き換えると、数式の中の列名も自動で追従する
・別のシートに集計欄があっても、同じ書き方で参照できる

特に「数式が読める」ことは、あとから見直すときに効いてきます。「$D$2:$D$24」が何の列だったかを、いちいち元の表で確かめなくて済みます。

気をつけたい点

すでに作ってあるSUMIFSなどの数式は、テーブル化しただけで構造化参照に自動で書き換わるとは限りません。今回のように、固定範囲のまま残っていることがあります。テーブル化したあとは、既存の数式を一度見直して、必要なものを書き換えておくと安心です。

・数式バーで「$D$2:$D$24」のような固定の範囲が残っていないか確認する
・列名に「[」や「]」「#」などの記号を使っていると、数式の書き方が複雑になる
 → テーブルの見出しは、できるだけシンプルな名前にしておく

今日のまとめ(AIと一緒に)

構造化参照のメリットまとめ

AIAI:
  1. 1.テーブル化しても、既存の数式は「$D$2:$D$24」のような固定範囲のままのことがある。
  2. 2.「テーブル名[列名]」の構造化参照に書き換えれば、行の増減に数式の範囲が自動でついてくる。
  3. 3.書き換えるときは、列名を手打ちせず、テーブルの列をクリックして選ぶ。
ディレクターディレクター:
「これで、月初に追加した行が、集計から漏れる心配がなくなりました。」

AIAI:
「これで『24行目の壁』も、ようやく崩れましたね。」

次回#019では、このテーブルをもとに、ピボットテーブルで取引先別・月別の集計を、数式なしで作る方法を扱う予定です。

ディレクターとAIの奮闘記 #018 おわり