ここまでは「ChatGPTは仕事に使うだけじゃない」シリーズでしたが、ここからは実業務で実際にやりとりしたプロンプトの内容を紹介させていただきます。
今回の業務内容と課題
今回扱うのは、経済産業省の公開データである「第3次産業活動指数【月次】業種別原指数」です。
元データは典型的なクロス表になっています。
・縦:品目
・横:年月
・中身:数値
この形式は「見る」には便利ですが、
データベースとして使うには不便です。
例えばこんな問題が出ます。
・ピボットが組みにくい
・Power BIに入れにくい
・抽出条件が増えると処理が面倒
なので今回は、
クロス表 → 縦持ちデータ(正規化)
に変換します。
しかも手作業ではなく、CopilotにVBAを書かせます。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

実際のCopilotとのやり取り
利用者 → Copilot
Excel VBAで、クロス表を縦持ちデータに変換するマクロを作成してください。 ■元データ(dataシート)
・1行目:ヘッダー(3列目以降は年月:例 2018/1 など)
・2行目以降:データ
・A列:品目番号
・B列:品目名称
・C列以降:各年月の数値 ■出力先(data2シート)
A列:品目番号
B列:品目名称
C列:年月
D列:原指数 ■仕様
・dataシートの内容をdata2シートに展開
・data2シートは処理前にクリアする
・最終行はA列から取得
・最終列は1行目から取得
・空白データも含めてすべて展開 可読性を重視し、コメント付きで作成してください。
Copilot → 利用者
以下に、指定された条件に基づいてクロス表を縦持ちデータに
変換するExcel VBAコードを示します。
Option Explicit
Sub ConvertCrossToLong()
'--------------------------------------------
'【1】シートの定義
'--------------------------------------------
Dim wsSrc As Worksheet ' 元データ:data シート
Dim wsDst As Worksheet ' 出力先:data2 シート
Set wsSrc = Worksheets("data")
Set wsDst = Worksheets("data2")
'--------------------------------------------
'【2】出力先シートの初期化
'--------------------------------------------
wsDst.Cells.ClearContents
'--------------------------------------------
'【3】出力先のヘッダー設定
'--------------------------------------------
wsDst.Range("A1").Value = "品目番号"
wsDst.Range("B1").Value = "品目名称"
wsDst.Range("C1").Value = "年月"
wsDst.Range("D1").Value = "原指数"
'--------------------------------------------
'【4】元データの最終行・最終列を取得
' ・最終行:A列から取得
' ・最終列:1行目から取得
'--------------------------------------------
Dim lastRow As Long
Dim lastCol As Long
lastRow = wsSrc.Cells(wsSrc.Rows.Count, "A").End(xlUp).Row
lastCol = wsSrc.Cells(1, wsSrc.Columns.Count).End(xlToLeft).Column
'--------------------------------------------
'【5】ループ用の変数定義
'--------------------------------------------
Dim r As Long ' 行ループ(品目)
Dim c As Long ' 列ループ(年月)
Dim outRow As Long ' 出力行番号
Dim itemNo As String ' 品目番号
Dim itemName As String ' 品目名称
Dim ym As String ' 年月
outRow = 2 ' 出力開始行(2行目)
'--------------------------------------------
'【6】クロス表 → 縦持ちデータへ展開
' ・3列目以降のすべての年月列を展開
' ・空白データも含めて出力
'--------------------------------------------
For r = 2 To lastRow
itemNo = wsSrc.Cells(r, 1).Value
itemName = wsSrc.Cells(r, 2).Value
For c = 3 To lastCol
ym = wsSrc.Cells(1, c).Value ' 年月(1行目)
wsDst.Cells(outRow, 1).Value = itemNo
wsDst.Cells(outRow, 2).Value = itemName
wsDst.Cells(outRow, 3).Value = ym
wsDst.Cells(outRow, 4).Value = wsSrc.Cells(r, c).Value
outRow = outRow + 1
Next c
Next r
'--------------------------------------------
'【7】処理完了メッセージ
'--------------------------------------------
MsgBox "クロス表の縦持ち変換が完了しました。", vbInformation
End Sub
ここで一度完成していますが、実務ではこのまま終わりません。
その続きはまた次回に・・・
まとめ
今回のような「クロス表 → 縦持ちデータ変換」は、
Excel業務で非常によく出てくる処理です。
これを毎回手作業でやっていると、時間もかかるしミスも出ます。
Copilotを使えば、
・数分でコード作成
・修正も対話で完了
・再利用も簡単
という状態に持っていけます。
特に重要なのは、「最初の指示の出し方」と「修正のさせ方」です。
AIは万能ではありませんが、
正しく使えば“作業者の代わりに手を動かす存在”になります。
今回のようなパターンを一度体験しておくと、
今後のExcel業務がかなり楽になります。
まずは小さな業務から、Copilotに任せてみてください。
そこから一気に世界が変わります。
次回は「修正のさせ方」をご紹介させていただきます。
リンク
ChatGPTでExcel VBAマクロを自動生成してみた|初心者でも使える実践手順
Excel VBAのエラー修正をChatGPTに頼んだら原因が一発で分かった話
仕様が曖昧でもOK?ChatGPTにExcel VBAを作らせてみた結果
ChatGPTに作らせたExcel VBAコードは安全?使う前に確認すべきポイント
Excel VBA初心者がChatGPTを使うと挫折しにくくなる理由
CopilotでExcel作業はどこまで効率化できる?実務で使ってみた結果
Copilotに仕事を任せてみた|メール・資料作成はここまで楽になる
Copilotが向いている人・向いていない人を実体験から整理してみた
ChatGPT・Copilot・Geminiに同じ仕事を頼んだら結果が全然違った
結局どれを使えばいい?目的別に生成AIを整理してみた【初心者向け】
初心者が最初にやるべき生成AI活用① ChatGPTで「長文を理解・整理する」読むのがしんどい人ほど効果が出る使い方
初心者が最初にやるべき生成AI活用②ChatGPTに「分からないことをそのまま相談する」使い方・聞き方を気にしない安心感
初心者が最初にやるべき生成AI活用③AIを「自分専用の調べ物係」にする使い方|検索に疲れた人ほど効果が出る
ChatGPTにブログ記事を“赤ペン先生”してもらったら修正力がすごかった話―書くのが苦手な人ほど使ってほしい文章改善―
CopilotでExcel作業手順書を一瞬で作る|引き継ぎ資料が秒で完成した話
Geminiでアイデアが枯れたときの発想復活法|何も思いつかないを脱出する使い方
ChatGPT・Copilot・Geminiをブレスト役で使い分ける実例|発想が加速した方法
CopilotでExcel集計→Word報告書を一気に作る実務フロー― 月次報告が“考えずに終わる”ようになった話 ―
Copilotで会議議事録からToDo管理まで一気にやってみた実務フロー
Geminiで社内資料の画像を作ってみた|伝わらない資料が一瞬で変わった話
ChatGPTに流行りの「今まで私があなたをどう扱ってきたかを画像にして」を頼んでみた
ChatGPTのプロンプトを“自分用”に進化させる方法|頼み方で結果が激変する理由
初心者が最初にやりがちなプロンプトの失敗例と直し方
ChatGPTが急に賢くなる「前提条件」の渡し方-同じ質問なのに答えが変わるのはなぜ?-
プロンプトを毎回書かなくてよくなる“会話の残し方”
ChatGPTに「察してもらえない」と感じた時の原因と対処法|噛み合わない理由を実例で解説
AIに雑に投げても失敗しにくくなる頼み方のコツ|考えずに使っても噛み合う方法
プロンプトが思いつかない人のための“最初の一文”テンプレ集
ChatGPTを“相棒化”する人と、うまく使えない人の決定的な差
生成AIはどこまで使っていい?初心者が最初に知るべき法律の話
AI画像生成は違法?著作権で“やってはいけないこと”実例集
商用利用OK?NG?生成AIの利用規約を初心者向けに噛み砕く
AIで作った文章は誰のもの?著作権の考え方をやさしく解説
「知らなかった」では済まない?生成AIトラブル事例と回避法
ブログ・SNSでAI生成物を使うときの最低限の注意点まとめ
AIに頼りすぎて思考力が落ちた話|便利さの裏で起きたリアル失敗
AIの回答を信じて怒られた話|正しいはずが通用しなかった理由
ChatGPTにExcelマクロを直してもらったらコメントが消えた話|親切の落とし穴
Copilotの差分コードが分からなかった話|全コード出してもらう選択
ChatGPTにきれいな文章はいらなかった話|ぐちゃぐちゃでも伝わる
ChatGPTは仕事に使うだけじゃない|高校生の恋愛LINEをChatGPTに相談したら既読スルーが減った話
ChatGPTは仕事に使うだけじゃない|バツイチ48歳のマッチングアプリ不安を解消した相談実例
ChatGPTは仕事に使うだけじゃない|社内不倫の相談を法と気持ちで整理した話
ChatGPTは仕事に使うだけじゃない|離婚前に確認すべきことを全部整理してくれた話
ChatGPTは仕事に使うだけじゃない|夫が不倫しているかも…調べ方を相談してみた話
ChatGPTは仕事に使うだけじゃない|高校生の反抗期の息子への声かけを相談してみた話
ChatGPTは仕事に使うだけじゃない|大阪のマンションごみトラブルを理事会で相談した話
ChatGPTは仕事に使うだけじゃない|社内報の“ビックリマン風・ジブリ風”画像を作った話
ChatGPTは仕事に使うだけじゃない|ママ友ランチ角が立たず断れた話
ChatGPTは仕事に使うだけじゃない|会話ゼロ夫婦が再出発できた話
ChatGPTは仕事に使うだけじゃない|派遣切り50代女性の次の仕事を相談した話
ChatGPTは仕事に使うだけじゃない|これから役立つ資格をAIに本気で相談してみた話
ChatGPTは仕事に使うだけじゃない|親の介護が不安で今から準備を聞いた話
ChatGPTは仕事に使うだけじゃない|PTA役員を角が立たず断れた話
ChatGPTは仕事に使うだけじゃない|義母との距離感がしんどい悩みを整理してもらった話
ChatGPTは仕事に使うだけじゃない|家計が苦しい時に大阪市で使える制度を年齢別に聞いた話
ChatGPTは仕事に使うだけじゃない|子どものスマホルールを一緒に作ってみた話
ChatGPTは仕事に使うだけじゃない|推し活にお金を使いすぎる悩みを整理してもらった話
ChatGPTは仕事に使うだけじゃない|人間関係がしんどくて距離を置きたい時の相談実例
ChatGPTは仕事に使うだけじゃない|将来が不安で眠れない50歳手前女性の相談を整理してもらった話
Copilotでクロス表を縦持ちデータに変換|実務VBA作成の流れ