案例01|Python in Excel:用 xl() 計算平均 Days Stayed = 4.4
案例02|Copilot + PY():建立 Total Spending 城市長條圖
案例03|練習 1:用內嵌 Python 計算 Film Review 長度
案例04|Excel → xlwings → Python → OpenAI 的四層架構
案例05|環境設定與 API Test:驗證 Python/xlwings/OpenAI 連線
案例06|Travel Reviews 情緒分析:positive/negative/mixed 回寫 Excel
[案例07|AI 生成 classify.py:Highly Recommended/Recommended/Not Recommended](https://app.notion.com/p/07-AI-classify-py-Highly-Recommended-Recommended-Not-Recommended-3dc65edfe79a81d0b49bca7b0e30314a)
[案例08|AI 除錯循環:classification_wrong.py → classification.py](https://app.notion.com/p/08-AI-classification_wrong-py-classification-py-3dc65edfe79a81239296c041cce165e9)
案例09|練習 2:Film Reviews 經 xlwings + OpenAI 情緒分類
| 架構/工具 | 角色 | 主要用途 | 限制/驗證 |
|---|---|---|---|
| Python in Excel | 工作表內嵌分析層 | =PY()、Pandas、Matplotlib |
原書指出無網路、不能任意安裝套件 |
| Excel | 前端/資料與結果介面 | 儲存 inputs、觸發 macro/UDF、顯示輸出 | 不直接執行本機 Python |
| xlwings | Excel ↔ Python 橋接層 | 啟動 Python、傳資料、回寫結果 | 需正確設定 interpreter/add-in |
| 本機 Python | 主要處理層 | Pandas、OpenAI client、自訂套件/script | Excel 對其而言近似 black box,需 log/code review |
| OpenAI API | 外部 AI service | 情緒分析、分類等 | API key/費用/網路呼叫;原書介面與模型名稱屬 2026 版示例 |
| AI code generation | 程式碼助手 | 生成 Python、修正 runtime error | 生成 code 可能錯,必須 review→run→error→repair |
本章把前面「AI 協助 Excel」推進成兩種 Python 工作流:第一種是 Excel 內建的 PY(),適合受控環境中的小型分析;第二種是 Excel + xlwings + 本機 Python + 外部 API,適合需要網路、進階套件與自訂 automation 的任務。
原書用 12/travels.xlsx 的 10 筆虛構旅行資料示範 =PY()。欄位包含 City、Country、Days Stayed、Avg Daily Spend (€)、Trip Type、Satisfaction (1–5)、Review (EN)。xl() 可將 Excel range 轉成 Pandas DataFrame;例如 days=xl("C1:C11", headers=True) 後計算平均 Days Stayed 得 4.4。
原書明確指出:內嵌 Python 適合小型分析,但受控執行環境不能直接存取網路,也不能任意安裝未預載的套件。因此需要外部 API/自訂 package 的工作流要改用本機 Python + add-in。
完整 loop:Excel 提供資料與觸發 → xlwings 傳給本機 Python → Python 格式化 request 並呼叫 OpenAI API → API 回應 → Python 處理 → xlwings 回寫 Excel。OpenAI API 本身不「知道」Excel 存在,只看到 Python client 的 request。