Givery
SESSION 04 / 45min / ハンズオン主体

SI業務 × M365 Copilot
実践ユースケース

間接業務・開発業務の両部門向けに、CSV添付・VBA生成・障害調査・処理概要生成まで実際に手を動かして体験します。SI業務の運用保守フェーズに直結するユースケースを網羅します。

45分
間接業務 + 開発業務 2部門向け
Microsoft 365 Copilot + GitHub Copilot
TIMETABLE
Session 04 構成(45分)
ブロック内容対象目安
4-1表データ×生成AI入門(CSV添付・欠損値処理)間接業務15分
4-2Copilot in Excel(要約・欠損値処理・VBA生成)間接業務10分
4-3開発フェーズ(コード生成・レビュー・テスト・バグ修正)開発業務10分
4-4運用保守(障害調査・ログ解析・引継ぎ資料・処理概要生成)開発業務10分
演習用データ ダウンロード
CSV案件進捗管理表_正常版.csv
Block 4-1 ハンズオン用 / 30件のSI案件データ(欠損なし)
CSV案件進捗管理表_欠損あり版.csv
Block 4-1 比較デモ用 / 完了予定日3件空欄・売上見込み2件空欄・備考文字化け1件
PY備品管理_レビュー演習.py
Block 4-3 コードレビュー・テスト生成演習用 / 意図的にレビュー指摘ポイントを含むPythonコード
CSVシステムログ_解析演習.csv
Block 4-4 ログ解析用 / 月末バッチ障害のサーバーログ(WARNING→ERROR の遷移パターンあり)
JAVAOrderService_引継ぎ演習.java
Block 4-4 引継ぎ資料生成用 / 障害シナリオと同じ月次締めバッチの受注サービスクラス
COBOL売上集計バッチ_COBOL演習.cbl
Block 4-4 COBOL処理概要生成用 / 部門別売上集計のバッチプログラム(コントロールブレイク処理)
BLOCK 4-1 / 15min / ハンズオン
表データ×生成AI入門
間接業務部門向け
なぜCSVエクスポートから始めるか(1分)

Excel(.xlsx)をそのまま添付すると複数シート・結合セル・装飾行がノイズになり、AIの読み取り精度が下がる。CSVは「1シート・1テーブル・値のみ」のフラット形式なので、AIへの情報伝達効率が最も高い。

Microsoft公式ガイダンス

Copilot in Excelはシンプルな行・列構造のデータで最も認識精度が高い。
出典: Frequently asked questions about Copilot in Excel

ハンズオン手順
Step 1(3分):CSVを準備する

下のボタンからCSVを直接ダウンロードするか、OneDriveのExcelからCSVエクスポートして準備する。

  • CSVファイルをデスクトップまたはDownloadsフォルダに保存
  • 中身を確認: 8列 x 30行のフラットなテーブル形式であること
前処理のポイント

空白セル(欠損値)は「未入力」や「未定」などのテキストに置換してから保存すること。空白のままだとAIが「データが不完全なため確認が必要です」と回答し精度が下がる。

Step 2(6分):M365 Copilotチャットに添付して分析依頼
microsoft365.com/copilot を開く。入力欄左の「+(コンテンツを追加)」→「このデバイスからアップロード」→ Step1のCSVを選択。 ファイル名バッジが表示されたら添付完了。
CopilotチャットにCSVを添付してプロンプトを入力した画面
ファイル添付の仕様

「+コンテンツを追加」ボタン選択またはドラッグ&ドロップで添付可能。最大20ファイル・1ファイルあたり50MBまで。アップロードしたファイルはOneDrive for Businessに自動保存される。
出典: Add content to Copilot Chat prompts - Microsoft Support

