Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ XLOOKUPによるテーブルの連携 | Excelの数式
エクセル数式

XLOOKUPによるテーブルの連携

メニューを表示するにはスワイプしてください

ワークブックには複数の接続されたデータセットが含まれています。この章では、XLOOKUP を使用してテーブルを動的に接続し、データを重複させずに計算されたビジネスメトリクスを構築します。

XLOOKUP の構造

=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found])
  • lookup_value: 検索する値
  • lookup_array: Excel が検索する列
  • return_array: 結果を返す列
  • [if_not_found]: オプションのフォールバック値

この章で使用する数式:

=XLOOKUP([@Product], Products[Product], Products[Cost])
  • [@Product]: 現在行の製品値
  • Products[Product]: 検索列
  • Products[Cost]: 返されるコスト値

構造化テーブル参照

[@Product]
  • @: Excel テーブル内の現在行のコンテキスト

構造化参照はデータセットの拡張に自動的に対応します。

ステップ 1 コスト列の追加
expand arrow

Sales_Data 内に新しい列を作成し、名前を次のようにします:

Cost

最初の Cost セルに次の数式を入力します:

=XLOOKUP([@Product], Products[Product], Products[Cost])

Enter キーを押します。

各製品が Products テーブルから単価コストを動的に取得するようになります。

ステップ 2 動的更新のテスト
expand arrow

Products テーブル内の製品コストを変更します。

Sales_Data 内の関連するすべての行が自動的に更新されることを確認します。

ステップ 3 存在しない製品のテスト
expand arrow

Products テーブルに存在しない製品を入力します。

ルックアップがエラーを返し、テーブル間の関係が欠落していることを示します。

ステップ 4 製品カタログの拡張
expand arrow

次の行を Products テーブルに追加します:

Gaming Chair,Gaming,180,350
Gaming Headset,Gaming,45,120
Gaming Mouse,Gaming,30,80
Gaming Keyboard,Gaming,50,130
Gaming Controller,Gaming,35,90
Gaming Mousepad,Gaming,10,30
Gaming Webcam,Gaming,60,150
Gaming Microphone,Gaming,70,180
Capture Card,Gaming,80,200
Gaming Monitor,Gaming,220,480
Desk Lamp,Home Office,15,45
Webcam,Home Office,55,140
USB Hub,Home Office,20,55
Desk Organizer,Home Office,12,35
Monitor Stand,Home Office,25,70
Ergonomic Mouse,Home Office,35,90
Wrist Rest,Home Office,8,25
Cable Management Kit,Home Office,10,30
Desk Mat,Home Office,18,50
Laptop Stand,Home Office,30,75

ルックアップ数式は、ソースデータが Excel テーブルとして構造化されているため、新しい製品にも自動的に対応します。

ステップ 5 新しい販売データの追加
expand arrow

次の行を Sales_Data にコピーします:

15/03/2026,1074,C003,Gaming Chair,North,Ana,2
15/03/2026,1075,C007,Gaming Headset,South,Bruno,4
16/03/2026,1076,C012,Desk Lamp,East,Carla,3
16/03/2026,1077,C018,Gaming Mouse,West,Diego,6
17/03/2026,1078,C022,Laptop,Central,Elena,2
17/03/2026,1079,C031,Desk Organizer,Southwest,Felipe,8
18/03/2026,1080,C005,Gaming Keyboard,North,Gabriela,3
18/03/2026,1081,C014,Monitor Stand,South,Hugo,2
19/03/2026,1082,C028,Gaming Controller,East,Marcos,5
19/03/2026,1083,C041,USB Hub,West,Priya,4
20/03/2026,1084,C009,Gaming Mousepad,Central,Fatima,7
20/03/2026,1085,C033,Webcam,Southwest,Ana,2
21/03/2026,1086,C047,Phone,North,Bruno,3
21/03/2026,1087,C016,Gaming Webcam,South,Carla,1
22/03/2026,1088,C002,Ergonomic Mouse,East,Diego,4
22/03/2026,1089,C025,Keyboard,West,Elena,5
23/03/2026,1090,C038,Wrist Rest,Central,Felipe,6
23/03/2026,1091,C011,Gaming Microphone,Southwest,Gabriela,2
24/03/2026,1092,C044,Cable Management Kit,North,Hugo,10
24/03/2026,1093,C019,Tablet,South,Marcos,2
25/03/2026,1094,C006,Capture Card,East,Priya,1
25/03/2026,1095,C030,Laptop,West,Fatima,3
26/03/2026,1096,C048,Desk Mat,Central,Ana,4
26/03/2026,1097,C013,Gaming Monitor,Southwest,Bruno,2
27/03/2026,1098,C035,Laptop Stand,North,Carla,3
27/03/2026,1099,C021,Mouse,South,Diego,8
28/03/2026,1100,C042,Gaming Chair,East,Elena,1
28/03/2026,1101,C004,Monitor,West,Felipe,2
29/03/2026,1102,C037,Gaming Headset,Central,Gabriela,3
29/03/2026,1103,C050,USB Hub,Southwest,Hugo,5
30/03/2026,1104,C008,Laptop,North,Marcos,4
30/03/2026,1105,C026,Desk Lamp,South,Priya,6
31/03/2026,1106,C015,Gaming Controller,East,Fatima,3
31/03/2026,1107,C039,Monitor Stand,West,Ana,2
01/04/2026,1108,C023,Phone,Central,Bruno,5
01/04/2026,1109,C046,Gaming Keyboard,Southwest,Carla,4
02/04/2026,1110,C001,Wrist Rest,North,Diego,7
02/04/2026,1111,C034,Webcam,South,Elena,2
03/04/2026,1112,C017,Gaming Mousepad,East,Felipe,5
03/04/2026,1113,C029,Desk Mat,West,Gabriela,3
ステップ 6 利益計算式の構築
expand arrow

中間ロジックを次のように置き換えます:

=[@Revenue]-(XLOOKUP([@Product],Products[Product],Products[Cost],"Product not in system")*[@Units])
  • [@Revenue]: 現在行の売上
  • XLOOKUP(...): 単価コストの取得
  • [@Units]: 販売数量
  • "Product not in system": 製品が存在しない場合のフォールバックメッセージ
ステップ 7 システムの検証
expand arrow

Products および Sales_Data の両方を変更します。

次のことを確認します:

  • コスト値が自動的に更新される
  • 利益計算が自動的に更新される
  • 新しい行がすべての数式を自動的に継承する

1. なぜリレーショナルなExcelモデルでXLOOKUPが推奨されるのか?

2. Excelテーブル内で@記号は何を表すか?

3. なぜリレーショナルなスプレッドシートモデルでデータの重複が推奨されないのか?

question mark

なぜリレーショナルなExcelモデルでXLOOKUPが推奨されるのか?

正しい答えを選んでください

question mark

Excelテーブル内で@記号は何を表すか?

正しい答えを選んでください

question mark

なぜリレーショナルなスプレッドシートモデルでデータの重複が推奨されないのか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  13

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  13
some-alt