Claudeでエクセル業務を自動化する方法:関数・マクロ・VBA生成からデータ整理まで

エクセルの関数やマクロの作成に苦労していませんか。Claudeを活用すれば、複雑なVLOOKUP関数からVBAマクロまで、プロンプトひとつで正確なコードを生成できます。本記事では、経理・営業・人事の業務別に、Claudeでエクセル業務を自動化する具体的なプロンプト例と出力結果を紹介します。関数生成、マクロ作成、CSVデータクリーニングまで、実務で即使えるテクニックを網羅しました。

Claudeでエクセル関数を生成する基本アプローチ

Claudeにエクセル関数を生成させる際、最も重要なのはデータ構造を正確に伝えることです。「A列に商品コード、B列に商品名、C列に単価、D列に数量、E列に合計金額を計算したい」のように、列の配置とデータ型を明示します。さらに、ヘッダー行の有無、データの開始行、想定されるデータ件数を伝えると、より適切な関数が生成されます。Claudeは関数の意味も解説してくれるため、なぜその関数が最適なのかを理解しながら業務に適用できます。

プロンプトのテンプレートとしては、「エクセルで以下の処理を行う関数を作成してください。【データ構造】(列の説明)。【処理内容】(やりたいこと)。【条件】(エラー処理やゼロ除算対策などの要件)。【出力形式】(関数のみ/関数+解説/関数+使用手順)」という形式が効果的です。この構造化されたプロンプトにより、Claudeは実務で即使える関数を高い精度で生成します。

実務で使えるエクセル関数プロンプト10選

プロンプト1:VLOOKUP関連。「商品マスタ(Sheet2のA列:商品コード、B列:商品名、C列:単価)から、受注一覧(Sheet1のA列:商品コード)に商品名と単価を自動入力する関数を作成してください。商品コードが見つからない場合は「該当なし」と表示してください。」Claudeの出力例は「=IFERROR(VLOOKUP(A2,Sheet2!A:C,2,FALSE),\"該当なし\")」となり、IFERROR関数でエラーハンドリングも含めた実用的な関数が得られます。

プロンプト2:SUMIFS関数。「売上データ(A列:日付、B列:部門、C列:商品カテゴリ、D列:売上金額)から、特定の部門かつ特定の月の売上合計を算出する関数を作成してください。部門はF1セル、対象年月はG1セル(yyyy/mm形式)で指定します。」出力例は「=SUMIFS(D:D,B:B,F1,A:A,\">=\"&DATE(YEAR(G1),MONTH(G1),1),A:A,\"<\"&DATE(YEAR(G1),MONTH(G1)+1,1))」です。日付範囲の処理も適切に組み込まれます。

プロンプト3:条件付き書式。「売上目標達成率(E列)に基づいて、100%以上は緑、80%以上100%未満は黄色、80%未満は赤でセルを色分けする条件付き書式のルールを教えてください。」プロンプト4:ピボットテーブル用データ整理。「複数シートに分散した月次売上データ(1月〜12月、各シートの構造は同一:A列に顧客名、B列に売上金額)を1つのシートに統合する関数を作成してください。」プロンプト5:INDEX-MATCH。「VLOOKUPでは対応できない、検索列より左側にあるデータを取得したい場合の関数を作成してください。B列に社員番号、A列に氏名があり、社員番号からA列の氏名を取得します。」

プロンプト6:COUNTIFS。「顧客リスト(A列:顧客名、B列:都道府県、C列:業種、D列:契約ステータス)から、都道府県別×業種別のクロス集計を行う関数を作成してください。」プロンプト7:日付計算。「入社日(A列)から現在までの勤続年数を年・月で表示し、さらに次の勤続年数の節目(5年、10年、15年等)までの残り日数を計算する関数を作成してください。」プロンプト8:テキスト処理。「全角カタカナ・半角カタカナが混在する顧客名(A列)を全角カタカナに統一し、前後の空白を除去する関数を作成してください。」

プロンプト9:配列数式(スピル対応)。「UNIQUE関数とSORT関数を組み合わせて、売上データから重複を除いた顧客リストを売上金額の降順で自動生成する数式を作成してください。Microsoft 365環境です。」プロンプト10:エラーチェック。「入力規則チェック用の関数を作成してください。メールアドレス(A列)が正しい形式かどうかを判定し、B列に○または×を表示します。」これらのプロンプトを業務に応じてカスタマイズすることで、日常的なエクセル作業を大幅に効率化できます。

VBAマクロ生成のプロンプト設計

関数だけでは対応できない複雑な処理には、VBAマクロが必要です。Claudeは実用的なVBAコードを生成する能力が非常に高く、プロンプトの書き方次第で保守性の高いコードが得られます。VBAマクロ生成のプロンプトには、以下の要素を含めることを推奨します。処理の目的(何を自動化したいか)、入力データの場所と構造、出力先と出力形式、エラー処理の要件(ファイルが存在しない場合、データが空の場合など)、実行速度への配慮(画面更新の停止、計算の一時停止など)。

具体的なプロンプト例として、「以下の処理を行うVBAマクロを作成してください。【処理内容】毎月の請求書PDFフォルダ(C:\Invoices\2026\04\)内の全PDFファイル名を一覧化し、ファイル名から請求先企業名と金額を抽出して、エクセルの一覧表に自動入力する。【ファイル名規則】請求書_企業名_金額円_20260401.pdf。【出力先】Sheet1のA列にファイル名、B列に企業名、C列に金額、D列に日付。【要件】処理開始前に確認メッセージを表示。処理中はステータスバーに進捗を表示。エラー発生時はログシートに記録して処理を続行。」このように詳細に指示することで、Claudeは本番環境で使えるレベルのVBAコードを生成します。

CSVデータクリーニングの自動化

CSVファイルのデータクリーニングは、多くの企業で日常的に発生する作業です。Claudeを活用すれば、クリーニングルールの定義からVBAマクロの生成まで一貫して自動化できます。典型的なクリーニング処理として、文字コードの統一(Shift-JIS→UTF-8)、半角・全角の統一、日付フォーマットの統一(yyyy/mm/dd)、電話番号のハイフン有無統一、重複レコードの検出と削除、空白セルの処理(削除またはデフォルト値の挿入)があります。

プロンプト例として、「以下のCSVデータクリーニング用VBAマクロを作成してください。【元データ】顧客マスタCSV(10,000行)。A列:顧客ID、B列:会社名、C列:電話番号、D列:メールアドレス、E列:住所。【クリーニング処理】(1)会社名の「株式会社」「(株)」「㈱」を「株式会社」に統一 (2)電話番号をハイフンなし11桁に統一 (3)メールアドレスの前後空白除去と小文字変換 (4)重複顧客IDの検出(別シートに出力) (5)処理結果のサマリー(処理件数、修正件数、重複件数)をメッセージボックスで表示。」このプロンプトにより、データクリーニングの全工程を自動化するマクロが生成されます。Before(処理前)のデータとAfter(処理後)のデータを比較するレポートも出力させると、品質管理に役立ちます。

経理業務でのエクセル自動化ユースケース

経理部門では、仕訳入力、消費税計算、月次レポート作成など、エクセルを使った定型業務が多数あります。Claudeを活用した経理向けエクセル自動化の具体例を紹介します。まず、勘定科目の自動判定関数です。「取引摘要(A列)のテキストから勘定科目を自動判定する関数を作成してください。判定ルール:「交通費」「タクシー」「電車」→旅費交通費、「文房具」「コピー用紙」→消耗品費、「家賃」「賃料」→地代家賃、「電気」「水道」「ガス」→水道光熱費。該当なしの場合は「要確認」と表示。」

次に、消費税計算の自動化です。「税込金額(A列)と税率区分(B列:10%または8%)から、税抜金額(C列)と消費税額(D列)を計算する関数を作成してください。端数は切り捨てとします。さらに、E列にインボイス番号の入力有無を判定し、未入力の場合は赤色で警告表示する条件付き書式も設定してください。」経理業務では正確性が最重要であるため、生成された関数は必ず手動でテストデータを使って検証することをお勧めします。

営業・人事部門でのエクセル自動化ユースケース

営業部門では、売上管理、顧客分析、案件進捗管理などでエクセルを活用しています。Claudeに生成させると効果的なプロンプト例として、「売上データ(A列:顧客名、B列:商品名、C列:売上金額、D列:受注日)から、顧客別×月別のクロス集計表をVBAマクロで自動生成してください。集計表には月次の推移と前月比の増減率も含めてください。」があります。営業パイプラインの管理では、「案件リスト(A列:案件名、B列:顧客名、C列:金額、D列:確度、E列:予定日)から、確度別の加重売上予測を計算し、予定日が今月内の案件を強調表示するマクロを作成してください。」というプロンプトが実用的です。

人事部門では、勤怠管理、給与計算、人員配置の最適化にエクセルが使われています。「勤怠データ(A列:社員番号、B列:出勤時刻、C列:退勤時刻、D列:休憩時間)から、月次の残業時間を集計し、36協定の上限(月45時間)に近い社員を自動検出するマクロを作成してください。上限の80%(36時間)を超えた社員は黄色、90%(40.5時間)を超えた社員は赤色で表示してください。」このように、部門固有のルールや閾値をプロンプトに含めることで、業務に直結するツールが生成されます。

よくあるエラーと対処法

Claudeが生成したエクセル関数やVBAマクロを使う際によく遭遇するエラーとその対処法を整理します。まず、#REF!エラーは、参照先のセルが存在しない場合に発生します。Claudeが生成した関数でSheet2を参照している場合、そのシート名が実際のブック内で一致しているか確認してください。#VALUE!エラーは、関数に渡されたデータ型が不正な場合に発生します。日付として認識されていない文字列に対して日付関数を適用した場合などが該当します。Claudeに「このエラーが出ました」と伝えれば、原因特定と修正案を即座に提示してくれます。

VBAマクロでよくある問題としては、日本語環境固有の文字化け(文字コードの問題)、ファイルパスの区切り文字(日本語Windows環境での円記号の扱い)、セキュリティ設定によるマクロのブロックがあります。Claudeにこれらの環境情報を事前に伝えておくと、最初から環境に適合したコードが生成されます。また、VBAマクロの実行速度が遅い場合は、「Application.ScreenUpdating = False」と「Application.Calculation = xlCalculationManual」を処理前に設定し、処理後に元に戻すコードを含めるようClaudeに指示してください。1万行以上のデータ処理で体感速度が10倍以上改善することがあります。

Claude Projectsを活用したエクセル業務の継続的改善

日常的にエクセル関数やマクロをClaudeで生成する場合、Claude Projectsを活用することで効率がさらに向上します。プロジェクトのカスタムインストラクションに、自社のデータ構造(各シートの列構成)、命名規則(シート名、セル名の付け方)、コーディング規約(VBAのコメントルール、変数命名規則)を登録しておくと、毎回これらを説明する手間が省けます。さらに、過去に生成してうまく動いた関数やマクロをナレッジとして登録しておけば、類似の処理を依頼する際に一貫性のあるコードが生成されます。チームでプロジェクトを共有すれば、属人化を防ぎ、誰でも同じ品質のエクセルツールを作成できるようになります。

関連記事

Claudeの企業導入を検討されている方は、 Claude企業導入ガイド2026 もあわせてご覧ください。また、プロンプト設計の基礎を学びたい方には、 Claudeプロンプトエンジニアリングテンプレート集2026 が参考になります。

パワーポイント・エクセル自動化を含むClaude研修のご相談はこちら