モデルの自動拡張
メニューを表示するにはスワイプしてください
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: 返される範囲の幅。
この数式は新しい行が追加されるたびに自動的に調整されます。
Summary シート内で、次を入力します:
=COUNTA(Sales_Data[Revenue])
結果が現在の Revenue 行数と一致することを確認します。
次を入力します:
=SUM(OFFSET(Sales_Data!$H$1,1,0,COUNTA(Sales_Data!$H:$H)-1,1))
これで Revenue の合計計算がデータセットとともに動的に拡張されます。
Sales_Data に新しい取引行を追加します。
Revenue 合計が自動的に更新されることを確認します。
名前の管理を開き、次を作成します:
DynamicRevenue
次の数式を割り当てます:
=OFFSET(Sales_Data!$H$1,1,0,COUNTA(Sales_Data!$H:$H)-1,1)
前の数式を次で置き換えます:
=SUM(DynamicRevenue)
ロジックは動的のままですが、数式がより読みやすく、管理しやすくなります。
別の名前付き範囲を作成します:
DynamicProfit
次を割り当てます:
=OFFSET(Sales_Data!$J$1,1,0,COUNTA(Sales_Data!$J:$J)-1,1)
次を入力します:
=SUM(DynamicProfit)
Sales_Data に追加の行を入力します。
以下を確認します:
- Revenue 合計が自動的に更新される;
- Profit 合計が自動的に更新される;
- 名前付き範囲が動的に拡張され続ける。
1. COUNTA と OFFSET を組み合わせる主な目的は何ですか?
2. OFFSETを使用する際に名前付き範囲が有用である理由
3. OFFSETが揮発性関数であるとはどういう意味か
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
モデルの自動拡張
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: 返される範囲の幅。
この数式は新しい行が追加されるたびに自動的に調整されます。
Summary シート内で、次を入力します:
=COUNTA(Sales_Data[Revenue])
結果が現在の Revenue 行数と一致することを確認します。
次を入力します:
=SUM(OFFSET(Sales_Data!$H$1,1,0,COUNTA(Sales_Data!$H:$H)-1,1))
これで Revenue の合計計算がデータセットとともに動的に拡張されます。
Sales_Data に新しい取引行を追加します。
Revenue 合計が自動的に更新されることを確認します。
名前の管理を開き、次を作成します:
DynamicRevenue
次の数式を割り当てます:
=OFFSET(Sales_Data!$H$1,1,0,COUNTA(Sales_Data!$H:$H)-1,1)
前の数式を次で置き換えます:
=SUM(DynamicRevenue)
ロジックは動的のままですが、数式がより読みやすく、管理しやすくなります。
別の名前付き範囲を作成します:
DynamicProfit
次を割り当てます:
=OFFSET(Sales_Data!$J$1,1,0,COUNTA(Sales_Data!$J:$J)-1,1)
次を入力します:
=SUM(DynamicProfit)
Sales_Data に追加の行を入力します。
以下を確認します:
- Revenue 合計が自動的に更新される;
- Profit 合計が自動的に更新される;
- 名前付き範囲が動的に拡張され続ける。
フィードバックありがとうございます!