TLDR สรุปสั้นๆ
INDIRECT เปลี่ยนข้อความให้เป็นการอ้างอิงเซลล์จริงๆ
คำอธิบาย
ฟังก์ชัน INDIRECT ใช้เพื่อแปลงข้อความที่หน้าตาเหมือนการอ้างอิงที่ Excel เข้าใจ (Cell Reference / Structure Reference) ให้กลายเป็นการอ้างอิงจริงๆ ได้ ซึ่งจะช่วยให้เราสามารถสร้างสูตรที่ Dynamic มากขึ้นได้
มีครั้งแรกในเวอร์ชันไหน
Excel 2003 หรือก่อนหน้า
รูปแบบคำสั่ง (Syntax)
INDIRECT(ref_text, [a1])
Arguments
-
ref_text (Required – Text)
การอ้างอิงไปยังเซลล์ที่ต้องการในรูปแบบข้อความ สามารถเป็นการอ้างอิงแบบ A1, R1C1, ชื่อตั้งเอง หรือเซลล์ในลักษณะข้อความ - a1 (Optional – Logical)
ค่า TRUE หรือ FALSE ที่บอกว่า ref_text มีประเภทการอ้างอิงแบบไหน ถ้าเป็น TRUE หรือไม่ได้ระบุจะเป็นแบบ A1 style ถ้าเป็น FALSE จะเป็นแบบ R1C1 style
ตัวอย่างการใช้งาน (Examples)
- Formula:
Description: เปลี่ยนข้อความว่า B3 ให้เป็นการอ้างอิง B3 จริงๆ=INDIRECT("B3")
Result: “TX0001” (มีค่าเท่ากับการเขียนสูตรว่า =B3) - Formula: ถ้าใน A10 มีข้อความว่า D2
Description: เปลี่ยนข้อความที่เขียนในเซลล์ A10 (ซึ่งอ้างอิงไปยัง D2) ให้เป็นการอ้างอิงจริงๆ=INDIRECT(A10)
Result: “Product Type” มีค่าเท่ากับการเขียนสูตรว่า =D2 - Formula:
Description: เปลี่ยนข้อความว่า TxData[Qty] ให้เป็นการอ้างอิงไปที่ TxData[Qty] จริงๆ=INDIRECT("TxData[Qty]")
Result: {10;5;8;7;6;4} มีค่าเท่ากับการเขียนสูตรว่า =TxData[Qty] - Formula:
Description: เปลี่ยนข้อความว่า “My Range” ให้เป็นการอ้างอิงไปที่ Defined Name ที่ตั้งชื่อว่า “My Range” จริงๆ=INDIRECT("My Range")
Result: ดึงข้อมูลจากสูตรที่ระบุไว้ใน Defined Name ที่ตั้งชื่อว่า “My Range” - Formula:
Description: เปลี่ยนข้อความว่า ‘My Sheet’!E2:E10 ให้เป็นการอ้างอิงไปที่ ‘My Sheet’!E2:E10 จริงๆ ทำให้ดึงข้อมูลจากอีกชีทมาได้=INDIRECT("'My Sheet'!E2:E10")
Result: ดึงข้อมูลช่วง E2:E10 มาจากชีท My Sheet ของไฟล์เดียวกัน
Tips & Tricks
คุณสามารถใช้ INDIRECT กับ named ranges หรือการอ้างอิงระหว่างชีตเพื่อสร้างการอ้างอิงแบบไดนามิก นอกจากนี้ยังเหมาะสำหรับการสร้าง drop-down lists ที่เปลี่ยนแปลงตามเซลล์ที่สัมพันธ์กัน และยังสามารถใช้ร่วมกับฟังก์ชันอื่นได้เช่น SUM หรือ AVERAGE เพื่อคำนวณค่าที่แปรเปลี่ยนได้อย่างมีประสิทธิภาพ
ข้อควรระวัง (Cautions)
INDIRECT เป็นฟังก์ชันที่เรียกว่า Volatile Function อาจทำให้เกิดปัญหาด้านประสิทธิภาพในไฟล์ขนาดใหญ่ นอกจากนี้ต้องระวังเรื่องการอ้างอิงกับชีตที่ปิดอยู่ เนื่องจากจะทำให้เกิดข้อผิดพลาด #REF! ได้
ฟังก์ชันที่เกี่ยวข้อง
References
- Microsoft Support: INDIRECT Function
- ExcelJet: INDIRECT Function
- Ablebits: Excel INDIRECT Function
- Career Foundry: INDIRECT Function in Excel
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply