---
title: FORMULATEXT – แสดงสูตรในเซลล์เป็นข้อความ
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/formulatext/
type: function-explainer
program: Excel
syntax: =FORMULATEXT(reference)
date: 2025-12-02
updated: 2025-12-20
scores:
  popularity: 7
  difficulty: 5
  usefulness: 10
---

# FORMULATEXT – แสดงสูตรในเซลล์เป็นข้อความ

> แสดงสูตรในเซลล์ที่ระบุเป็นข้อความ

## คำอธิบาย

FORMULATEXT ดึงสูตรจากเซลล์มาแสดงเป็นข้อความ ใช้สำหรับ Audit ตรวจสอบสูตร หรือทำ Documentation ของ Workbook ถ้าเซลล์ไม่มีสูตรจะคืนค่า #N/A

## Syntax

```excel
=FORMULATEXT(reference)
```

**excel**

```excel
=FORMULATEXT(A1)
```

แสดงสูตรในเซลล์ A1

**excel**

```excel
=FORMULATEXT(Sheet2!C5)
```

แสดงสูตรจากเซลล์ใน Sheet อื่น

**excel**

```excel
=IFERROR(FORMULATEXT(A1), "ไม่มีสูตร")
```

แสดงข้อความกรณีเซลล์ไม่มีสูตร

**excel**

```excel
=IF(ISFORMULA(A1), FORMULATEXT(A1), "Value")
```

ตรวจสอบก่อนแสดงสูตร

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| reference | Yes | Reference |  | การอ้างอิงเซลล์ที่ต้องการดึงสูตรออกมา สามารถอ้างอิงไปยัง Sheet อื่นหรือ Workbook อื่นที่เปิดอยู่ได้ |

## เคสการใช้งาน

### Audit สูตรในรายงานการเงิน

ตรวจสอบสูตรคำนวณในรายงานการเงินโดยดึงสูตรทั้งหมดมาแสดงใน Sheet แยก ช่วยให้ Auditor ตรวจสอบได้ง่ายและครบถ้วน

_เหมาะกับ:_ auditing

### สร้าง Documentation ของ Workbook

ทำเอกสารอธิบายการทำงานของ Workbook โดยแสดงสูตรสำคัญทั้งหมดพร้อมคำอธิบาย เหมาะสำหรับการส่งมอบงานหรือ Training

_เหมาะกับ:_ documentation

### Debug หาข้อผิดพลาดในสูตร

เปรียบเทียบสูตรในหลายเซลล์พร้อมกัน เพื่อหาว่าเซลล์ไหนมีสูตรผิดพลาดหรือแตกต่างจากที่ควรจะเป็น

_เหมาะกับ:_ troubleshooting

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ดึงสูตรพื้นฐานจากเซลล์

```excel
=FORMULATEXT(B2)
```

**ผลลัพธ์:** `=SUM(A1:A10)`

สมมติเซลล์ B2 มีสูตร =SUM(A1:A10) ฟังก์ชัน FORMULATEXT จะดึงสูตรนั้นมาแสดงเป็นข้อความ
.
สังเกตว่าผลลัพธ์จะมีเครื่องหมาย = นำหน้าด้วยเหมือนกับที่เห็นใน Formula Bar เลยครับ 💡

### 2. ตัวอย่างที่ 2: ใช้ Audit สูตรในรายงานการเงิน

```excel
=FORMULATEXT(Report!C10)
```

**ผลลัพธ์:** `=Revenue-Expenses`

สมมติเซลล์ C10 ใน Sheet 'Report' มีสูตรคำนวณกำไร =Revenue-Expenses
.
วิธีนี้ช่วยให้ Auditor หรือหัวหน้าตรวจสอบสูตรได้โดยไม่ต้องสลับไปดู Sheet อื่น ที่เจ๋งคือสามารถสร้าง Audit Sheet รวมสูตรสำคัญทั้งหมดไว้ที่เดียวได้เลย 😎

### 3. ตัวอย่างที่ 3: ตรวจจับเซลล์ที่ไม่มีสูตร

```excel
=IF(ISNA(FORMULATEXT(D5)), "ไม่มีสูตร", FORMULATEXT(D5))
```

**ผลลัพธ์:** `ไม่มีสูตร (ถ้า D5 เป็นค่าคงที่) หรือ =A1*B1 (ถ้า D5 มีสูตร)`

