Excel 單元格預設「常規」格式會自動「聰明」處理數據:`001` 變 `1`、`TRUE` 變大寫、日期變序列數。其實輸入法英文狀態下的 **單引號 `'` (半角撇號)** 是 **「強制文本格式」的隱形開關**,輸入 `'` 後再輸入內容,該單元格即視為文本,**但仍可參與數值運算/邏輯判斷**。本文詳解三大經典場景與原理。
核心機制:單引號 = 「隱性文本格式前綴」
- 單引號 **不顯示在單元格中**,只在編輯欄可見 (如 `'001`)。
- 單元格格式自動變為 **「文本」** (左對齊,綠色三角標記)。
- **關鍵優勢**:不同於「設定單元格格式→文本」預設文本,**單引號法輸入的數值/邏輯值/日期,在公式中仍按原類型計算**,兼具「顯示為文本」與「計算為數值/邏輯/日期」的雙重身份。
場景一:輸入前導零數據 (工號/身份證/郵編/商品碼)
| 輸入方式 | 單元格顯示 | 編輯欄顯示 | 格式 | 能否計算 |
| 直接輸入 `001` | `1` | `1` | 常規/數值 | ✅ 是 |
| 預設格式為文本後輸入 `001` | `001` | `001` | 文本 | ❌ 參與運算報錯/視為 0 |
| 輸入 `'001` (單引號開頭) | `001` | `'001` | 文本 | ✅ 可與數值運算 (如 `'001+99=100`) |
💡 批量導入前導零數據:CSV/文本導入嚮導中指定該列為「文本」,或用 Power Query 保留前導零。
場景二:輸入小寫邏輯常量 `true`/`false` (保持代碼風格/外部系統兼容)
- 直接輸入 `true` → 自動轉大寫 `TRUE` (Excel 內部邏輯值統一大寫)。
- 輸入 `'true` → 顯示 `true`、編輯欄 `'true`、格式文本。
- **公式測試**:`=NOT(A1)` → 返回 `FALSE` (正常邏輯運算);`=IF(A1,"是","否")` → 返回 `"是"` (視為真)。
- 適用場景:導出 JSON/代碼片段、對接大小寫敏感系統、教學演示邏輯值本質。
場景三:日期輸入為文本但保留序列值 (跨系統數據交換/防自動格式化)
- 輸入 `'2023-10-01` → 顯示 `2023-10-01`、編輯欄 `'2023-10-01`、格式文本。
- **神奇之處**:`=A1+0` → 返回 `45205` (即該日期的序列數);`=DATEVALUE(A1)` → 同樣返回 `45205`。
- 即:**文本存儲,數值計算雙全**。
- 應用:防止 Excel 自動識別 `1-2` 為 `1月2日` (實為 `1-2` 文本)、導出 CSV 保持原始日期字符串格式。

進階技巧與避坑
| 技巧/避坑 | 說明 |
| 批量加單引號 | 輔助列公式 `="'"&A1` → 複制粘貼值 → 替換原列 |
| 去除單引號 | 分列 (數據 → 分列 → 完成) / 查找替換 `'` 為空 / `VALUE()` 函數 |
| 單引號導致 VLOOKUP/MATCH 匹配失敗 | 查找值也要加單引號,或用 `--A1` / `VALUE(A1)` 強制轉數值再匹配 |
| 數字過長 (>15位) 必須用單引號/文本格式 | Excel 數值精度 15 位,身份證/銀行卡號 18/19 位**必須**存文本 |
| 導入文本文件時指定列為文本 | 數據 → 獲取外部數據 → 從文本 → 嚮導中勾選該列「文本」 |
總結:單引號 `'` 是 Excel 隱藏的「格式鎖」
- ✅ **顯示原樣** (前導零、小寫邏輯、日期字符串)
- ✅ **計算原型** (數值運算、邏輯判斷、日期序列值)
- ✅ **無需預設格式** (臨時、單次、混合數據極友好)
- ⚠️ **注意副作用**:排序按字符序、VLOOKUP 需統一格式、圖表可能不識別
掌握單引號,Excel 數據錄入不再被「聰明」預設格式綁架,**想存什麼樣就存什麼樣,計算照樣準**!