Shirley 個人圖標
Shirley|AI 個人工作流實戰課
學員操作手冊|資料整理 × Google Sheet × 自動化通知
M3-M4 Student Manual
M3-M4|學員操作手冊

從 PDF / 文件整理到可自動化資料表

本單元會帶你把工作文件整理成表格,建立 Google Sheet 資料中心,並設計後續可以自動產表、通知與寄信的資料基礎。

一、本單元你會完成什麼?

本單元結束前,你要完成一份可以作為自動化基礎的 Google Sheet 資料表。

成果 1:AI 整理後的表格

你會將 PDF、文件、會議紀錄或工作資料,整理成欄位清楚、可貼入 Google Sheet 的表格。

成果 2:Google Sheet 資料中心

你會建立一份包含原始資料欄位與自動化控制欄位的 Google Sheet。

成果 3:狀態控制欄位

你會加入產表狀態、通知狀態或處理狀態,用來避免重複執行與重複通知。

成果 4:寄信通知情境

你會設計一個未來可以用 Apps Script 自動寄信的條件、對象與信件內容。

完成判斷: 如果你的 Google Sheet 可以讓別人看懂資料來源、目前狀態、負責人、通知對象與後續動作,就代表你已完成本單元的核心任務。

二、這一段工作流在整堂課的位置

M3-M4 是整條個人 AI 工作流的資料基礎:AI 先把資料整理乾淨,Google Sheet 再把資料變成可管理、可查詢、可自動化的格式。

1

文件來源

PDF、Excel、Email、SFT 途程單、會議紀錄。

2

AI 萃取

用 GPTs / Gemini 抓出欄位、摘要與表格。

3

Sheet 整理

建立資料表、狀態、負責人與信箱欄位。

4

GAS 讀取

Apps Script 逐列讀資料並判斷條件。

5

自動輸出

產生檢查表、工作表、通知信。

6

回寫狀態

更新已產生、已通知、錯誤或待確認。

學員提醒: AI 可以協助你整理資料,但後續要能自動化,關鍵在於 Google Sheet 的欄位要穩定。 請盡量固定欄位名稱、欄位順序與狀態選項,避免每次整理出來的表格格式都不同。

三、操作總流程:請照這個順序完成

步驟 你要做的事 使用工具 完成標準
Step 1 選擇一份要整理的文件 PDF / Excel / Word / Email 已確定本次要處理的資料來源。
Step 2 用 AI 整理成表格 GPTs / Gemini AI 已輸出欄位清楚的表格。
Step 3 檢查 AI 產出的資料 人工檢查 單號、日期、數量、狀態沒有明顯錯誤。
Step 4 貼到 Google Sheet Google Sheet 第 1 列是欄位名稱,第 2 列開始是資料。
Step 5 新增自動化欄位 Google Sheet 已加入負責人、通知信箱、處理狀態、通知狀態。
Step 6 設定狀態選項 Google Sheet 資料驗證 狀態欄位使用固定選項,不自由輸入。
Step 7 設計寄信條件 Google Sheet / Apps Script 已知道什麼條件下要寄信、寄給誰、信件要說什麼。

四、為什麼文件要先整理成表格?

多數工作資料一開始都不是乾淨的資料表,而是散落在 PDF、Email、Word、Excel 或紙本文件中。 AI 的第一個任務,是幫我們把這些資料整理成「欄位明確」的表格。

原始資料型態 常見問題 AI 整理後要變成什麼
SFT 途程單 PDF 欄位在文件中,但不方便直接統計或自動產表。 製令編號、品名、規格、預計產量、加工順序、製程名稱等欄位。
會議紀錄 / 協辦紀錄 任務、負責人與期限混在文字中。 任務、負責人、截止日、狀態、下一步。
財務或收款資料 項目、金額、日期與狀態需人工比對。 客戶、日期、金額、單號、狀態、是否需追蹤。
制度文件 / SOP 內容很長,不易查詢與分類。 主題、適用對象、流程步驟、負責單位、注意事項。
關鍵觀念: AI 整理文件的目標不是讓文字變漂亮,而是讓資料可以被貼進 Google Sheet,進一步被統計、篩選、通知與自動化。

