ChatGPT 讀 PDF 表格漏列,先核對頁面、列數與欄位
在讓 ChatGPT 合計 PDF 表格、列出所有符合條件的項目之前,先從原頁建立一份預期清冊:要讀哪些頁、有哪些資料列、每列要保留哪些欄位。拿到輸出後,再逐列對照身分與欄位。只看回答是否流暢,或兩邊列數是否相同,都不足以確認沒有漏列。
這套核對只能支持你實際檢查過的範圍。若連原表共有多少列、哪些頁屬於同一張表都還不確定,就先保留這個缺口,不把模型給出的數字當成完整母體。
先確認 PDF 的內容有沒有進入可讀範圍
截至 2026 年 10 月 10 日,OpenAI 的檔案上傳說明指出,文件內嵌圖片的處理依方案與檔案類型而異:ChatGPT Enterprise 支援 PDF 的 visual retrieval;其他方案及文件類型採文字擷取,讀取數位文字而非內嵌圖片。
PDF visual retrieval 官方 FAQ還區分上傳位置。在 Enterprise 的適用範圍內,放進 GPT Knowledge 或 Project Files 的 PDF 使用純文字擷取;在已發布 GPT 的互動中,或 Project 對話內直接附上的 PDF,才走 visual retrieval。這些說明沒有承諾表格每一列都會完整擷取。
因此,如果判斷條件只存在於掃描圖像、底色或版面位置,不能從「上傳成功」推斷它已經被讀取。先回原頁確認欄位長什麼樣,再確認目前的方案與上傳位置適用哪種處理方式。能讀取圖片,也仍然需要下面的逐列核對。
把原頁變成可以對照的清冊
這裡建議先轉錄指定表格的全部資料列,再做條件篩選。若第一步只要求「列出符合條件的項目」,未出現的列究竟不符合條件,還是根本沒讀到,會很難追查。
預期清冊要由人對照原頁建立,或取自同版本、同範圍的原始試算表。不要用同一次模型回覆同時產生「預期列數」與「實際列數」,再把兩者相同視為獨立驗證。
| 核對項目 | 原頁先記下什麼 | 收到輸出後檢查什麼 |
|---|---|---|
| 頁面與表格範圍 | PDF 閱讀器頁序、頁面印刷頁碼、表名與起訖;兩種頁碼不同時分開記 | 是否涵蓋指定範圍;有沒有漏頁或混入另一張表 |
| 預期欄位 | 欄名、單位、條件欄;多層表頭如何對應 | 各欄是否齊全,有沒有移位、把單位或註解併入數值 |
| 資料列 | 逐頁的資料列數與原有識別碼;排除表頭、小計、頁尾 | 列數之外,再找缺少、多出及重複的識別碼 |
| 跨頁接續 | 上頁末列是否在下頁續寫,下頁首行是否只是重複表頭 | 同一筆是否被拆成兩筆,接續內容是否被丟掉 |
| 合併欄位與空值 | 合併儲存格涵蓋哪些列;分清空白、0、破折號與讀不清 | 是否擅自向下補值、把空白當 0,或猜填看不清的內容 |
| 原文定位 | 每列可回查的頁序、表名、原編號;沒有編號時人工加註表內列位置 | 每列能否回到原頁確認,定位是否確實對得上 |
若原表沒有識別碼,人工加註的定位只是核對工具,要與原文欄位分開。讓模型為輸出重新編上流水號,並不能證明原表的每列都在裡面。也要先確認原編號是否唯一;同一編號原本就可能有多筆時,連同頁面與列位置逐筆比對,不直接刪除重複編號。
自製練習:列數相同也可能漏掉一列
以下是人工設計的教學資料,所有行 ID、數值及「示意頁 1、2」都只屬於這個情境。本例沒有製作或上傳 PDF,也沒有在 ChatGPT 執行;後面的清單是預期答案與人為設計的錯誤示例。
假設一份宣傳品清單分成兩個示意頁,每頁各有三筆資料。兩頁都會有表頭,第二頁另附「資料筆數:6」的頁尾說明;表頭與頁尾均不算資料列。任務是找出「處理」欄恰為「補印」的項目,並合計這些項目的數量。
| 教材行 ID | 品項 | 處理 | 數量(份) | 人工安排的來源位置 |
|---|---|---|---|---|
| M01 | 折頁 | 補印 | 40 | 示意頁 1,資料列 1 |
| M02 | 海報 | 保留 | 10 | 示意頁 1,資料列 2 |
| M03 | 導覽卡 | 待確認 | 空白 | 示意頁 1,資料列 3 |
| M04 | 貼紙 | 補印 | 25 | 示意頁 2,資料列 1 |
| M05 | 說明卡 | 補印 | 15 | 示意頁 2,資料列 2 |
| M06 | 胸牌 | 保留 | 0 | 示意頁 2,資料列 3 |
核對這份教材的預期答案分成三步:
- 全部資料應有六列,行 ID 為 M01、M02、M03、M04、M05、M06,各出現一次。M03 的空白要保留,M06 的 0 也要保留。
- 逐列確認「處理」與「數量」對應原表,才能篩出 M01、M04、M05,共三列。
- 這三列的數量是 40、25、15,合計 80 份。M03 不符合本題的篩選條件;它的空白不能被改成 0,也不妨礙這三列的合計。
現在看一份刻意寫錯的清單:M01、M02、M03、M04、M04、M06。它仍有六列,但少了 M05,又重複了 M04。只核對列數會錯過這個問題;對照行 ID 才能指出是哪一列缺失。
反過來,即使六個 ID 都齊全,若把 M05 的「補印」讀成「保留」,篩選結果仍會出錯。列身分對得上,只支持列的覆蓋情況;欄位內容還要另外核對。
可複製的逐列轉錄提示
下面的提示用來取得方便人工核對的輸出。方括號由你依原頁填入;不確定的部分直接填「未知」。它本身不能保證抽取完整。
請先逐列轉錄指定表格,不先做條件篩選、合計或摘要。
範圍:PDF 閱讀器頁序[起頁至迄頁];印刷頁碼[如有];表名[名稱]。
必須保留的欄位:[原編號、欄名與單位]。我從原頁人工確認的資料列清冊/逐頁列數為[填入,或寫未知];表頭、小計與頁尾不算資料列。
每列附上可確認的來源位置,包括 PDF 閱讀器頁序、表名及原編號。沒有原編號時,請明標定位是後加的;無法確認頁碼或位置就寫「無法確認」,不要編造。
保留原文值。空白、0、破折號與讀不清要分開;不要自行補值、改單位或把跨頁接續當成新資料列。拿不準的地方保留片段並說明疑點。
表格後另列:各頁實際輸出列數、重複 ID、已察覺的讀不到或不確定處。若有我提供的人工清冊,再列出與清冊相比缺少或多出的 ID。清冊未知時,不要宣稱已證實完整。
等我對照原頁確認後,再按[明確的欄位與條件]篩選及計算。
收到回覆後,先按清冊逐頁、逐列勾對,再核對條件欄與數值欄。模型說「已全部讀完」,或列出的異常欄沒有內容,都不能代替這一步。
還有缺口時先縮小問題
若某一頁無法建立清楚的列對應,就先只核對那一頁及相鄰的接續頁,保留每批的來源位置,最後再檢查跨批重複與缺列。拿得到產生 PDF 的原始表格時,也可以用它建立清冊,但要確認版本與本次頁面範圍一致。這些是讓問題更容易定位的工作方法,沒有在本文做效果比較測試。
若只能確認部分內容,交付時寫清楚「已核對的頁面與列」「尚未確認的頁面或欄位」,不要把部分合計標為整表總計。原始母體未知時,完整率也應維持未知;換模型或再問一次,沒有新增原頁對照證據,就沒有補上這個缺口。
漏項是有歷史需求訊號的問題:一名使用者在 2025 年 1 月的 OpenAI 社群討論中,描述跨頁 PDF 表格的條件清單未涵蓋所有項目。這是個案回報,不能推算今天的失敗率,也不能把當時的回覆當成目前產品規格。本文提供的是一套可回查原頁的核對方式,讓你在計算前指出已確認的範圍與剩下的缺口。