如何結合 AI 工具與 Excel VBA 來提升辦公效率。(台師大試算表進階應用與程式設計202502B班第3次上課)

 

內容從基礎的 Excel 函數(如 Mid、Find)操作出發,

詳述如何透過 NotebookLM 生成簡報,

並利用 ChatGPT 協助編寫複雜公式與程式碼。

演示了將公式轉化為 VBA 自訂函數與 Sub 指令的過程,

進而建立自動化按鈕以一鍵處理資料截取與清除。文中強調在 AI 時代下,

低階程式開發者面臨威脅,勞動者應具備危機意識並學會驅使 AI 成為專屬助手。

最後,課程指導學員正確設置開發人員工具並儲存為啟用巨集的活頁簿,以確保自動化成果得以留存。
















教學影片:

在 Excel 中,結合 MIDFINDIFERROR 函數來提取括弧內的字串是一個非常實用的技巧。根據來源內容,這通常分為三個階段來構建公式:

1. 使用 MID 函數定位提取範圍

MID 函數主要用於從字串中間擷取特定長度的文字,它需要三個參數:資料來源、開始字元位置、以及要取幾個字。

  • 資料來源: 例如儲存格 A3
  • 開始位置: 必須是「前括弧」的下一個字。
  • 擷取長度: 必須是「後括弧位置」減去「前括弧位置」再減 1。

2. 使用 FIND 函數自動化位置計算

由於每個儲存格的括弧位置可能不同,不能直接輸入固定數字,因此需要 FIND 函數來尋找括弧的確切位置:

  • 尋找前括弧位置: FIND("(", A3)
  • 計算開始擷取點: 將前括弧位置 加 1(例如:前括弧在第 3 個字,則從第 4 個字開始擷取)。
  • 計算字串長度: 公式為 FIND(")", A3) - FIND("(", A3) - 1。來源解釋,減 1 是因為我們要的是括弧「內」的字,不包含括弧本身。

初步組合公式(以 A3 為例): =MID(A3, FIND("(", A3) + 1, FIND(")", A3) - FIND("(", A3) - 1)

3. 使用 IFERROR 處理無括弧的情況

當原始資料中沒有括弧時,FIND 函數會因為找不到符號而產生錯誤訊息(如 #VALUE!),這會讓表格看起來不專業。

  • 解決方法: 將上述公式套入 IFERROR 函數中。
  • 邏輯: 如果發生錯誤,則顯示空值。在 Excel 中,表示「清除」或「空值」的方式是使用兩個雙引號 ""

最終完整組合公式

=IFERROR(MID(A3, FIND("(", A3) + 1, FIND(")", A3) - FIND("(", A3) - 1), "")

進階建議:利用 AI 產生公式

如果你覺得手動輸入這串複雜的公式容易出錯,來源也建議可以截圖資料範例並傳給 AI(如 ChatGPT),請它直接幫你寫出特定儲存格(如 B2)的公式,這通常能得到完全正確且一模一樣的結果。

透過螢幕截圖讓 AI 自動生成 Excel 複雜公式是一種極為高效的方法,特別是當公式涉及多個函數(如 MIDFINDIFERROR)的嵌套組合時。

以下是根據來源彙整的操作步驟與要點:

1. 執行螢幕截圖

  • 快捷鍵: 在 Windows 環境下,按住 Windows 鍵 + Shift + S 即可進入截圖模式。
  • 截取範圍: 建議截圖時要包含 欄代號(如 A、B 欄)與列編號(如 1、2、3...)
  • 範例範圍: 不需要截取全部資料,大約截取 5 到 6 列 的範例資料即可,這樣 AI 才有足夠的上下文來判斷欄位關係與資料邏輯。

2. 提供給 AI 並下達指令

  • 上傳與貼上: 將截圖直接貼到 ChatGPT 或 Gemini 等 AI 工具的對話框中(Ctrl + V)。
  • 撰寫提示詞(Prompt): 雖然 AI 很聰明,通常能自定義判斷需求,但明確的指令能提高準確度。
    • 簡單描述: 「幫我寫 B2 的公式」。
    • 詳細描述: 「幫我寫 B2 的公式,功能是截取 A 欄內有括弧的資料,如果沒有括弧則顯示空白」。

3. AI 的自動化處理

  • 邏輯辨識: AI 會自動分析圖片中的文字與結構,辨識出資料型態(如數字與文字的差異)以及你的目標。
  • 公式生成: AI 會生成對應的複雜公式,例如結合了 IFERRORMIDFIND 的長公式,解決手動輸入時容易出錯的問題。

4. 進階應用:轉換為 VBA

如果你覺得長公式太難管理,可以進一步要求 AI 將該公式轉換為 VBA 自定義函數(Function)按鈕執行程式(Sub)

  • 自定義函數: 只需提供公式並對 AI 說:「幫我改為 VBA 的自定義函數」,AI 就會產一段程式碼,讓你以後只需輸入簡單的函數名稱(如「=刮弧內容(A2)」)即可完成任務。
  • 自動化按鈕: 要求 AI 寫一段「清除 B 欄資料」或「自動執行截取」的 Sub 程序,並在 Excel 中建立按鈕,實現一鍵自動化。

注意事項

  • 使用額度限制: 使用 AI(如 ChatGPT)的截圖功能時,免費版本通常有每日張數限制(例如一天只能傳 2-3 張),超過後可能需等待或升級付費版。
  • 文字描述備案: 如果截圖額度用完,也可以改用文字詳細描述需求(例如:將 A 欄內有括弧的資料提取到 B 欄)來請 AI 產生公式。
  • 存檔格式: 若後續將 AI 生成的公式轉換為 VBA 程式碼,存檔時必須選擇**「Excel 啟用巨集的活頁簿 (.xlsm)」**,否則程式碼會消失。


函數,台灣師範大學,程式設計,線上教學excel vba教學電子書,excel vba範例,vba語法,vba教學網站,vba教學講義,vba範例教學,excel vba教學視頻






創作者介紹
創作者 吳老師 的頭像
吳老師

吳老師教學部落格(痞客邦分站)

吳老師 發表在 痞客邦 留言(0) 人氣(0)