---
title: HEX2OCT – แปลงเลขฐาน 16 เป็นฐาน 8
url: https://www.thepexcel.com/functions/excel/engineering/hex2oct/
type: function-explainer
program: Excel
syntax: "=HEX2OCT(number, [places])"
date: 2025-12-02
updated: 2025-12-24
scores:
  popularity: 3
  difficulty: 5
  usefulness: 4
---

# HEX2OCT – แปลงเลขฐาน 16 เป็นฐาน 8

> ฟังก์ชัน HEX2OCT แปลงเลขฐานสิบหก (hexadecimal) เป็นเลขฐานแปด (octal) โดยรองรับค่าลบและการระบุจำนวนหล

## คำอธิบาย

ฟังก์ชัน HEX2OCT แปลงเลขฐานสิบหก (hexadecimal) เป็นเลขฐานแปด (octal) โดยรองรับค่าลบและการระบุจำนวนหลัก

## Syntax

```excel
=HEX2OCT(number, [places])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| number | Yes | Text |  | เลขฐานสิบหก (hexadecimal) ที่ต้องการแปลง อาจเป็นเลขบวกหรือลบ ความยาวสูงสุด 10 ตัวอักษร |
| places | No | Number | ส่วนนี้เป็นทางเลือก ถ้าไม่ระบุ Excel จะคืนผลลัพธ์ตามความยาวที่เหมาะสม | จำนวนหลักของผลลัพธ์ที่ต้องการ ถ้ากำหนด ผลลัพธ์จะเติมศูนย์ด้านหน้า (zero-padding) ไม่ใช้ได้เมื่อ number เป็นค่าลบ |

## ตัวอย่าง

### 1. แปลงค่า F เป็นฐานแปด

```excel
=HEX2OCT("F")
```

**ผลลัพธ์:** `17`

ตัวเลขฐาน 16 คือ F (มีค่า 15 ในทศนิยม) เมื่อแปลงเป็นฐาน 8 จะได้ 17 (1×8 + 7 = 15)

### 2. แปลงค่า 1A และเติมศูนย์หน้า

```excel
=HEX2OCT("1A", 5)
```

**ผลลัพธ์:** `00032`

ฐาน 16 ของ 1A (26 ทศนิยม) แปลงเป็นฐาน 8 ได้ 32 แล้วเติมศูนย์ด้านหน้าให้ครบ 5 หลัก

### 3. แปลงค่าลบ

```excel
=HEX2OCT("FFFFFFFFF")
```

**ผลลัพธ์:** `7777777777`

ค่าลบใน two's complement (FFFFFFFFF = -1) จะแปลงเป็นเลขฐาน 8 ที่มี 10 หลักเสมอ

### 4. แปลงเลขขนาดใหญ่

```excel
=HEX2OCT("1FFFFFFF")
```

**ผลลัพธ์:** `3777777777`

ค่าสูงสุดที่เป็นบวก (1FFFFFFF) แปลงเป็นฐาน 8 ได้ 3777777777

## หมายเหตุเพิ่มเติม

- ใช้เครื่องหมาย quotes ("") ล้อมรอบเลขฐาน 16 เสมอ เช่น =HEX2OCT("1A") ไม่ใช่ =HEX2OCT(1A)

- ตัวอักษร A-F สามารถใช้ตัวพิมพ์ใหญ่หรือเล็กได้ =HEX2OCT("1a") และ =HEX2OCT("1A") ให้ผลเดียวกัน

- ถ้าต้องแปลงกลับจาก octal เป็น hexadecimal ใช้ OCT2HEX แต่ Excel ไม่มีฟังก์ชันนี้ ต้องใช้ OCT2DEC และ DEC2HEX ประกอบกัน

- places ควรเป็นจำนวนเต็มบวก ถ้าเป็นทศนิยม Excel จะปัดเศษลง เช่น places=5.9 ถูกถือว่า places=5

- หากต้องแปลงชุดข้อมูลขนาดใหญ่ ใช้ copy formula ลงมา ความเร็วของ HEX2OCT ดีมาก และเหมาะสำหรับการประมวลผลจำนวนมาก

## คำถามที่พบบ่อย

**Q: HEX2OCT แตกต่างจาก HEX2BIN อย่างไร?**

HEX2BIN แปลงฐาน 16 เป็นฐาน 2 (ไบนารี) ในขณะที่ HEX2OCT แปลงฐาน 16 เป็นฐาน 8 (octal) HEX2BIN รองรับ 10 หลัก HEX2OCT ก็รองรับ 10 หลักเช่นกัน แต่ช่วงและประเภทการใช้งานแตกต่างกัน

**Q: ทำไม places ไม่ทำงานกับค่าลบ?**

เพราะว่าค่าลบใน Excel ใช้ two's complement notation ซึ่งต้อง 10 หลักตรงมือเสมอ ถ้าใส่ค่าลบ places จะถูกละเว้นโดยอัตโนมัติ

**Q: ถ้าใส่ค่าที่ไม่ใช่ฐาน 16 จะเกิดอะไร?**

Excel จะแสดง #NUM! error ตัวอักษรที่ใช้ใน hexadecimal คือ 0-9 และ A-F เท่านั้น (ตัวพิมพ์ใหญ่หรือเล็กก็ได้) ค่าอื่น ๆ จะทำให้เกิด error

**Q: places ไม่สามารถเป็นจำนวนลบได้หรือ?**

ถูกต้อง places ต้องเป็นศูนย์หรือจำนวนบวก ถ้าใส่ค่าลบ Excel จะแสดง #NUM! error

**Q: ฐาน 8 (octal) ใช้ตัวเลขไหนบ้าง?**

Octal ใช้ตัวเลข 0-7 เท่านั้น แต่ละหลักแสดง 3 บิตในไบนารี ด้วยเหตุนี้ octal จึงเป็นวิธีที่สะดวกในการเขียนไบนารี

## ฟังก์ชันที่เกี่ยวข้อง

- [OCT2HEX – แปลงฐาน 8 เป็นฐาน 16](https://www.thepexcel.com/functions/excel/engineering/oct2hex/)
- [HEX2BIN – แปลงฐาน 16 เป็นฐาน 2](https://www.thepexcel.com/functions/excel/engineering/hex2bin/)

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Support - HEX2OCT Function](https://support.microsoft.com/en-us/office/hex2oct-function-54d52808-5d19-4bd0-8a63-1096a5d11912) _(official)_
- [Microsoft Learn - Conversion Functions](https://learn.microsoft.com/en-us/office/client-developer/excel/conversion-functions) _(official)_

---

_Source: [https://www.thepexcel.com/functions/excel/engineering/hex2oct/](https://www.thepexcel.com/functions/excel/engineering/hex2oct/)_
