Excel Copilot完全攻略:複雑な数式を段階的に構築・解読する方法

はじめに
世の中のほとんどのチュートリアルは、「Copilotに数式を書いてもらう」というところで終わってしまいます。それ自体も便利ですが、Copilotの本当の価値は別の場所にあります。それは、複雑なビジネスシナリオを自然な言葉で伝えればCopilotが数式の草案を作成し、さらにExcelの「この数式を説明(Explain this formula)」機能を使えば、何がどのように組み立てられたのか、その理由まで正確に把握できるという点です。つまり、Copilotの真の力とは「自分自身で本当に複雑な数式の仕組みを学べること」なのです。
本チュートリアルでは、ExcelのCopilotを使って複雑な数式を構築し、理解する方法を段階的に解説します。ビジネス上の目標を日常的な言葉で記述し、そのままCopilotに複雑な数式を生成させましょう。
前提条件: Copilotが有効化されたMicrosoft 365サブスクリプションが必要です(有料のCopilotライセンスがあれば、本記事で紹介するグリッド内機能や数式説明機能がすべて利用できます)。
ステップ1:データを準備する
Copilotを使う前に、まずデータを適切に整えることが重要です。データはテーブル形式、またはサポート対象の範囲としておく必要があります。Microsoftも、ExcelでCopilotを使用する前にテーブルまたはサポート対象の範囲として書式設定することを推奨しています。
- 対象範囲全体を選択します
- 挿入タブ → テーブル を選択、または Ctrl+T を押します
- 「先頭行をテーブルの見出しとして使用する」にチェックを入れます
- OK をクリックします

- テーブルデザインタブ → テーブル名ボックス を選択 → テーブル名を SalesData に変更します
これで、Copilotが簡単に参照できる構造化データの完成です。
ステップ2:目標を自然な言葉で伝える(数式の構文は不要)
最初に「数式を書いて」と頼むのはNGです。まずは目標から伝えましょう。ここでは、自動的に拡張されるスピル数式(1つの数式で結果範囲が展開されるもの)を使って、実際のビジネスの質問に答えたいケースを想定します。次のようなビジネスの質問を例に見てみましょう。
"Sales Log列E用の数式が欲しいです。担当者のRegionを参照し、Revenueが 10,000ドルを超えているか確認してください。超えていればCommissionテーブルの 「High」ティアのレートを、超えていなければ「Standard」ティアのレートを使用します。 RegionとTierの両方が一致している必要があります。"
注目すべきは、ここであなたが伝えたのがロジックであって構文ではないという点です。データ構造、条件、期待する結果をCopilotに伝えました。これは、従来なら手作業で10〜15分かけて数式を書いていたような内容です。
Copilotへの依頼方法:
- ホームタブ → Copilot を選択します
- 上記の自然言語プロンプトをそのまま入力または貼り付けます
- Enterキーを押すか、提案ボタンをクリックします
- Copilotが即座に数式を生成し、Excelのセルに挿入します
- グリッド上に結果のプレビューが表示されます
Copilotが返した数式:
=XLOOKUP(C2&IF(D2>10000,"High","Standard"),'Commission Table'!$A$2:$A$9&'Commission Table'!$B$2:$B$9,'Commission Table'!$C$2:$C$9)

列番号はテーブルの構成によって多少異なる場合がありますが、Copilotは通常きちんと合わせてくれます。
ステップ3:Copilotに数式を説明させる(本当の学びの瞬間)
さて、多くの人が見逃しがちな最もパワフルな部分を探ってみましょう。
- スピル数式が入ったセルをクリックします
- 右クリック → Copilotの候補 → ドロップダウンから 「この数式を説明」 を選択します

Copilotが即座に説明カード(またはペイン)を開き、わかりやすい日本語での段階的な解説を表示します。

典型的なCopilotの説明文は次のようになります:
数式 =XLOOKUP(C2&IF(D2>10000,"High","Standard"),'Commission Table'!$A$2:$A$9&'Commission Table'!$B$2:$B$9,'Commission Table'!$C$2:$C$9) は、2行目の販売レコードについて、地域と売上ティアを「Commission Table」と照合することでコミッション率を求めます。
- セルC2の地域(「North」)と、D2の売上(12,500)が10,000より大きいかどうかで決まるティア(TRUEなら「High」、FALSEなら「Standard」)を組み合わせます。
- この結合された値(「NorthHigh」)を、Commission TableのRegion列(A2:A9)とTier列(B2:B9)を連結した中から検索します。
- 一致が見つかると、Commission TableのC2:C9列から対応するコミッション率を返します。
たとえば、D2が12,500(10,000超)なので、数式は「NorthHigh」を検索し、C3の値である0.08(8%)を返します。
Copilotに層ごとの解説を依頼する
上記の説明だけでは数式が腑に落ちない場合でも心配いりません。同じCopilotチャットで次のように入力してみましょう。
"この数式を、内側から外側へ向かって一つずつ順番に説明してもらえますか?"
Copilotが丁寧に順を追って解説してくれます。以下はその説明の例と、それぞれが実際に意味するところです。