五、M3 操作:用 GPTs / Gemini 將文件整理成表格

1. 開始前,請先準備一份文件

請從你的工作中選一份實際資料,例如:

M3 操作步驟:用 AI 整理文件

  1. 打開 GPTs 或 Gemini。
  2. 上傳 PDF / 文件,或將文字內容貼到對話框。
  3. 複製本講義提供的 Prompt。
  4. 依照你的文件類型,調整要輸出的欄位名稱。
  5. 送出後,等待 AI 產生表格。
  6. 檢查 AI 產生的表格是否有缺漏、誤判或自行補資料。
  7. 確認無誤後,將表格複製起來,準備貼到 Google Sheet。

2. 整理 SFT 途程單的 Prompt 範例

將 SFT 途程單 PDF 或文字內容提供給 GPTs / Gemini 後,可使用以下 Prompt:

請幫我從以下文件內容中整理成表格。

請輸出欄位:
1. 製令編號
2. 品號
3. 品名
4. 規格
5. 預計產量
6. 加工順序
7. 製程代號
8. 製程名稱
9. 製程敘述
10. 預計開工日
11. 預計完工日

請用表格輸出,方便我複製到 Google Sheet。
如果某欄位找不到,請填寫「待確認」。
請不要自行補不存在的資料。
請保持欄位名稱固定,不要任意更改欄位名稱。

以下是文件內容:
【貼上文件內容或上傳 PDF 後請 AI 讀取】

3. 整理一般任務 / 協辦進度的 Prompt 範例

請幫我把以下文字整理成任務追蹤表。

請輸出欄位:
1. 任務來源
2. 任務內容
3. 負責人
4. 截止日
5. 優先級
6. 目前狀態
7. 下一步
8. 需要通知的人
9. 通知信箱
10. 備註

如果資訊不足,請填「待確認」。
請保持欄位名稱固定,方便我貼到 Google Sheet。
請不要自行補不存在的資料。

資料如下:
【貼上文字內容】

4. AI 整理後,你要檢查什麼?

檢查項目 為什麼重要 檢查方式
製令編號 / 單號 這通常是後續追蹤與自動化的主鍵。 確認是否完整、格式是否一致。
日期 日期會影響提醒、逾期判斷與甘特圖。 確認格式一致,例如 yyyy/mm/dd。
數量 / 金額 數字錯誤會直接影響管理判斷。 與原始文件交叉確認。
狀態文字 狀態若不固定,程式無法準確判斷。 統一為未開始、進行中、已完成、異常、待確認。
待確認欄位 AI 找不到的資料不可自動補猜。 由人工補齊後再進入自動化流程。
M3 完成標準: 當你的 AI 整理結果符合以下條件,就可以進入下一步:
  1. 每一欄都有明確欄位名稱。
  2. 每一筆資料都放在同一列。
  3. 日期、數量、單號格式大致一致。
  4. 找不到的資料標示為「待確認」,而不是 AI 自行猜測。
  5. 表格可以直接複製貼到 Google Sheet。

六、M4 操作:建立可被自動化讀取的 Google Sheet

Google Sheet 在這條工作流中扮演「資料中心」角色。AI 整理好的資料,必須放進結構穩定的 Sheet,Apps Script 才能讀取與執行自動化。

M4 操作步驟:建立 Google Sheet 資料中心

  1. 打開 Google Drive,新增一份 Google Sheet。
  2. 將檔案命名,例如:SFT自主檢查表資料中心。
  3. 建立第一個工作表,命名為「資料表」。
  4. 把 AI 整理好的表格貼到第 1 列開始的位置。
  5. 確認第 1 列是欄位名稱,第 2 列開始才是資料內容。
  6. 在原有欄位右側新增自動化欄位,例如:負責人、通知信箱、產表狀態、通知狀態、最後更新時間。
  7. 將「產表狀態」預設為「未產生」。
  8. 將「通知狀態」預設為「未通知」。
  9. 補上測試用通知信箱,先不要使用正式大量收件人。
  10. 檢查資料是否每一列都有足夠資訊可以被程式讀取。

