HEX2DEC 是 Excel 內建的進位轉換函數,能將十六進位(Hexadecimal)字串直接轉為十進位(Decimal)數值。 本文完整教學函數語法、0x 前綴處理公式、負數原理、3 種常見錯誤解法,並提供 8 筆範例對照表與批次轉換技巧。
目錄
Toggle什麼是 HEX2DEC?十六進位與十進位轉換基礎概念
十六進位是一種以 16 為基數的計數系統,使用 0-9 加上 A-F 共 16 個符號來表示數值。其中 A=10、B=11、C=12、D=13、E=14、F=15,不區分大小寫。相較於我們日常使用的十進位(以 10 為基數),十六進位能用更少的字元表示更大的數字——例如十進位的 255,在十六進位中只需要 FF 兩個字元。
在實際工作中,你會在以下場景遇到十六進位數據:
- IoT 設備回傳值:感測器、控制器的原始數據常以 HEX 格式傳輸
- 程式日誌與錯誤碼:Windows 錯誤碼(如 0x80070005)、系統日誌中的記憶體位址
- 網頁色碼:CSS 色彩值如 #FF5733,其中 FF、57、33 各代表 R、G、B 的十六進位值
- 網路協議分析:MAC 位址、封包內容常以 HEX 表示
Excel 的 HEX2DEC 函數讓你不需要手動計算,一個公式就能完成轉換。如果你正在系統性學習 Excel,建議先瀏覽Excel 函數總覽,了解各類函數的分類與應用場景。

HEX2DEC 函數語法與參數說明
基本語法
HEX2DEC 的語法非常簡潔,只有一個參數:
=HEX2DEC(number)
number(必填):要轉換的十六進位字串。可以是直接輸入的文字(用雙引號包住,如 "3F7A"),也可以是儲存格參照(如 A2)。這個參數不區分大小寫,"3f7a" 和 "3F7A" 會得到相同結果。
使用時需注意三個核心限制:
- 最多 10 位字元:輸入超過 10 位十六進位數會回傳 #NUM! 錯誤
- 僅接受合法 HEX 字元:只能包含 0-9 和 A-F,出現 G、Z、空格等會回傳 #VALUE! 錯誤
- 支援有符號數(Signed Number):第 10 位為符號位,當最高位 ≥ 8 時,結果為負數
這些限制在實務中經常導致錯誤,後面的章節會逐一教你如何處理。想深入了解更多Excel 公式的通用規則,可以參考我們的公式教學指南。
有符號數與負數結果說明
很多人第一次看到 =HEX2DEC("FFFFFFFF") 回傳 -1 時會感到困惑。這是因為 HEX2DEC 使用「二補數(Two’s Complement)」來處理有符號整數。
白話來說,二補數的規則是:當十六進位字串的最高位(最左邊的字元)大於或等於 8 時,Excel 會將它解讀為負數。 這是因為在二進位中,8 對應的是 1000,最高位元為 1,代表負號。
快速判斷方法:
- HEX 首位是 0-7 → 結果一定是正數(如
7FFFFFFF→ 2,147,483,647) - HEX 首位是 8-F → 結果一定是負數(如
FFFFFFFF→ -1,8000000000→ -549,755,813,888)
如果你的資料來源不需要處理負數(例如色碼、設備 ID),而 HEX 值的首位恰好 ≥ 8,你可能需要在前面補零來避免被誤判為負數。例如 "FF" 回傳 255(正數),但 "FFFFFFFFFF" 回傳 -1(負數),因為後者剛好是 10 位且首位為 F。

基本操作步驟:在 Excel 中使用 HEX2DEC
步驟一:準備 HEX 資料
這一步是最容易出錯的地方。在輸入十六進位數據之前,務必先將儲存格格式設為「文字」。
操作方式:選取目標儲存格 → 右鍵 →「儲存格格式」→ 在「數值」分頁選擇「文字」→ 確定。
為什麼這很重要?因為 Excel 會「自作聰明」地解讀你的輸入:
- 輸入
A2:Excel 以為你在參照 A2 儲存格,而非十六進位字串 “A2” - 輸入
1E3:Excel 以為你在輸入科學記號(1×10³ = 1000),而非十六進位的 1E3(= 483) - 輸入
0010:Excel 會自動去掉前導零,變成 10
先設好「文字」格式再輸入資料,就能避免這些問題。如果資料已經輸入且被 Excel 轉換了,你需要重新設定格式後再重新輸入。
步驟二:輸入 HEX2DEC 公式
在相鄰的空白儲存格(例如 B2)輸入公式:
=HEX2DEC(A2)
按下 Enter,B2 就會顯示轉換後的十進位數值。如果你要直接輸入 HEX 值而非參照儲存格,記得用雙引號包住:
=HEX2DEC("3F7A")
步驟三:驗證結果
轉換完成後,建議用手動計算驗證至少一筆資料,確保來源資料沒有格式問題。十六進位轉十進位的計算方式是:每一位數字乘以 16 的對應次方,再加總。
以 3F7A 為例:
- 3 × 16³ = 3 × 4096 = 12,288
- F(15)× 16² = 15 × 256 = 3,840
- 7 × 16¹ = 7 × 16 = 112
- A(10)× 16⁰ = 10 × 1 = 10
- 合計:12,288 + 3,840 + 112 + 10 = 16,250 ✓
如果你需要更多Excel 公式教學的基礎知識,包括參照方式、運算子優先順序等,可以參考我們的完整指南。

實際範例對照表:8 種常見轉換情境
以下表格涵蓋你在實務中最常遇到的轉換情境,包含正數、負數、邊界值、色碼片段,以及帶 0x 前綴的處理方式:
| 十六進位輸入 | 公式 | 十進位結果 | 說明 |
|---|---|---|---|
| 3F7A | =HEX2DEC("3F7A") |
16250 | 一般正數轉換 |
| FFFFFFFF | =HEX2DEC("FFFFFFFF") |
-1 | 有符號負數(二補數) |
| 7FFFFFFF | =HEX2DEC("7FFFFFFF") |
2147483647 | 32 位元最大正值 |
| 7FFFFFFFFF | =HEX2DEC("7FFFFFFFFF") |
549755813887 | 10 位 HEX 最大正值 |
| A | =HEX2DEC("A") |
10 | 單字元轉換 |
| FF | =HEX2DEC("FF") |
255 | RGB 色碼片段(如紅色 R 值) |
| 0x3F7A(需處理) | =HEX2DEC(SUBSTITUTE(A2,"0x","")) |
16250 | 移除 0x 前綴後轉換 |
| 0X1A3B(需處理) | =HEX2DEC(SUBSTITUTE(LOWER(A2),"0x","")) |
6715 | 移除大寫 0X 前綴後轉換 |
處理「0x」前綴的兩種公式
許多程式語言和系統日誌會在十六進位數值前加上 0x 前綴(如 0x3F7A、0X1A3B)。HEX2DEC 無法直接處理這種格式,你需要先移除前綴。
方法一:SUBSTITUTE 法(推薦,最直覺)
=HEX2DEC(SUBSTITUTE(LOWER(A2),"0x",""))
先用 LOWER 統一為小寫,再用 SUBSTITUTE 移除 0x。這個方法同時處理了 0x 和 0X 兩種寫法。
方法二:RIGHT + LEN 法(適合前綴固定為 2 字元的情況)
=HEX2DEC(RIGHT(A2,LEN(A2)-2))
從右邊取出去掉前 2 個字元後的內容。這個方法假設前綴一定是 2 個字元,如果資料中混合了有前綴和無前綴的值,建議改用方法一搭配 IF 判斷。
想了解更多 Excel 中文字轉數字的技巧,包括 VALUE、TEXT 等函數的用法,可以參考我們的專題教學。

錯誤處理與資料清理
三種常見錯誤與解決方式
在批次處理 HEX 資料時,以下三種錯誤最常出現:
| 錯誤類型 | 觸發原因 | 解決方式 |
|---|---|---|
| #NUM! | HEX 超過 10 位,或數值超出範圍(小於 -549,755,813,888 或大於 549,755,813,887) | 分段處理(見下方說明) |
| #VALUE! | 含非 HEX 字元(如 G、Z、空格、特殊符號),或儲存格為空值 | =HEX2DEC(TRIM(UPPER(A2))) 清理後轉換 |
| 顯示 0 或非預期值 | 儲存格格式非「文字」,Excel 將輸入誤判為數值或公式參照 | 先將儲存格格式設為「文字」,重新輸入資料 |
VALUE! 錯誤中最隱蔽的情況是「看不見的空格」——資料從外部系統匯入時,前後常帶有空白字元。用 TRIM 函數可以有效清除。
防錯公式組合(可直接複製使用)
以下三個公式由簡到繁,根據你的資料品質選擇適合的版本:
基本防錯(處理一般錯誤):
=IFERROR(HEX2DEC(TRIM(A2)), "格式錯誤,請檢查")
含大小寫統一(資料來源混合大小寫):
=IFERROR(HEX2DEC(TRIM(UPPER(A2))), "格式錯誤")
完整版:含 0x 前綴移除 + 大小寫統一 + 空格清理:
=IFERROR(HEX2DEC(SUBSTITUTE(TRIM(UPPER(A2)),"0X","")), "格式錯誤")
這個完整版公式的處理順序是:TRIM 去空格 → UPPER 統一大寫 → SUBSTITUTE 移除 0X → HEX2DEC 轉換 → IFERROR 攔截錯誤。建議在批次處理時一律使用完整版,省去逐筆排查的時間。
超過 10 位 HEX 的處理方式
HEX2DEC 的 10 位限制是 Excel 函數設計的硬性上限,無法繞過。但在實務中,你可能會遇到 12 位甚至 16 位的 HEX 值(例如 64 位元系統的記憶體位址)。
分段轉換公式(以 12 位 HEX 為例):
假設 A2 中有 12 位 HEX 值(如 "1A2B3C4D5E6F"),可以拆成高 2 位 + 低 10 位:
=HEX2DEC(LEFT(A2,2)) * 16^10 + HEX2DEC(RIGHT(A2,10))
原理:將高位部分乘以 16 的 10 次方(因為低位有 10 位),再加上低位的轉換結果。
不過,當 HEX 位數更長或資料量很大時,分段公式會變得複雜且難以維護。這時建議改用 Power Query,下一節會詳細說明。

