Thep Excel

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

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

fx
=FORMULATEXT(reference)

ความนิยม7/10
ความยาก5/10
ประโยชน์10/10

อัปเดต 2 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
reference Reference การอ้างอิงเซลล์ที่ต้องการดึงสูตรออกมา สามารถอ้างอิงไปยัง Sheet อื่นหรือ Workbook อื่นที่เปิดอยู่ได้

Additional Notes

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

How it works

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

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

สร้าง Documentation ของ Workbook

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

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

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

Examples

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

สมมติเซลล์ B2 มีสูตร =SUM(A1:A10) ฟังก์ชัน FORMULATEXT จะดึงสูตรนั้นมาแสดงเป็นข้อความ

สังเกตว่าผลลัพธ์จะมีเครื่องหมาย = นำหน้าด้วยเหมือนกับที่เห็นใน Formula Bar เลยครับ 💡

fx
=FORMULATEXT(B2)

ผลลัพธ์=SUM(A1:A10)
ตัวอย่างที่ 2: ใช้ Audit สูตรในรายงานการเงินFORMULATEXT(Report!C10)

สมมติเซลล์ C10 ใน Sheet 'Report' มีสูตรคำนวณกำไร =Revenue-Expenses

วิธีนี้ช่วยให้ Auditor หรือหัวหน้าตรวจสอบสูตรได้โดยไม่ต้องสลับไปดู Sheet อื่น ที่เจ๋งคือสามารถสร้าง Audit Sheet รวมสูตรสำคัญทั้งหมดไว้ที่เดียวได้เลย 😎

fx
=FORMULATEXT(Report!C10)

ผลลัพธ์=Revenue-Expenses
ตัวอย่างที่ 3: ตรวจจับเซลล์ที่ไม่มีสูตรIF(ISNA(FORMULATEXT(D5)), "ไม่มีสูตร", FORMULATEXT(D5))

ใช้ ISNA ตรวจจับกรณีที่เซลล์ไม่มีสูตร (FORMULATEXT คืน #N/A) แล้วแสดงข้อความแทน

ส่วนตัวผมใช้วิธีนี้ตอนทำ Documentation เพราะช่วยแยกว่าเซลล์ไหนเป็นค่าที่พิมพ์เอง เซลล์ไหนเป็นสูตรคำนวณครับ 💡

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

ผลลัพธ์ไม่มีสูตร (ถ้า D5 เป็นค่าคงที่) หรือ =A1*B1 (ถ้า D5 มีสูตร)
ตัวอย่างที่ 4: สร้าง Audit Log พร้อมที่อยู่เซลล์"Cell " & ADDRESS(ROW(E10),COLUMN(E10)) & ": " & FORMULATEXT(E10)

สร้างข้อความแสดงทั้งที่อยู่เซลล์และสูตรในเซลล์นั้น เหมาะสำหรับทำ Audit Log หรือ Documentation

ที่เจ๋งคือใช้ ADDRESS + ROW + COLUMN แสดงที่อยู่เซลล์แบบ Dynamic ถ้าย้ายเซลล์ก็ยังอ้างอิงถูกต้อง 😎

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

ผลลัพธ์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 มากครับ 💡

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

ผลลัพธ์Array ผลลัพธ์แสดงสูตรเฉพาะเซลล์ที่มี Error
ตัวอย่างที่ 6: สร้างตาราง Documentation อัตโนมัติIF(ISFORMULA(DataSheet!A1:E10), FORMULATEXT(DataSheet!A1:E10), "[Value]")

สร้าง Documentation ของทั้ง Range โดยแสดงสูตรถ้ามี หรือแสดง [Value] ถ้าเป็นค่าคงที่

ส่วนตัวผมใช้วิธีนี้ตอนส่งมอบงานให้คนอื่น เพราะสร้าง Audit Sheet ได้รวดเร็วมากครับ 😎

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

ผลลัพธ์ตาราง 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

ฟังก์ชันที่ผู้เขียนโยงไว้กับ FORMULATEXT จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้FORMULATEXTLookup and reference
Information (2)
CELL

ดึงข้อมูลเกี่ยวกับเซลล์ เช่น ที่อยู่ ชื่อไฟล์ รูปแบบตัวเลข หรือความกว้างคอลัมน์ ใช้ทำ Dynamic Header, ตรวจสอบไฟล์ก่อนประมวลผล หรือแสดง Path ของ Workbook บนรายงาน

ISFORMULA

ตรวจสอบว่าเซลล์ที่อ้างอิงมีสูตรอยู่หรือไม่ คืนค่า TRUE ถ้าเซลล์นั้นเป็นสูตร และ FALSE ถ้าเป็นค่าคงที่หรือเซลล์ว่าง ใช้ตรวจสอบไฟล์ก่อนแก้ไข

Lookup and reference (1)
INDIRECT

INDIRECT แปลงข้อความเป็นการอ้างอิงเซลล์จริง ช่วยให้สามารถเปลี่ยนตำแหน่งเซลล์ได้ไดนามิกโดยใช้ตัวเลขหรือชื่อเซลล์

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่