1. 以 SFT 途程單 → 自主檢查表為例

欄位名稱 用途 欄位類型 是否給 Apps Script 使用
製令編號作為批號與資料主鍵。文字
品號產品代碼。文字視需求
品名產品名稱。文字
規格產品尺寸或規格。文字
預計產量帶入自主檢查表數量欄位。數字 / 文字
加工順序決定每一道製程產生一張表。文字
製程名稱帶入自主檢查表製程欄位。文字
負責人知道這張表完成後通知誰。文字
通知信箱Apps Script 寄信使用。Email
產表狀態避免重複產生表單。下拉選單
通知狀態記錄是否已寄信通知。下拉選單
最後更新時間記錄資料何時被處理。日期時間

2. 建議的 Google Sheet 欄位範本

製令編號 品號 品名 規格 預計產量 加工順序 製程名稱 負責人 通知信箱 產表狀態 通知狀態
A511-1150630009 C-BWBF037CB0102D CB-二管直角立式吊架 410*211*669 100 0010 手工焊接 王小明 example@company.com 未產生 未通知
A511-1150630009 C-BWBF037CB0102D CB-二管直角立式吊架 410*211*669 100 0020 固定前管 王小明 example@company.com 未產生 未通知
操作提醒: 請務必保留「產表狀態」與「通知狀態」兩個欄位。 這兩欄是用來避免重複產生表單或重複寄信的重要控制欄位。 如果沒有這兩欄,程式每次執行時可能會把同一筆資料重複處理。

七、設定狀態欄位下拉選單

為了避免每個人輸入不同文字,建議將狀態欄位設定為下拉選單。 這樣後續 Apps Script 才能穩定判斷資料狀態。

操作步驟:設定 Google Sheet 下拉選單

  1. 選取「產表狀態」欄位下方的資料範圍,例如 J2:J100。
  2. 點選上方選單「資料」。
  3. 選擇「資料驗證」。
  4. 新增下拉選單項目:未產生、已產生、產生失敗、待確認。
  5. 按下「完成」。
  6. 用同樣方式設定「通知狀態」欄位,例如:未通知、已通知、通知失敗、不需通知。
欄位 建議下拉選項 用途
產表狀態 未產生、已產生、產生失敗、待確認 控制是否要產生檢查表或工作表。
通知狀態 未通知、已通知、通知失敗、不需通知 控制是否要寄出 Email 通知。
處理狀態 未開始、進行中、已完成、異常、待確認 追蹤任務或資料處理進度。
完成標準: 當你點選狀態欄位時,可以從固定選項中選擇,而不是自由輸入文字,就代表下拉選單設定完成。

八、給人看的欄位 vs 給程式用的欄位

設計 Google Sheet 時,不只要考慮人員閱讀,也要考慮後續自動化工具如何判斷。

給人看的欄位

用來讓使用者理解資料內容,例如製令編號、品名、規格、製程名稱、負責人、備註。

給程式用的欄位

用來讓 Apps Script 判斷是否執行動作,例如產表狀態、通知狀態、通知信箱、最後更新時間。

欄位類型 範例欄位 設計重點
識別欄位 製令編號、單號、品號 格式要固定,避免同一張單有多種寫法。
內容欄位 品名、規格、製程名稱、任務內容 讓使用者看得懂,也可帶入通知信或產出表單。
狀態欄位 未產生、已產生、未通知、已通知、待確認 請使用固定選項,避免自由輸入造成判斷失準。
通知欄位 負責人、通知信箱、通知對象 信箱格式要正確,寄信前先用測試信箱。
稽核欄位 最後更新時間、處理人、錯誤訊息 方便追蹤程式是否正常執行。