批次轉換技巧:從拖曳公式到 Power Query
拖曳公式批次處理
最基本的批次轉換方式:在 B2 輸入公式 =HEX2DEC(TRIM(A2)) 後,將滑鼠移到 B2 右下角的填滿控點(小方塊),向下拖曳到需要的範圍(如 B100)。
操作前請確認:
- A 欄所有儲存格格式已設為「文字」
- 建議使用完整版防錯公式,避免單筆錯誤導致整欄中斷
你也可以用Excel 快捷鍵 Ctrl + D 快速向下填滿公式,或選取範圍後按 Ctrl + Enter 一次填入。
動態陣列公式(Excel 365 / Excel 2021)
如果你使用的是 Excel 365 或 Excel 2021,可以用動態陣列一次輸出整欄結果:
=HEX2DEC(TRIM(A2:A100))
只需在 B2 輸入這個公式,按 Enter 後結果會自動「溢出」到 B3、B4…直到 B100。不需要拖曳,也不需要按 Ctrl+Shift+Enter。
版本注意:這個功能僅限 Excel 365 和 Excel 2021。如果你使用 Excel 2019 或更早版本,動態陣列不可用,請改用拖曳法。
如果需要搭配防錯,動態陣列版本的完整公式為:
=IFERROR(HEX2DEC(SUBSTITUTE(TRIM(UPPER(A2:A100)),"0X","")),"格式錯誤")
Power Query 批次轉換(處理大量或超長 HEX)
當你的資料有以下特徵時,Power Query 是比函數更好的選擇:
- HEX 值超過 10 位(函數無法處理)
- 資料量超過數千筆(函數計算速度較慢)
- 資料來源是外部系統匯入的 CSV 或資料庫
操作路徑:資料 → 取得資料 → 從表格/範圍 → 在 Power Query 編輯器中 → 新增資料行 → 自訂資料行 → 輸入公式:
Number.FromText([HEX欄位名稱], 16)
其中 [HEX欄位名稱] 替換為你的實際欄位名稱,16 代表來源是十六進位。Power Query 的 Number.FromText 沒有 10 位限制,能處理更大範圍的 HEX 值。
完成後按「關閉並載入」,轉換結果會自動回到 Excel 工作表中。未來資料更新時,只需按「重新整理」即可重新計算,不需要重新設定公式。
想進一步學習 Power Query 和其他 Excel 進階功能,可以參考我們的 Excel 教學指南,從入門到進階都有涵蓋。
如果你想系統性地提升 Excel 數據分析能力,Coursera 上有 Microsoft 官方認證的 Excel 課程,從基礎函數到進階資料分析都有完整的學習路徑。
Excel Skills for Business|Macquarie University 認證
- 🏆 66 萬+ 學員選修——Coursera 平台上最熱門的 Excel 課程
- 📊 4 階段完整學程——公式、樞紐分析、圖表、儀表板全涵蓋
- 🎓 Macquarie University 認證——完成後可加入 LinkedIn 履歷
- 🌍 多語字幕支援——自學節奏、隨時隨地學習
✓ Coursera Plus 7 天免費試用 · ✓ 可隨時取消 · ✓ 完成後獲得正式證書

Excel 進位轉換函數完整對照
HEX2DEC 只是 Excel 進位轉換函數家族的一員。以下是完整的對照表,幫助你在不同進位之間靈活切換:
| 函數 | 功能 | 範例公式 | 結果 |
|---|---|---|---|
| HEX2DEC | 十六進位 → 十進位 | =HEX2DEC("FF") |
255 |
| DEC2HEX | 十進位 → 十六進位 | =DEC2HEX(255) |
FF |
| HEX2BIN | 十六進位 → 二進位 | =HEX2BIN("A") |
1010 |
| BIN2DEC | 二進位 → 十進位 | =BIN2DEC("1010") |
10 |
| BIN2HEX | 二進位 → 十六進位 | =BIN2HEX("1010") |
A |
| HEX2OCT | 十六進位 → 八進位 | =HEX2OCT("1F") |
37 |
| OCT2DEC | 八進位 → 十進位 | =OCT2DEC("37") |
31 |
HEX2BIN 的 4 位限制與分段處理
HEX2BIN 有一個容易被忽略的限制:它最多只能處理 4 位十六進位數(即 16 位元二進位)。如果你需要將超過 4 位的 HEX 轉為二進位,必須分段處理後串接。
例如,要將 "3F7A" 轉為完整的 16 位元二進位:
=HEX2BIN(LEFT(A2,2),8) & HEX2BIN(RIGHT(A2,2),8)
這個公式將 "3F7A" 拆成 "3F" 和 "7A" 兩段,各自轉為 8 位元二進位後串接。第二個參數 8 指定輸出位數,確保前導零不會被省略。
結果:0011111101111010
如果 HEX 值更長(如 8 位),就需要拆成更多段。這時候用 Power Query 或 VBA 會更有效率。
更多進位轉換與數值處理的函數,可以在Excel 函數總覽中找到完整清單。