PROMPT 1 — 最初の分析
このデータはSI企業の案件進捗管理表です。 以下3点を日本語で答えてください。 1. 現在「進行中」の案件数と、担当者別の件数(表形式) 2. 「完了予定日」が2026年3月末までに完了する案件の一覧 (案件IDと顧客名) 3. 「売上見込み」が上位3件の案件名と金額
PROMPT 2 — 出力形式を指定
担当者別の「売上見込み」合計を表形式で出して。 合計金額の高い順に並べること。 単位は万円のまま表示すること。
PROMPT 3 — 条件付き絞り込み
ステータスが「保留」の案件について、 「担当者」「顧客名」「完了予定日」「備考」の4列だけ抽出して表にして。 備考が空欄の場合は「記載なし」と表示すること。
Step 3(5分):欠損値ありCSVとの比較デモ
新しいチャット会話を開始し、案件進捗管理表_欠損あり版.csv を添付してPROMPT 1を再送信。

欠損値があると以下のような注記が返ってきやすい:

※ 一部の行で「完了予定日」が空白になっています。  これらの行は分析から除外しました。  確認が必要な行: P-2025-013, P-2025-019, P-2025-027

前処理で欠損値を「未定」に置換してから投入すると、注記なしに全行を処理した回答が返ってきます。前処理1分で回答の質が変わることを実感してください。

コンテキストエンジニアリング

AIの回答精度は「何を渡すか」で8割決まる。プロンプトの言葉を磨く前に、渡すデータを整える習慣が先。これがコンテキストエンジニアリングの本質。

BLOCK 4-2 / 10min / デモ
Copilot in Excel:要約・前処理・VBA生成
間接業務部門向け

Block 4-1で使った案件進捗管理表(欠損あり版)を、今度はブラウザ版Excelで開いてCopilot in Excelに処理させます。データの要約、欠損値の自動補完、VBAコード生成の3ステップをデモで確認しましょう。

Step 1:データの要約(2分)
ブラウザ版Excelで 案件進捗管理表_欠損あり版.csv を開きます。リボンの「Copilot」ボタンでサイドパネルを表示し、まずデータ全体の概要を把握します。
PROMPT
このデータの内容を確認し、欠損値があればその部分を平均で埋めてください
Copilot in Excelでデータを開いた画面
Copilotがデータ構造(8列 x 30行)を認識し、ステータス別の件数・担当者の分布・売上見込みの概況などを要約してくれます。同時に欠損値の有無も検出されます。
Step 2:欠損値の下処理(3分)
Step 1のプロンプトに対して、Copilotが欠損値を検出し、自動で平均値を補完した結果を返します。
欠損値の検出・補完結果
欠損あり版CSVには5件の空白セルが含まれています。
案件IDセル欠損していた列補完した値
P-2025-008G9売上見込み(万円)1,499万円(平均値)
P-2025-022G23売上見込み(万円)1,499万円(平均値)
P-2025-013E14完了予定日2026/03/27(平均値)
P-2025-019E20完了予定日2026/03/27(平均値)
P-2025-027E28完了予定日2026/03/27(平均値)
平均値補完の判断について

完了予定日に「平均値」を入れるのは業務的には不適切な場合もあります。Copilotの自動補完はあくまで起点。「未定」や「要確認」に手動で書き換える判断は人間が行います。AIの出力を鵜呑みにしない習慣がここで身につきます。

Step 3:VBAコードの生成(5分)
欠損値を処理したデータに対して、定型業務を自動化するVBAマクロをCopilotに生成させます。
PROMPT
全シートを順に処理して、ステータスが「完了」 の行を「完了済み案件」シートにコピーする VBAマクロを書いて。
Copilotが生成したVBAコードはサイドパネルに表示されます。「コピー」ボタンでクリップボードに取得し、Alt+F11(Mac: Option+F11)でVBEを開いて貼り付け・実行する流れです。
  • 生成されたVBAは1行ずつ意味を確認してから実行する。AIのVBAは動くが意図しない挙動が入ることがある
  • 実行前にファイルを別名保存しておくと安全。誤動作した場合にすぐ戻せる
  • マクロ有効ブック(.xlsm)として保存しないとVBAは保持されない

VBAだけでなく、セル数式もCopilotに依頼できます。

E列(完了予定日)とTODAY()の差分で 残日数を計算する数式を作って。 マイナスの場合は「超過」と表示すること。
出典・参考
Agent Mode in Excel - Microsoft Support FAQ about Copilot in Excel
BLOCK 4-3 / 10min / デモ + 解説
開発フェーズ
開発業務部門向け

Session 03 の GitHub Copilot に加えて、M365 Copilotチャットでのコード関連ユースケースを確認します。コードを書く以外の場面でもAIを活用できます。

コード生成

自然言語 → コードのドラフト

要件定義書の一部をそのままプロンプトに使うのが効率的。仕様の粒度を上げるほど手直し量が減る。

プロンプト例
Pythonで以下の仕様のクラスを実装してください。 クラス名: EquipmentManager 要件: - 備品マスタ(ID: str, 名前: str, 在庫数: int)を辞書型で管理する - 在庫を増減する add_stock(item_id, quantity) を持つ - 在庫数が0になったら ValueError を発生させる - 全備品の一覧を返す get_all_items() を持つ 出力形式: Pythonコードのみ。docstringはGoogle Style。
レビュー支援

PRを出す前のAIレビュー

チームレビューを「設計・意図の議論」に集中させるために、AIによる事前チェックを習慣化する。

CopilotチャットにPythonコードを添付してレビューを依頼した画面
プロンプト例
以下のPythonコードのコードレビューをしてください。 観点: 1. バグ・ロジックの問題 2. セキュリティリスク(入力検証等) 3. PEP8準拠・命名規則 4. パフォーマンス上の懸念 [ここにコードを貼り付け]
テスト作成

ユニットテストの雛型を自動生成

「作るのは面倒、でもないと困る」典型的な後回し作業。Copilotに投げると雛型が3分で揃う。

プロンプト例
以下のコードに対するpytestテストを作成してください。 - 正常系を最低3ケース - 異常系(ValueError等)を最低3ケース - @pytest.mark.parametrize を使用すること - 関数名は test_[対象]_[条件] 形式 [ここにコードを貼り付け]
バグ修正

エラーをそのままコピペして投げる

エラーメッセージ・スタックトレース・発生状況を一緒に渡すと仮説が即座に返ってくる。

プロンプト例
以下のエラーが発生しています。 原因の仮説を3つ挙げ、各調査手順と修正方法を教えてください。 エラー: NullPointerException 発生場所: OrderService.java line 142 状況: 月末の締め処理中に発生。同時接続数が通常の3倍。 [スタックトレースをここに貼り付け]
以下のコードをリファクタリングしてください。 優先順位: 1. 深いネスト(3段以上)を早期リターンで解消する 2. 意味が不明な変数名を具体的な名前に変える 3. 重複ロジックを関数に抽出する 変更の前後を diff 形式で出力してください。 [ここにコードを貼り付け]
BLOCK 4-4 / 10min / デモ + 解説
運用保守
開発業務部門向け

「コードはあるが仕様書がない」という運用保守の現場に、生成AIを直接活用できる場面が複数あります。障害調査・ログ解析・引継ぎ資料生成・処理概要の自動ドキュメント化まで、実際のプロンプト例を見ていきます。

障害調査

ログ・エラー・状況を一つのプロンプトにまとめて投げると、原因仮説と調査手順が即返ってくる。AIの仮説は起点。本番ログとの照合は人間が行う。