九、認識 Apps Script 如何寄信通知

Apps Script 可以讀取 Google Sheet 中的每一列資料,根據條件判斷是否要寄信,並使用 Gmail / MailApp 將通知寄給指定收件人。

你不需要一開始就會寫完整程式。 這一段的重點是先看懂 Apps Script 會做哪幾件事:
  1. 讀取 Google Sheet 的每一列資料。
  2. 檢查這一列是否符合寄信條件。
  3. 把欄位內容組合成 Email 主旨與內文。
  4. 寄出 Email。
  5. 把通知狀態改成「已通知」。

1. 寄信自動化的白話流程

1

讀取 Sheet

取得每一列的製令、製程、信箱與狀態。

2

判斷條件

例如產表狀態為已產生,通知狀態為未通知。

3

組合信件

把製令、品名、製程等欄位放入信件內容。

4

寄出 Email

用 MailApp.sendEmail 發送通知。

5

回寫狀態

將通知狀態改成已通知,避免重複寄信。

2. 通知信可以用在哪些情境?

觸發情境 判斷條件 通知對象 信件內容應包含
自主檢查表已產生 產表狀態 = 已產生,通知狀態 = 未通知 製造 / 品管 / 廠務 製令編號、製程名稱、表單連結、注意事項。
資料缺漏 必要欄位為空白或待確認 資訊組 / 資料提供者 缺漏欄位、需要補正的資料。
製程即將到期 預計完工日接近今天,狀態未完成 生管 / 現場主管 製令、製程、預計完工日、目前狀態。
外發逾期未回 外發回廠日逾期且狀態未回 生管 / 倉儲 外發項目、廠商、預計回廠日、風險提醒。

3. 簡化版寄信概念碼

實作時,你可以先使用課程提供的程式範本,不需要從零開始寫程式。 你的重點是看懂欄位如何對應,並學會調整收件人、信件主旨與信件內容。

function sendSheetNotice() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('資料表');
  const data = sheet.getDataRange().getValues();

  for (let i = 1; i < data.length; i++) {
    const orderNo = data[i][0];        // 製令編號
    const productName = data[i][2];    // 品名
    const processName = data[i][6];    // 製程名稱
    const recipient = data[i][8];      // 通知信箱
    const generateStatus = data[i][9]; // 產表狀態
    const noticeStatus = data[i][10];  // 通知狀態

    if (generateStatus === '已產生' && noticeStatus !== '已通知') {
      const subject = '【自主檢查表通知】' + orderNo + ' / ' + processName;
      const body =
        '您好:\n\n' +
        '以下自主檢查表已建立完成,請確認。\n\n' +
        '製令編號:' + orderNo + '\n' +
        '產品名稱:' + productName + '\n' +
        '製程名稱:' + processName + '\n\n' +
        '請至 Google Sheet 查看詳細內容。\n';

      MailApp.sendEmail(recipient, subject, body);
      sheet.getRange(i + 1, 11).setValue('已通知');
    }
  }
}
風險提醒: 自動寄信在正式啟用前,請一定先用測試資料與測試信箱。 不要第一次就寄給全公司或外部客戶。

十、建立好的 Google Sheet 如何被寄送或分享?

Apps Script 不一定是「把整份 Google Sheet 附件寄出去」。 更常見的做法,是寄出通知信與 Google Sheet 連結,讓相關人員點開查看最新版資料。

方式 適用情境 優點 注意事項
寄出 Google Sheet 連結 內部同仁查看最新資料。 永遠看到最新版,不需重複寄附件。 權限要設定正確。
寄出指定工作表連結 只希望對方看特定資料表。 使用者不用自己找頁籤。 仍需檢查共用權限。
寄出 PDF 附件 需要固定版次、簽核或留存紀錄。 格式固定,適合文件保存。 程式設計較進階,前導課先了解概念即可。
寄出摘要內容 只需要通知結果,不需開表查看。 閱讀快速,適合主管提醒。 摘要內容要清楚且避免過長。