段階的な分解(内側 → 外側へ)
ステップ1:D2>10000
これは最も内側にある比較です。
| 項目 | 内容 |
|---|---|
| 動作 | D2の売上が$10,000より大きいかどうかを判定 |
| D2の値 | 12500 |
| 結果 | TRUE |
ステップ2:IF(D2>10000,"High","Standard")
比較をIF文で包み、ティア名を返させます。
| 項目 | 内容 |
|---|---|
| 動作 | TRUEなら「High」、FALSEなら「Standard」を返す |
| D2=12500の場合 | 12500 > 10000 はTRUE |
| 結果 | "High" |
ステップ3:C2&IF(D2>10000,"High","Standard")
地域とティアを連結し、検索キーを作成します。
| 項目 | 内容 |
|---|---|
| 動作 | 地域(C2)+ティアを連結 |
| C2の値 | "North" |
| IFの結果 | "High" |
| 結果 | "NorthHigh" |
これがCommission Tableの中で検索したい値です。
ステップ4:'Commission Table'!$A$2:$A$9&'Commission Table'!$B$2:$B$9
Commission Tableの地域+ティアを連結して、検索配列を作成します。
| 項目 | 内容 |
|---|---|
| 動作 | 各地域とティアを連結し、キーの配列を生成 |
| 結果(配列) | {"NorthStandard"; "NorthHigh"; "SouthStandard"; "SouthHigh"; "EastStandard"; "EastHigh"; "WestStandard"; "WestHigh"} |
これが検索対象となる範囲です。
ステップ5:'Commission Table'!$C$2:$C$9
これは返却配列、つまりコミッション率です。
| 項目 | 内容 |
|---|---|
| 動作 | 一致が見つかったときに返す値を指定 |
| 結果(配列) | {0.05; 0.08; 0.04; 0.07; 0.06; 0.09; 0.045; 0.075} |
ステップ6:XLOOKUP全体の組み合わせ
すべてを組み合わせます!
=XLOOKUP( "NorthHigh", {"NorthStandard";"NorthHigh";…}, {0.05;0.08;…} )
| 項目 | 内容 |
|---|---|
| 動作 | 検索配列から「NorthHigh」を見つけ、対応するレートを返す |
| 一致位置 | 2番目(NorthHigh) |
| 結果 | 0.08(8.00%と表示) |
複雑な数式を使ったビジネスシナリオ
プロンプトはさまざまなタイプが使えます。列名や条件を具体的に伝えるほど、正確な数式が返ってくる可能性が高まります。次のビジネスの質問を見てみましょう。
「東地域(East)のコンピュータ(Computers)の売上だけを表示してください。担当者ごとの重複のないリストと、期間内の合計売上額、そしてパフォーマンス評価(500ドル超なら『High Performer』、100〜150ドルなら『Average』、それ以外は『Needs Improvement』)を示し、合計売上の降順で、見出し付きで並べてください。」
このタスクが複雑な理由は、複数条件でのフィルタリング(地域+カテゴリ)、担当者ごとの集計、段階的な評価ロジック、ソート処理を同時に求めている点にあります。まさに、従来なら手作業で10〜15分かけていた種類の作業です。
- 次のプロンプトをそのまま入力または貼り付けます:
"テーブルSalesDataに対する動的スピル数式を作成してください。Region="East"、 Category="Computers"でフィルタリングし、重複のないSalesperson、それぞれのTotal Sales Amount、 およびPerformance Status列(合計が2000超なら"High Performer"、1000以上なら"Average"、 それ以外は"Needs Improvement")を返してください。Total Salesの降順で並べ替え、 見出しとして Salesperson、Total Sales、Performance Status を含めてください。"
- Enterキーを押すか、提案ボタンをクリックします
Copilotが返した数式:
=LET(
filtered, FILTER(SalesData, (SalesData[Region]="East")*(SalesData[Category]="Computers"), ""),
salespersons, UNIQUE(INDEX(filtered,,4)),
totals, MAP(salespersons, LAMBDA(sp, SUMIFS(SalesData[SalesAmount], SalesData[Region], "East", SalesData[Category], "Computers", SalesData[Salesperson], sp))),
status, MAP(totals, LAMBDA(t, IFS(t>2000, "High Performer", t>=1000, "Average", TRUE, "Needs Improvement"))),
combined, HSTACK(salespersons, totals, status),
sorted, SORT(combined, 2, -1),
VSTACK({"Salesperson","Total Sales","Performance Status"}, sorted)
)
- 完了をクリックします
- 数式が自動的にExcelセルに挿入されます