プロンプト例(完全版)
本番環境で以下の障害が発生しました。 【エラー情報】 エラー種別: NullPointerException 発生クラス: OrderService.java, line 142, processMonthlyBatch() 発生日時: 2026年3月31日 23:47 【状況】 - 月末の売上締め処理中に発生 - 同日の同時接続数が通常の約3倍(月末ピーク) - 前回(2026年2月末)は正常完了 - 直近の本番リリース: 3月15日(顧客マスタのINDEX追加) 【スタックトレース】 java.lang.NullPointerException at OrderService.processMonthlyBatch(OrderService.java:142) at MonthlyClosingJob.execute(MonthlyClosingJob.java:56) 以下を回答してください: 1. 考えられる原因の仮説(優先度順に3つ) 2. 各仮説の確認方法(どのログを確認するか) 3. 緊急対応の優先手順
ログ解析

大量ログをCSVに変換してCopilotチャットに添付します。Block 4-1で覚えたCSV添付の操作がそのまま活かせます。

プロンプト例
このシステムログを分析してください。 依頼内容: 1. ERRORレベルのログを時系列順に一覧化 2. 同一エラーが3回以上繰り返している箇所を特定 3. エラー発生の時間帯に偏りがあるか(ピーク時間の確認) 4. ERRORが発生する直前にWARNINGが出ていないか確認
引継ぎ資料・処理概要生成

仕様書のないシステムの保守引継ぎ作業で特に効果が大きい。既存コードを読み込ませて処理概要をドキュメント化する用途に向いている。

引継ぎ資料生成

コードから自動ドラフト

以下のコードを読んで、新任担当者向けの 引継ぎ資料のドラフトを作ってください。 ## 1. 処理概要(3〜5行) ## 2. 入力仕様(ファイル/テーブル/パラメータ) ## 3. 出力仕様(生成ファイル/更新テーブル/ログ) ## 4. 処理フロー(番号付きリスト) ## 5. 注意事項・既知の問題 ## 6. AIが理解できなかった箇所 [ここにコードを貼り付け]
処理概要生成

既存コードのドキュメント化

以下のソースコードの処理内容を 日本語で説明してください。 対象読者: このシステムを初めて担当するエンジニア 出力形式: ## 処理の目的(1〜2行) ## 主要な処理ステップ(番号付きリスト) ## 使用するファイル/データ項目 ## 主要な分岐条件とその意図 ## 注意が必要な箇所 [ここにソースコードを貼り付け]

言語を問わず使える。Java、Python、シェルスクリプトなど、コードを丸ごと貼り付ければ処理概要が返ってくる。仕様書がないコードの理解コストを大幅に下げられる。

改修後に設計書の変更箇所だけを更新したい場合:

既存の設計書と改修後のコードを見比べて、 変更点のみを反映した設計書を作ってください。 指示: - 変更なしのセクションはそのまま保持すること - 変更したセクションには「(改訂)」のマークを付けること - 削除された仕様には「【削除】」を付けること 【旧設計書】 [ここに旧設計書を貼り付け] 【改修後コード】 [ここにコードを貼り付け]
出典・参考
Copilot Chat ファイル添付 - Microsoft Support Agent Mode in Excel - Microsoft Support Copilot in Excel Think Deeper - 窓の杜
TEMPLATES
プロンプト設計の共通テンプレート

全セッションを通じて使える3つのプロンプトの型。セミナー後の実践でそのままコピーして使える。

型 1

役割 + 依頼内容 + 制約

あなたは[役割]です。 以下の[対象]に対して[作業内容]をしてください。 制約: - [制約1] - [制約2] [対象のテキスト/コード/データ]
効果

役割を明示すると回答の視点・語彙・詳細度が変わる。制約で出力形式をコントロール。

型 2

段階的な絞り込み

// 1回目: 全体像 このデータの傾向を3点で教えて // 2回目: 絞り込み 〇〇の部分を詳細化して // 3回目: 形式指定 表形式に直して
効果

複雑な依頼を1回で全部頼まない。ステップを分けると精度が上がり、意図のズレを早期に発見できる。

持ち帰るべき最重要習慣

「プロンプトを磨く前にデータを整える」。AIへの入力品質が出力品質を決める。CSVの前処理・欠損値の処理・不要な行の削除、この3つの習慣だけで回答精度が大きく変わる。