TYPE 函數會根據儲存格內的資料類型,傳回對應的數字代碼(例如數字為 1、文字為 2)。一般會配合 IF 等函數使用,用來自動判斷並處理格式不一致的資料。
Excel TYPE 函數語法
=TYPE(值)| 參數 | 必填 | 說明 |
|---|---|---|
| 值 | 是 | 要檢查資料類型的儲存格參照、公式或特定值。 |
回傳:一個整數代碼,代表輸入值的資料類型(1=數字、2=文字、4=邏輯值、16=錯誤值、64=陣列)。
適用版本:Excel 2007 以上版本,包含 Microsoft 365。
TYPE 函數範例
範例 1:檢查員工編號是否被存成文字
從人資系統匯出資料時,部分員工編號可能被儲存為文字格式,可用 TYPE 函數檢查。
| 員工姓名 | 員工編號 |
|---|---|
| 陳怡君 | 1001 |
| 王小明 | 1002 |
在 C3 輸入公式:
=TYPE(B3)結果:1。儲存格 B3 中的資料「1002」在試算表中實際被儲存為數值格式。TYPE 函數會根據其真實的資料類型進行判斷,將其識別為數字,因此傳回代表數字資料類型的代碼 1。
範例 2:檢查公式產生的錯誤值
計算業績達成率時,若目標為零會產生除以零的錯誤,可利用 TYPE 判斷結果類型。
| 業務員 | 目標 | 實際 |
|---|---|---|
| 林雅婷 | 50000 | 60000 |
| 張建國 | 0 | 15000 |
在 D3 輸入公式:
=TYPE(C3/B3)結果:16。公式試圖將 15000 除以 0,會產生 #DIV/0! 錯誤。TYPE 函數判定計算結果為錯誤值,因此傳回代碼 16。
範例 3:搭配 IF 函數處理混合格式資料
庫存清單中有些數量是純數字,有些帶有單位變成文字,利用 TYPE 與 IF 標示出需要修改的資料。
| 商品 | 庫存量 |
|---|---|
| 滑鼠 | 50 |
| 鍵盤 | 30個 |
在 C3 輸入公式:
=IF(TYPE(B3)=2, "格式錯誤", "正常")結果:格式錯誤。儲存格 B3 的內容包含中文字元,TYPE 函數傳回 2。IF 函數判斷條件成立,因此傳回「格式錯誤」的提示字串。
使用 TYPE 的技巧與注意事項
- TYPE 函數在處理含有空白儲存格的參照時,會將空白視為 0(數字),因此會傳回 1。若要精準判斷空白,請使用 ISBLANK 函數。
- 日期和時間在 Excel 底層是以序號(數字)儲存,因此對日期儲存格使用 TYPE 函數會傳回 1。
TYPE 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| 預期回傳 1(數字),卻回傳 2(文字)。 | 數字前面帶有單引號,或是從其他系統匯入時被設定為文字格式儲存。 | 使用 VALUE 函數將文字轉換為數字,或利用「資料剖析」功能將整欄轉換為一般格式。 |
| 無法判斷儲存格內是否包含公式。 | TYPE 函數只會評估儲存格的最終顯示結果,不會檢查背後是否使用公式運算。 | 若需要判斷儲存格是否包含公式,請改用 ISFORMULA 函數。 |
Google 試算表可以用 TYPE 嗎?
Google 試算表完全支援 TYPE 函數,代碼對應與用法與 Excel 相同。
下載 TYPE 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:TYPE 範例.xlsx(範例公式都在試算表軟體實際計算過)。
常見問題
TYPE 函數可以判斷儲存格是不是日期嗎?
不行。日期在 Excel 中本質上是數字,因此 TYPE 函數會傳回 1。若要判斷是否為日期,通常需要搭配 CELL 函數檢查其格式代碼。
為什麼空白儲存格用 TYPE 檢查會回傳 1?
當 TYPE 函數參照到空白儲存格時,Excel 會將其視為數值 0 來處理,因此會傳回代表數字的代碼 1。
TYPE 函數和 ISNUMBER、ISTEXT 有什麼不同?
TYPE 函數會回傳代表資料類型的數字代碼,適合用來進行多種條件的分支判斷;而 ISNUMBER 或 ISTEXT 只會針對單一類型回傳 TRUE 或 FALSE。
這篇收錄在「Excel 函數字典」。




