Thep Excel

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

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

=FORMULATEXT(reference)

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
7/10

Difficulty
5/10

Usefulness
10/10

Syntax & Arguments

=FORMULATEXT(reference)

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

How it works

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

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

สร้าง Documentation ของ Workbook

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

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

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

Examples

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

=FORMULATEXT(B2)

Result:

=SUM(A1:A10)

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

=FORMULATEXT(Report!C10)

Result:

=Revenue-Expenses

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

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

Result:

ไม่มีสูตร (ถ้า D5 เป็นค่าคงที่) หรือ =A1*B1 (ถ้า D5 มีสูตร)

ตัวอย่างที่ 4: สร้าง Audit Log พร้อมที่อยู่เซลล์
"Cell " & ADDRESS(ROW(E10),COLUMN(E10)) & ": " & FORMULATEXT(E10)
สร้างข้อความแสดงทั้งที่อยู่เซลล์และสูตรในเซลล์นั้น เหมาะสำหรับทำ Audit Log หรือ Documentation
.
ที่เจ๋งคือใช้ ADDRESS + ROW + COLUMN แสดงที่อยู่เซลล์แบบ Dynamic ถ้าย้ายเซลล์ก็ยังอ้างอิงถูกต้อง 😎
Excel Formula:

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

Result:

Cell $E$10: =VLOOKUP(ProductID,PriceTable,2,FALSE)

ตัวอย่างที่ 5: ตรวจจับสูตร Error พร้อมแสดงสูตร (Excel 365)
IF(ISERROR(A1:A20), FORMULATEXT(A1:A20), "OK")
ใน Excel 365 สามารถใช้กับ Range ได้ ผลลัพธ์จะ Spill ออกมา
.
วิธีนี้ช่วยหาว่าเซลล์ไหนมีปัญหาและดูสูตรได้พร้อมกัน ประหยัดเวลา Debug มากครับ 💡
Excel Formula:

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

Result:

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

ตัวอย่างที่ 6: สร้างตาราง Documentation อัตโนมัติ
IF(ISFORMULA(DataSheet!A1:E10), FORMULATEXT(DataSheet!A1:E10), "[Value]")
สร้าง Documentation ของทั้ง Range โดยแสดงสูตรถ้ามี หรือแสดง [Value] ถ้าเป็นค่าคงที่
.
ส่วนตัวผมใช้วิธีนี้ตอนส่งมอบงานให้คนอื่น เพราะสร้าง Audit Sheet ได้รวดเร็วมากครับ 😎
Excel Formula:

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

Result:

ตาราง 50 เซลล์ แสดงสูตรหรือ [Value]

FAQs

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Resources & Related

Additional Notes

FORMULATEXT ใช้ดึงสูตรจากเซลล์ที่ระบุมาแสดงเป็นข้อความ โดยจะแสดงเหมือนกับที่เห็นใน Formula Bar ทุกประการ
.
ที่เจ๋งคือมันเหมาะสำหรับการทำ Documentation หรือ Audit สูตรในไฟล์ Excel โดยไม่ต้องคลิกไปดูทีละเซลล์ เรียกได้ว่าประหยัดเวลาไปเยอะมากครับ
.
ส่วนตัวผมใช้บ่อยมากตอนต้องส่งมอบงานให้คนอื่น หรือตอนตรวจสอบว่าสูตรในแต่ละเซลล์ถูกต้องหรือไม่ 😎

Leave a Reply

Your email address will not be published. Required fields are marked *