實務應用場景(含完整欄位設計範例)
IoT 設備數據解碼(含欄位設計)
在 IoT 專案中,感測器回傳的原始數據通常是十六進位格式。以下是一個實用的 Excel 欄位設計,能自動將 HEX 數據轉換並標記異常值:
| 欄位 | 內容 | 公式 |
|---|---|---|
| A 欄:設備 ID | SENSOR-001 | (手動輸入或匯入) |
| B 欄:HEX 回傳值 | 03E8 | (從系統匯入,格式設為文字) |
| C 欄:十進位數值 | 1000 | =IFERROR(HEX2DEC(TRIM(B2)),"讀取錯誤") |
| D 欄:狀態判斷 | 正常 | =IF(C2="讀取錯誤","資料異常",IF(C2>1000,"警告","正常")) |
這個設計的好處是:C 欄的防錯公式確保即使某筆 HEX 資料格式有問題,也不會導致整個工作表出錯;D 欄的條件判斷能自動標記超過閾值的異常讀數,讓你快速篩選需要關注的設備。
如果你的 IoT 專案需要多人協作追蹤設備狀態,Excel 的單機作業模式可能會遇到版本衝突的問題。這時可以考慮用 monday.com 建立設備監控看板——它支援自動化規則,例如「當數值欄位超過 1000 時自動通知負責人」,比 Excel 的條件格式更即時。
色碼轉換(RGB 應用)
網頁設計中常見的 HEX 色碼(如 #FF5733)可以用 HEX2DEC 拆解為 R、G、B 三個十進位值:
| 色碼元素 | 公式 | 結果 |
|---|---|---|
| R(紅) | =HEX2DEC(MID(A2,2,2)) |
255 |
| G(綠) | =HEX2DEC(MID(A2,4,2)) |
87 |
| B(藍) | =HEX2DEC(MID(A2,6,2)) |
51 |
其中 MID 函數從色碼字串中擷取對應的 2 位 HEX 值:第 2-3 位是 R、第 4-5 位是 G、第 6-7 位是 B(第 1 位是 # 符號)。
反過來,如果你想讓儲存格顯示為 HEX 格式,可以用 DEC2HEX 函數:
=DEC2HEX(255) → 結果:FF
或者用 TEXT 搭配 DEC2HEX 補零到固定位數:
=DEC2HEX(10,2) → 結果:0A(補零到 2 位)
程式日誌分析
Windows 系統錯誤碼常以 0x 開頭的十六進位表示,例如 0x80070005 代表「存取被拒」。你可以用 HEX2DEC 將錯誤碼批次轉換後,搭配 VLOOKUP 比對錯誤代碼表:
=VLOOKUP(HEX2DEC(SUBSTITUTE(A2,"0x","")), 錯誤代碼表!A:B, 2, FALSE)
這個公式先移除 0x 前綴、轉為十進位,再到「錯誤代碼表」工作表中查找對應的錯誤描述。對於需要分析大量系統日誌的 IT 團隊來說,這能省下大量手動查詢的時間。
如果你的團隊需要持續追蹤和分析這類系統錯誤,可以考慮將 Excel 報表整合到 ClickUp 的任務管理流程中——它支援 Excel 檔案匯入和自動化工作流,適合技術團隊的 bug tracking 需求。

結論:掌握 HEX 轉換的三個核心技能
學完這篇教學,你應該已經掌握了以下重點:
- 基本函數用法:
=HEX2DEC(number)一個參數完成轉換,注意儲存格格式設為「文字」 - 0x 前綴與負數處理:用
SUBSTITUTE移除前綴,用首位字元判斷正負數(0-7 正、8-F 負) - 錯誤防護:完整版公式
=IFERROR(HEX2DEC(SUBSTITUTE(TRIM(UPPER(A2)),"0X","")),"格式錯誤")一次解決空格、大小寫、前綴三大問題 - 批次轉換:小量用拖曳或動態陣列,大量或超長 HEX 用 Power Query 的
Number.FromText - 超過 10 位的替代方案:分段公式或 Power Query,不受函數限制
下一步建議:如果你經常需要處理進位轉換和數據清理,可以進一步學習 Power Query 自動化流程,或探索更多 Excel 進階公式的應用。
當你的資料處理需求從個人 Excel 擴展到團隊協作——例如多人同時追蹤 IoT 設備數據、共同維護錯誤代碼表——monday.com 的儀表板和自動化功能可以無縫銜接 Excel 的分析結果,免費方案不需要信用卡就能開始使用。
monday.com|250,000+ 團隊的專案管理首選
- 📋 看板、甘特圖、時間軸——同一專案 3 種視圖自由切換
- ⚡ 200+ 自動化範本——截止提醒、任務指派、進度同步全自動
- 👥 從 2 人到 200 人團隊都適用——10 分鐘上手
- 🔗 整合 Gmail、Slack、Zoom 等常用工具——資訊不用到處找
✓ 免費版永久使用 · ✓ Fortune 500 有 60% 在用 · ✓ 不需信用卡
HEX2DEC 常見問題 FAQ
HEX2DEC 最多能處理幾位數?超過怎麼辦?
HEX2DEC 最多處理 10 位十六進位字元,對應的十進位範圍是 -549,755,813,888 到 549,755,813,887。超過 10 位會回傳 #NUM! 錯誤。解決方式是使用分段公式,例如 12 位 HEX 可拆成高 2 位 + 低 10 位:=HEX2DEC(LEFT(A2,2))*16^10+HEX2DEC(RIGHT(A2,10))。如果位數更長或資料量大,建議改用 Power Query 的 Number.FromText([欄位],16),沒有位數限制。
為什麼 HEX2DEC 的結果是負數?
這是因為 HEX2DEC 使用二補數(Two’s Complement)處理有符號整數。快速判斷方法:看 HEX 值的第一個字元,如果是 0-7 結果為正數,8-F 結果為負數。例如 FFFFFFFF 的首位是 F(≥8),所以結果是 -1。如果你的資料不需要負數解讀,確保 HEX 值不要剛好是 10 位且首位 ≥ 8,或在前面補零來改變位數。
如何處理帶有「0x」前綴的 HEX?
HEX2DEC 不接受 0x 前綴,需要先移除。推薦使用這個完整公式,同時處理大小寫和空格:=IFERROR(HEX2DEC(SUBSTITUTE(TRIM(UPPER(A2)),"0X","")),"格式錯誤")。這個公式會先清除空格、統一大寫,再移除 0X 前綴,最後轉換並攔截錯誤。
如何批次轉換一整欄 HEX?
有三種方式:(1)拖曳法:在 B2 輸入公式後,拖曳填滿控點向下複製,適用所有 Excel 版本;(2)動態陣列:輸入 =HEX2DEC(TRIM(A2:A100)) 自動溢出結果,僅限 Excel 365 和 Excel 2021;(3)Power Query:適合超過 10 位 HEX 或大量資料,使用 Number.FromText([欄位],16) 轉換。
HEX2DEC 和 Power Query 的 Number.FromText 有何差異?
HEX2DEC 是工作表函數,優點是簡單直覺、即時計算,適合少量資料(幾百筆以內)且 HEX 不超過 10 位的情境。Power Query 的 Number.FromText 沒有位數限制,適合大量資料、超長 HEX 值,或需要從外部資料來源(CSV、資料庫)匯入的場景。Power Query 還能將轉換步驟儲存為可重複執行的查詢,資料更新時一鍵重新整理。
如何讓儲存格顯示為 HEX 格式?
如果你有十進位數值想顯示為十六進位,使用 DEC2HEX 函數:=DEC2HEX(255) 回傳 FF。若需要固定位數(如補零到 4 位),加上第二個參數:=DEC2HEX(255,4) 回傳 00FF。Excel 沒有內建的十六進位儲存格格式,但你可以用 TEXT 函數搭配 DEC2HEX 來控制顯示方式,或將結果欄設為「文字」格式以保留前導零。