モデルの自動拡張
メニューを表示するにはスワイプしてください
Excel テーブルは構造化参照を自動的に拡張しますが、一部の計算は依然として標準範囲に依存しています。本章では、データセットとともに自動的に拡張される動的範囲の構築方法を解説します。
COUNTA の構造
=COUNTA(value1, [value2], ...)
value1: カウント対象の最初の範囲または値;[value2]: オプションの追加範囲または値。
COUNTA は空でないすべてのセルをカウントします。
本章で使用する数式:
=COUNTA(Sales_Data[Revenue])
これは現在入力されている Revenue 行数を返します。
OFFSET の構造
=OFFSET(reference, rows, cols, [height], [width])
reference: 開始セル;rows: 垂直方向の移動量;cols: 水平方向の移動量;[height]: 返される範囲の高さ;[width]: 返される範囲の幅。
OFFSET は開始位置から相対的に動的な範囲を作成します。
動的 OFFSET 数式
=SUM(OFFSET(Sales_Data!$H$1,1,0,COUNTA(Sales_Data!$H:$H)-1,1))
Sales_Data!$H$1: 開始参照;1: ヘッダー行をスキップ;COUNTA(...) - 1: 動的なデータセットの高さ;1: 返される範囲の幅。
この数式は新しい行が追加されるたびに自動的に調整されます。
ステップ 1 データセットのサイズを測定する
Summary シート内で、次を入力します:
=COUNTA(Sales_Data[Revenue])
結果が現在の Revenue 行数と一致することを確認します。
ステップ 2 動的な Revenue 合計を作成する
次を入力します:
=SUM(OFFSET(Sales_Data!$H$1,1,0,COUNTA(Sales_Data!$H:$H)-1,1))
これで Revenue の合計計算がデータセットとともに動的に拡張されます。
ステップ 3 動的拡張のテスト
Sales_Data に新しい取引行を追加します。
Revenue 合計が自動的に更新されることを確認します。
ステップ 4 名前付き範囲を作成する
名前の管理を開き、次を作成します:
DynamicRevenue
次の数式を割り当てます:
=OFFSET(Sales_Data!$H$1,1,0,COUNTA(Sales_Data!$H:$H)-1,1)
ステップ 5 Revenue 数式を簡素化する
前の数式を次で置き換えます:
=SUM(DynamicRevenue)
ロジックは動的のままですが、数式がより読みやすく、管理しやすくなります。
ステップ 6 動的な Profit 範囲を作成する
別の名前付き範囲を作成します:
DynamicProfit
次を割り当てます:
=OFFSET(Sales_Data!$J$1,1,0,COUNTA(Sales_Data!$J:$J)-1,1)
ステップ 7 総利益を計算する
次を入力します:
=SUM(DynamicProfit)
ステップ 8 システムの検証
Sales_Data に追加の行を入力します。
以下を確認します:
- Revenue 合計が自動的に更新される;
- Profit 合計が自動的に更新される;
- 名前付き範囲が動的に拡張され続ける。
1. COUNTA と OFFSET を組み合わせる主な目的は何ですか?
2. OFFSETを使用する際に名前付き範囲が有用である理由
3. OFFSETが揮発性関数であるとはどういう意味か
すべて明確でしたか?
フィードバックありがとうございます!
セクション 1. 章 1
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 1. 章 1