通知信內容建議格式

主旨:【自主檢查表已建立】製令 A511-1150630009

內容:
您好,

以下製令的自主檢查表已建立完成:

製令編號:A511-1150630009
產品名稱:CB-二管直角立式吊架
製程名稱:手工焊接
數量:100 PCS

請點選以下連結查看:
【Google Sheet 連結】

若資料有誤,請回覆資訊組確認資料來源。

十一、學員練習:完成自己的可自動化資料表

你的任務卡:完成一份可自動化資料表

  1. 選定一份你工作中常用的文件。
  2. 用 AI 將文件整理成表格。
  3. 檢查表格欄位是否清楚、資料是否正確。
  4. 將表格貼到 Google Sheet。
  5. 補上自動化需要的欄位。
  6. 設定至少一個狀態欄位。
  7. 設計一個未來可以觸發寄信的條件。
  8. 完成後,請用下方表格記錄你的設計。
我的文件來源 AI 要萃取的欄位 Sheet 必備欄位 程式判斷欄位 寄信通知對象 寄信觸發條件
例:SFT 途程單 製令、品名、製程、數量 製令編號、製程名稱、通知信箱 產表狀態、通知狀態 品管 / 製造主管 產表狀態 = 已產生
           
           
練習完成標準: 你應該可以清楚說明:
  1. 我的資料從哪裡來?
  2. AI 幫我整理了哪些欄位?
  3. Google Sheet 裡哪些欄位是給人看的?
  4. 哪些欄位是給程式判斷的?
  5. 什麼條件下要寄信?
  6. 寄信要通知誰?

十二、完成前檢查清單

在進入下一單元前,請確認你的資料表至少符合以下條件:

AI 整理結果檢查
  • 欄位名稱清楚且固定
  • 資料沒有明顯錯列或漏列
  • 找不到的資料標示為「待確認」
  • 日期、數量、單號格式大致一致
Google Sheet 檢查
  • 第 1 列是欄位名稱
  • 第 2 列開始是資料內容
  • 已新增負責人與通知信箱
  • 已新增狀態控制欄位
自動化欄位檢查
  • 產表狀態有固定選項
  • 通知狀態有固定選項
  • 信箱格式正確
  • 已先使用測試信箱
寄信情境檢查
  • 知道何時要寄信
  • 知道要寄給誰
  • 知道信件主旨要寫什麼
  • 知道信件內容要包含哪些欄位

十三、常見錯誤與修正方式

常見錯誤 可能造成的問題 修正方式
欄位名稱每次都不同 Apps Script 讀不到正確欄位。 固定欄位名稱,不要今天叫「製令」,明天叫「製令編號」。
狀態欄位自由輸入 同樣意思出現多種寫法,例如已通知、已寄出、完成通知。 使用下拉選單,固定狀態選項。
第 1 列不是欄位名稱 程式無法正確判斷資料位置。 請讓第 1 列固定放欄位名稱,第 2 列開始放資料。
通知信箱空白或格式錯誤 Email 無法寄出,或寄錯對象。 先用測試信箱,確認格式正確後再使用正式收件人。
AI 自行補資料 資料看似完整,但可能不是原始文件內容。 Prompt 中要求 AI 找不到時填「待確認」,不要自行推測。
忘記設定通知狀態 程式可能重複寄出同一封通知信。 新增「通知狀態」欄位,寄出後回寫為「已通知」。

十四、本單元重點整理

M3 AI 整理文件

GPTs / Gemini 的任務是把 PDF、文字或文件整理成欄位清楚的表格。

M4 Sheet 成為資料中心

Google Sheet 不是只拿來存資料,而是後續自動產表、統計與寄信的核心。

GAS 自動化執行工具

Apps Script 可以讀取 Sheet,依條件產表、寄信、更新狀態。

下一單元預告: 接下來會進入 Apps Script 的實作邏輯:如何從 Google Sheet 讀取每一列資料,並依照模板自動產生多張檢查表或工作表。