ใช้ ISNA ตรวจจับกรณีที่เซลล์ไม่มีสูตร (FORMULATEXT คืน #N/A) แล้วแสดงข้อความแทน
.
ส่วนตัวผมใช้วิธีนี้ตอนทำ Documentation เพราะช่วยแยกว่าเซลล์ไหนเป็นค่าที่พิมพ์เอง เซลล์ไหนเป็นสูตรคำนวณครับ 💡

### 4. ตัวอย่างที่ 4: สร้าง Audit Log พร้อมที่อยู่เซลล์

```excel
="Cell " & ADDRESS(ROW(E10),COLUMN(E10)) & ": " & FORMULATEXT(E10)
```

**ผลลัพธ์:** `Cell $E$10: =VLOOKUP(ProductID,PriceTable,2,FALSE)`

สร้างข้อความแสดงทั้งที่อยู่เซลล์และสูตรในเซลล์นั้น เหมาะสำหรับทำ Audit Log หรือ Documentation
.
ที่เจ๋งคือใช้ ADDRESS + ROW + COLUMN แสดงที่อยู่เซลล์แบบ Dynamic ถ้าย้ายเซลล์ก็ยังอ้างอิงถูกต้อง 😎

### 5. ตัวอย่างที่ 5: ตรวจจับสูตร Error พร้อมแสดงสูตร (Excel 365)

```excel
=IF(ISERROR(A1:A20), FORMULATEXT(A1:A20), "OK")
```

**ผลลัพธ์:** `Array ผลลัพธ์แสดงสูตรเฉพาะเซลล์ที่มี Error`

ใน Excel 365 สามารถใช้กับ Range ได้ ผลลัพธ์จะ Spill ออกมา
.
วิธีนี้ช่วยหาว่าเซลล์ไหนมีปัญหาและดูสูตรได้พร้อมกัน ประหยัดเวลา Debug มากครับ 💡

### 6. ตัวอย่างที่ 6: สร้างตาราง Documentation อัตโนมัติ

```excel
=IF(ISFORMULA(DataSheet!A1:E10), FORMULATEXT(DataSheet!A1:E10), "[Value]")
```

**ผลลัพธ์:** `ตาราง 50 เซลล์ แสดงสูตรหรือ [Value]`

สร้าง Documentation ของทั้ง Range โดยแสดงสูตรถ้ามี หรือแสดง [Value] ถ้าเป็นค่าคงที่
.
ส่วนตัวผมใช้วิธีนี้ตอนส่งมอบงานให้คนอื่น เพราะสร้าง Audit Sheet ได้รวดเร็วมากครับ 😎

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

💡 **Tips สำหรับการใช้งาน FORMULATEXT:**
.
**1. ใช้คู่กับ ISFORMULA:**
เพื่อหลีกเลี่ยง #N/A ควรใช้ ISFORMULA เช็คก่อนว่าเซลล์มีสูตรหรือไม่:
```
=IF(ISFORMULA(A1), FORMULATEXT(A1), "Value only")
```
.
**2. สร้าง Audit Table อัตโนมัติ (Excel 365):**
ใน Excel 365 สามารถใช้ Dynamic Array สร้างตารางแสดงสูตรทั้งหมดได้:
```
=FORMULATEXT(DataSheet!A1:E20)
```
ผลลัพธ์จะ Spill แสดงสูตรของทุกเซลล์ใน Range
.
**3. ตรวจจับเซลล์ที่มี Error พร้อมแสดงสูตร:**
ใช้ร่วมกับ ISERROR เพื่อหาว่าเซลล์ไหนมีปัญหา:
```
=IF(ISERROR(A1), FORMULATEXT(A1), "OK")
```
.
**4. ข้อจำกัดที่ต้องรู้:**

| สถานการณ์ | ผลลัพธ์ |
|---|---|
| เซลล์ไม่มีสูตร | #N/A |
| สูตรยาวเกิน 8,192 ตัวอักษร | #N/A |
| Sheet มีการ Protect + ซ่อนสูตร | #N/A |
| อ้างอิง Workbook ที่ไม่ได้เปิด | #N/A |
| อ้างอิง Range หลายเซลล์ (Excel เก่า) | คืนเฉพาะเซลล์ซ้ายบนสุด |
.
**5. เปรียบเทียบกับ Show Formulas (Ctrl+`):**

| Feature | FORMULATEXT | Show Formulas |
|---|---|---|
| เลือกเซลล์ที่ต้องการ | ได้ | ไม่ได้ (ทั้ง Sheet) |
| ผลลัพธ์เป็น Text | ใช่ | ไม่ใช่ (แค่แสดง) |
| ใช้ร่วมกับฟังก์ชันอื่น | ได้ | ไม่ได้ |
| รบกวนการแสดงผล | ไม่รบกวน | รบกวน |
.
ส่วนตัวผมใช้ FORMULATEXT มากกว่า Show Formulas เพราะควบคุมได้ดีกว่าครับ 😎

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

**Q: ทำไม FORMULATEXT คืนค่า #N/A?**

มีสาเหตุหลายอย่างครับ:
1. เซลล์ที่อ้างอิงไม่มีสูตร (เป็นค่าคงที่หรือเซลล์ว่าง)
2. สูตรยาวเกิน 8,192 ตัวอักษร
3. Sheet มีการป้องกัน (Protected) และซ่อนสูตร
4. อ้างอิงไปยัง Workbook อื่นที่ไม่ได้เปิดอยู่
.
ลองเช็คเงื่อนไขเหล่านี้ดูนะครับ 😅

**Q: FORMULATEXT สามารถอ้างอิงข้าม Sheet หรือ Workbook ได้ไหม?**

ได้ครับ! สามารถใช้ได้ทั้ง =FORMULATEXT(Sheet2!A1) หรือ =FORMULATEXT([OtherFile.xlsx]Sheet1!A1)
.
แต่สำหรับ Workbook อื่น ไฟล์นั้นต้องเปิดอยู่ใน Excel ด้วย ไม่งั้นจะได้ #N/A ครับ 💡

**Q: ถ้าอ้างอิงหลายเซลล์พร้อมกันจะเกิดอะไรขึ้น?**

ใน Excel 365 จะคืนค่าเป็น Array และ Spill ผลลัพธ์ออกมาหลายเซลล์ เช่น =FORMULATEXT(A1:A5) จะแสดงสูตรของ 5 เซลล์
.
แต่ใน Excel เวอร์ชันเก่าจะคืนค่าเฉพาะเซลล์ซ้ายบนสุดของ Range เท่านั้นครับ 😎

**Q: FORMULATEXT จะทำให้เกิด Circular Reference ไหม?**

ไม่ครับ! แม้จะอ้างอิงไปยังเซลล์ที่มีสูตร FORMULATEXT เอง ก็ไม่ทำให้เกิด Circular Reference
.
Excel ออกแบบให้ FORMULATEXT อ่านค่าสูตรเป็น Text โดยไม่ evaluate สูตรซ้ำ เลยไม่มีปัญหานี้ครับ 💡

**Q: มีวิธีตรวจสอบว่าเซลล์มีสูตรหรือไม่ก่อนใช้ FORMULATEXT ไหม?**

ใช้ฟังก์ชัน ISFORMULA ครับ! ถ้าเซลล์มีสูตรจะคืน TRUE ถ้าไม่มีจะคืน FALSE
.
ตัวอย่าง: =IF(ISFORMULA(A1), FORMULATEXT(A1), "ไม่มีสูตร")
.
ส่วนตัวผมแนะนำใช้คู่กันเสมอ เพื่อหลีกเลี่ยง #N/A ครับ 😎

**Q: FORMULATEXT ใช้ได้กับ Google Sheets ไหม?**

ได้ครับ! Google Sheets รองรับ FORMULATEXT เหมือนกัน Syntax และพฤติกรรมเหมือน Excel ทุกประการ
.
เลยใช้สูตรเดียวกันได้เลยถ้าต้องทำงานข้ามแพลตฟอร์ม 💡

**Q: FORMULATEXT ต่างจากการกด Ctrl+` (Show Formulas) อย่างไร?**

Ctrl+` จะแสดงสูตรทุกเซลล์ใน Sheet พร้อมกัน ทำให้อ่านยาก
.
FORMULATEXT ดีกว่าตรงที่:
- เลือกแสดงเฉพาะเซลล์ที่ต้องการ
- ผลลัพธ์เป็น Text นำไปใช้ต่อได้
- ไม่รบกวนการแสดงผลปกติ
.
ส่วนตัวผมใช้ FORMULATEXT เกือบทุกครั้งครับ 😎

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

- [ISFORMULA – เช็คว่ามีสูตร](https://www.thepexcel.com/functions/excel/information/isformula/)
- [INDIRECT – อ้างอิงเซลล์แบบไดนามิก](https://www.thepexcel.com/functions/excel/lookup-and-reference/indirect/)
- [ADDRESS – แปลงแถวและคอลัมน์เป็นชื่อเซลล์](https://www.thepexcel.com/functions/excel/lookup-and-reference/address/)
- [CELL – ดูข้อมูลเซลล์ (Format/Type)](https://www.thepexcel.com/functions/excel/information/cell/)
- [INFO – ดึงข้อมูลระบบและสภาพแวดล้อม Excel](https://www.thepexcel.com/functions/excel/information/info/)

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

- [Microsoft Support: FORMULATEXT function](https://support.microsoft.com/en-us/office/formulatext-function-0a786771-54fd-4ae2-96ee-09cda35439c8) _(official)_
- [ExcelJet: FORMULATEXT function](https://exceljet.net/functions/formulatext-function) _(guide)_
- [Contextures: FORMULATEXT for Troubleshooting](https://www.contextures.com/excelformulatextfunction.html) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/lookup-and-reference/formulatext/](https://www.thepexcel.com/functions/excel/lookup-and-reference/formulatext/)_
