excel-processor
ExcelやCSVファイルを読み込み、データの変換・分析、ピボットテーブルの作成、データ整理、形式変換、数式追加、フィルタリング、レポート作成など、表計算ソフトに関する様々な処理を柔軟に行うSkill。
📜 元の英語説明(参考)
Read, transform, analyze, and generate Excel and CSV files. Use when a user asks to open a spreadsheet, process Excel data, merge CSVs, create pivot tables, clean up data, convert between Excel and CSV, add formulas, filter rows, or generate reports from tabular data. Handles .xlsx, .xls, and .csv.
🇯🇵 日本人クリエイター向け解説
ExcelやCSVファイルを読み込み、データの変換・分析、ピボットテーブルの作成、データ整理、形式変換、数式追加、フィルタリング、レポート作成など、表計算ソフトに関する様々な処理を柔軟に行うSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o excel-processor.zip https://jpskill.com/download/14878.zip && unzip -o excel-processor.zip && rm excel-processor.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/14878.zip -OutFile "$d\excel-processor.zip"; Expand-Archive "$d\excel-processor.zip" -DestinationPath $d -Force; ri "$d\excel-processor.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
excel-processor.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
excel-processorフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Excel Processor
概要
Python を使用して、Excel および CSV ファイルの読み込み、変換、分析、生成を行います。このスキルでは、データのロード、クリーニング、フィルタリング、集計、数式生成、および複数の形式へのエクスポートについて説明します。
指示
ユーザーからスプレッドシート、Excel ファイル、または CSV データの操作を依頼された場合は、次の手順に従ってください。
ステップ 1: データのロード
import pandas as pd
# Excel ファイルの場合
df = pd.read_excel("data.xlsx", sheet_name=0) # または sheet_name="Sheet1"
# CSV ファイルの場合
df = pd.read_csv("data.csv")
# shape とプレビューの表示
print(f"Shape: {df.shape[0]} rows x {df.shape[1]} columns")
print(f"Columns: {list(df.columns)}")
print(df.head())
常に shape、列名、および最初の数行を表示して、ユーザーがデータが正しくロードされたことを確認できるようにします。
ステップ 2: データ品質の評価
# 問題点の確認
print(f"Missing values:\n{df.isnull().sum()}")
print(f"\nDuplicates: {df.duplicated().sum()}")
print(f"\nData types:\n{df.dtypes}")
変換に進む前に、見つかった問題をすべて報告してください。
ステップ 3: 要求された変換の適用
一般的な操作:
フィルタリング:
filtered = df[df["status"] == "active"]
filtered = df[df["amount"] > 1000]
filtered = df[df["date"].between("2024-01-01", "2024-12-31")]
集計:
summary = df.groupby("category").agg(
count=("id", "count"),
total=("amount", "sum"),
average=("amount", "mean")
).reset_index()
ピボットテーブル:
pivot = df.pivot_table(
values="revenue",
index="region",
columns="quarter",
aggfunc="sum",
margins=True
)
クリーニング:
df["name"] = df["name"].str.strip().str.title()
df["email"] = df["email"].str.lower()
df["date"] = pd.to_datetime(df["date"], errors="coerce")
df = df.drop_duplicates(subset=["id"])
df = df.dropna(subset=["required_field"])
ステップ 4: 結果のエクスポート
# 書式設定付きで Excel へ
with pd.ExcelWriter("output.xlsx", engine="openpyxl") as writer:
df.to_excel(writer, sheet_name="Data", index=False)
summary.to_excel(writer, sheet_name="Summary", index=False)
# CSV へ
df.to_csv("output.csv", index=False)
ステップ 5: 実行された内容の報告
実行された操作、影響を受けた行、および出力ファイルの場所を常に要約してください。
例
例 1: 顧客リストのクリーニングと重複排除
ユーザーのリクエスト: "customers.xlsx をクリーンアップしてください -- 重複を削除し、電話番号の書式を修正し、アクティブ/非アクティブなシートに分割してください"
実行されたアクション:
customers.xlsxをロード (2,340 行、8 列)- メールアドレスに基づいて 156 行の重複行を削除
- 電話番号を (XXX) XXX-XXXX 形式に標準化
- アクティブ (1,847 行) と非アクティブ (337 行) に分割
- 2 つのシートを含む
customers_clean.xlsxにエクスポート
出力:
Loaded: 2,340 rows x 8 columns
Removed: 156 duplicate rows (by email)
Fixed: 892 phone numbers reformatted
Split: 1,847 active, 337 inactive
Saved to customers_clean.xlsx:
- Sheet "Active": 1,847 rows
- Sheet "Inactive": 337 rows
例 2: 月次売上サマリーの生成
ユーザーのリクエスト: "地域と月ごとの収益を示すピボットテーブルを sales.csv から作成してください"
実行されたアクション:
sales.csvをロード (15,200 行)- 日付列を解析し、月を抽出
- ピボットテーブルを作成: 地域を行として、月を列として、収益の合計
- 行と列の合計を追加
sales_summary.xlsxにエクスポート
出力:
| Region | Jan | Feb | Mar | Total |
|-----------|----------|----------|----------|-----------|
| North | $45,200 | $52,100 | $48,900 | $146,200 |
| South | $38,700 | $41,300 | $44,600 | $124,600 |
| East | $51,900 | $49,800 | $55,200 | $156,900 |
| West | $42,100 | $46,700 | $43,500 | $132,300 |
| Total | $177,900 | $189,900 | $192,200 | $560,000 |
Saved to sales_summary.xlsx
ガイドライン
- ユーザーが正しさを検証できるように、ロード後に常にデータの shape と列名を表示してください。
- 日付を扱う場合は、
pd.to_datetime()で明示的に解析し、あいまいな場合は形式を指定してください (例: 01/02/03 は 1 月 2 日ですか、それとも 2 月 1 日ですか?)。 - 大規模なファイル (10 万行以上) の場合は、メモリについて警告し、チャンク処理を提案してください。
- 元のファイルを保持してください。ユーザーが明示的に上書きを要求しない限り、出力を新しいファイルに書き込んでください。
- 複数のファイルをマージする場合は、列名が一致することを確認し、続行する前に不一致を報告してください。
- ユーザーが「数式」を要求した場合は、値を計算するのではなく、Excel の数式文字列 (例:
=SUM(B2:B100)) を生成して、スプレッドシートが動的な状態を維持するようにしてください。 - CSV のデフォルトのエンコーディングは UTF-8 です。データに特殊文字が含まれている場合は、Excel との互換性のために
encoding="utf-8-sig"でテストしてください。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Excel Processor
Overview
Read, transform, analyze, and generate Excel and CSV files using Python. This skill covers data loading, cleaning, filtering, aggregation, formula generation, and export to multiple formats.
Instructions
When a user asks you to work with spreadsheets, Excel files, or CSV data, follow these steps:
Step 1: Load the data
import pandas as pd
# For Excel files
df = pd.read_excel("data.xlsx", sheet_name=0) # or sheet_name="Sheet1"
# For CSV files
df = pd.read_csv("data.csv")
# Show shape and preview
print(f"Shape: {df.shape[0]} rows x {df.shape[1]} columns")
print(f"Columns: {list(df.columns)}")
print(df.head())
Always print the shape, column names, and first few rows so the user can verify the data loaded correctly.
Step 2: Assess data quality
# Check for issues
print(f"Missing values:\n{df.isnull().sum()}")
print(f"\nDuplicates: {df.duplicated().sum()}")
print(f"\nData types:\n{df.dtypes}")
Report any issues found before proceeding with transformations.
Step 3: Apply requested transformations
Common operations:
Filtering:
filtered = df[df["status"] == "active"]
filtered = df[df["amount"] > 1000]
filtered = df[df["date"].between("2024-01-01", "2024-12-31")]
Aggregation:
summary = df.groupby("category").agg(
count=("id", "count"),
total=("amount", "sum"),
average=("amount", "mean")
).reset_index()
Pivot tables:
pivot = df.pivot_table(
values="revenue",
index="region",
columns="quarter",
aggfunc="sum",
margins=True
)
Cleaning:
df["name"] = df["name"].str.strip().str.title()
df["email"] = df["email"].str.lower()
df["date"] = pd.to_datetime(df["date"], errors="coerce")
df = df.drop_duplicates(subset=["id"])
df = df.dropna(subset=["required_field"])
Step 4: Export results
# To Excel with formatting
with pd.ExcelWriter("output.xlsx", engine="openpyxl") as writer:
df.to_excel(writer, sheet_name="Data", index=False)
summary.to_excel(writer, sheet_name="Summary", index=False)
# To CSV
df.to_csv("output.csv", index=False)
Step 5: Report what was done
Always summarize the operations performed, rows affected, and output file location.
Examples
Example 1: Clean and deduplicate a customer list
User request: "Clean up customers.xlsx -- remove duplicates, fix phone formatting, and split into active/inactive sheets"
Actions taken:
- Load
customers.xlsx(2,340 rows, 8 columns) - Remove 156 duplicate rows based on email
- Standardize phone numbers to (XXX) XXX-XXXX format
- Split into active (1,847 rows) and inactive (337 rows)
- Export to
customers_clean.xlsxwith two sheets
Output:
Loaded: 2,340 rows x 8 columns
Removed: 156 duplicate rows (by email)
Fixed: 892 phone numbers reformatted
Split: 1,847 active, 337 inactive
Saved to customers_clean.xlsx:
- Sheet "Active": 1,847 rows
- Sheet "Inactive": 337 rows
Example 2: Generate a monthly sales summary
User request: "Create a pivot table from sales.csv showing revenue by region and month"
Actions taken:
- Load
sales.csv(15,200 rows) - Parse date column, extract month
- Build pivot table: regions as rows, months as columns, sum of revenue
- Add row and column totals
- Export to
sales_summary.xlsx
Output:
| Region | Jan | Feb | Mar | Total |
|-----------|----------|----------|----------|-----------|
| North | $45,200 | $52,100 | $48,900 | $146,200 |
| South | $38,700 | $41,300 | $44,600 | $124,600 |
| East | $51,900 | $49,800 | $55,200 | $156,900 |
| West | $42,100 | $46,700 | $43,500 | $132,300 |
| Total | $177,900 | $189,900 | $192,200 | $560,000 |
Saved to sales_summary.xlsx
Guidelines
- Always show data shape and column names after loading so the user can verify correctness.
- When dealing with dates, explicitly parse them with
pd.to_datetime()and specify the format when ambiguous (e.g., is 01/02/03 Jan 2 or Feb 1?). - For large files (100k+ rows), warn about memory and suggest chunked processing.
- Preserve original files. Write output to new files unless the user explicitly asks to overwrite.
- When merging multiple files, check that column names match and report any discrepancies before proceeding.
- If the user asks for "formulas", generate the Excel formula strings (e.g.,
=SUM(B2:B100)) rather than computing values, so the spreadsheet stays dynamic. - Default to UTF-8 encoding for CSV. If the data contains special characters, test with
encoding="utf-8-sig"for Excel compatibility.