Copilotは「この数式のしくみ」として、数式の解説も自動的に表示してくれます。
数式の仕組み:
- FILTER – Region="East" かつ Category="Computers" のすべての行を取得
- UNIQUE – フィルタ済みデータから重複のない担当者名を抽出
- MAP+SUMIFS – 各担当者の合計売上を計算
- MAP+IFS – 閾値に基づいてパフォーマンス評価を割り当て
- HSTACK – 3つの列を横方向に結合
- SORT – Total Sales(2列目)を降順(-1)で並べ替え
- VSTACK – 見出し行を先頭に追加

この数式は完全に動的であるため、テーブルにEast地域×Computersの売上データを追加すれば自動的に再計算されます!
この数式に対しても「この数式を説明」機能を使えます。どちらの方法でも目的は学習そのものなので、自分に合ったやり方を選べばOKです。

ステップ4:反復と改良(さらなる複雑化へ)
Copilotペインを開いたまま(または再度「=」と入力して)、次のようなフォローアップの指示を出してみましょう。
- 「各担当者の注文数を4列目として表示するように数式を修正してください。」
- 「2,000ドルと1,000ドルの閾値をセルK1とK2で参照するようにして、簡単に変更できるようにしてください。」
- 「Order IDの件数を使って、1注文あたりの平均売上を表示する列を追加してください。」
そのたびにCopilotが数式を更新し、再度数式の説明を依頼すれば、何が変わったのかを正確に確認できます。この反復サイクルこそが、プロフェッショナルが基本的な数式から実運用レベルの動的ダッシュボードへとスキルを磨いていく方法です。
効果を最大化するためのプロのコツ
- 自然言語のプロンプトは具体的に:テーブル名を挙げ、条件を正確に列挙し、「動的スピル数式」「見出しを含める」などの言葉を使いましょう。
- 必ず結果を実際のデータと照合してください。Copilotは非常に優秀ですが、完璧ではありません。
- 説明された要素を後日自分の数式に応用して学ぶことで、LET、BYROW、LAMBDAなどをどんな講座よりも早く身につけられます。
- これらは最適化された動的配列関数なので、数万行規模の大容量データセットでも快適に動作します。
まとめ
以上の手順に従えば、ExcelのCopilotを使って複雑な数式を構築し、その仕組みを深く理解できるようになります。ビジネスロジックを数式へ翻訳し、「この数式を説明」機能で出力内容を把握する。Copilotは、実務をこなしながらExcelの数式を学べる、最も手軽で効果的な手段のひとつになり得ます。このプロセスを通じて、単に複雑な数式を手に入れるだけでなく、各部分がなぜ存在するのか、将来どんなシナリオにもどう調整すればいいのかまで理解できるようになります。それこそが、ExcelにおけるCopilotの真の力です。まずは本記事のサンプルデータで今すぐ試してみてください。データが異なる場合でも、同じスタイルで自分の目標を自然な言葉で記述すれば、プロセスはまったく同じです。
無料の高度なExcel演習問題(解答付き)をゲットしよう!
-
Microsoft Wordで描画する方法|基本の図形からペンツールまで徹底解説
Microsoft Wordはドキュメント作成ソフトというイメージが強いですが、実は描画ツールも充実しています。これらの機能はあまり知られていませんが、覚えてしまえば直感的に使える便利なものばかりです。 Wordに搭載された描画ツールには、矢印、バナー、吹き出し、四角形、円、星形、フローチャート用の図形など、さまざまな種類があります。これらを組み合わせれば、ドキュメント内でイラストや図解を自由に作成できます。 「文書にぴったりの画像やクリップアートが見つからない」というときも、Wordの描画ツールを使えば自分で描いて追加できます。落書きのようなメモ、ビジュアルノート、スケッチノートなど、用途に
-
編集可能なExcelスプレッドシートをメールで送信する3つの簡単な方法
Excelファイルは、メールに添付ファイルとして簡単に送信できます。しかし、場合によっては、ブック全体ではなく、特定の1枚のシートだけを送りたいこともあるでしょう。実はExcelの標準機能だけで、この操作を素早く簡単に行うことができます。本記事では、編集可能なExcelスプレッドシートをメールで送信する3つの手軽な方法を紹介します。 無料のExcelテンプレートはこちらからダウンロードでき、ご自身で練習することもできます。 編集可能なExcelスプレッドシートをメールで送信する3つの方法 まずは、今回使用するデータセットをご紹介します。文房具製品の四半期売上をまとめたものです。 方法1:「共