INDIRECT แปลงข้อความเป็นการอ้างอิงเซลล์จริง ช่วยให้สามารถเปลี่ยนตำแหน่งเซลล์ได้ไดนามิกโดยใช้ตัวเลขหรือชื่อเซลล์
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| ref_text | Text | ข้อความที่แสดงการอ้างอิงเซลล์ เช่น ‘A1’ หรือ ‘Sheet2!B3’ ถ้าไม่ใช่การอ้างอิงที่ถูกต้อง จะคืนค่า #REF! error | |
| [a1]ไม่บังคับ | Logical | TRUE | TRUE หรือละเว้น = ใช้รูปแบบ A1 (A1, B2, C3) | FALSE = ใช้รูปแบบ R1C1 (R1C1, R2C2) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
INDIRECT คือฟังก์ชันที่ใช้แปลงข้อความเป็นการอ้างอิงเซลล์จริง ใช้เมื่อต้องการให้สูตรอ้างอิงเซลล์ต่างๆ โดยอิงจากค่าในเซลล์อื่น.
ตัวอย่างเช่น ถ้า A1 มีค่า 5 และเราใช้ =INDIRECT(“B”&A1) สูตรจะอ้างอิงไปยัง B5 แทนที่จะกำหนดตำแหน่งในสูตรเองไป.
อันนี้มีประโยชน์มากเวลาต้องสร้างแดชบอร์ดที่ผู้ใช้สามารถเลือกข้อมูลจากตารางต่างๆ หรือสร้างอ้างอิงแบบไดนามิกว่าอยากเอาข้อมูลจากแถวไหน ที่เจ๋งของ INDIRECT คือมันเปิดโอกาสให้เราสร้างสูตรที่ยืดหยุ่นขึ้นมาก แต่ต้องระวังเรื่องประสิทธิภาพ เพราะมันเป็น volatile function ที่ทำให้ Excel คำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลง
เมื่อเลือกจังหวัดใน Dropdown List แรก (เช่น ชลบุรี) Dropdown List ที่สองจะแสดงเฉพาะอำเภอที่อยู่ในจังหวัดชลบุรีเท่านั้น โดยใช้ INDIRECT ดึงข้อมูลจาก Named Range ของแต่ละจังหวัด
สร้างกราฟที่ช่วงข้อมูลเปลี่ยนไปตามเงื่อนไข เช่น กราฟแสดงยอดขายของเดือนที่เลือก โดยใช้ INDIRECT ดึงข้อมูลจากช่วงที่อ้างอิงถึงเดือนนั้นๆ
เชื่อม "B" กับค่าใน A1 (ตัวเลข 5) ได้เป็น 'B5' แล้วเอาค่าจากเซลล์นั้นมา ตัวอย่างนี้ใช้เวลาต้องการสร้างสูตรที่อ้างอิงไปยังคอลัมน์เดียวกันแต่แถวต่างๆ
ถ้า C2 = 'Vendor1' สูตรจะค้นหาค่า D2 ในตาราง Vendor1!A:D เป็นการสร้างแดชบอร์ดที่ผู้ใช้เลือกซัพพลายเออร์แล้วมันจะค้นหาข้อมูลจากแต่ละซัพพลายเออร์อัตโนมัติ
ถ้า B1=5 และ B2=10 สูตรจะผลรวม A5:A10 อันนี้เจ๋งเพราะเราสามารถให้ผู้ใช้เลือกว่าอยากรวมจากแถวไหนถึงแถวไหน โดยไม่ต้องแก้สูตร
ROW() คืนค่าแถวปัจจุบัน ดังนั้น INDIRECT จึงอ้างอิงไปยัง C ของแถวเดียวกัน รูปแบบ R1C1 เป็นชื่อแบบเก่า แต่ยังใช้ได้ เข้าใจว่า R = row, C = column
ข้อความที่เพิ่มคำไม่ใช่การอ้างอิงที่ถูกต้อง ลองใช้ Evaluate Formula (Formulas > Evaluate Formula) เพื่อดูว่า INDIRECT สร้างอะไร หรือชื่อเซลล์ไม่มีอยู่จริง
VLOOKUP ค้นหาค่าที่ตรงกับเงื่อนไข INDIRECT เปลี่ยนข้อความเป็นอ้างอิงเซลล์ VLOOKUP มีประสิทธิภาพดีกว่า ใช้ VLOOKUP ก่อน ถ้าใช้ไม่ได้ค่อยใช้ INDIRECT
ใช้เครื่องหมายคำพูดเดี่ยว เช่น =INDIRECT("'Sales Data'!A1") ใส่ชื่อเซลล์ไว้ในคำพูดเดี่ยว
ได้ เพราะ INDIRECT เป็น volatile function ที่ Excel คำนวณใหม่ทุกครั้ง ใช้ให้น้อยที่สุดเท่าที่ทำได้ ในแดชบอร์ดขนาดใหญ่อาจใช้ VLOOKUP หรือ INDEX+MATCH แทนได้
ฟังก์ชันที่ผู้เขียนโยงไว้กับ INDIRECT จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
ADDRESS สร้างข้อความที่เป็นตำแหน่งเซลล์จากหมายเลขแถวและคอลัมน์ รองรับ Absolute Mixed Relative และสไตล์ R1C1 มักใช้คู่กับ INDIRECT เพื่อสร้าง Dynamic Reference
AREAS นับว่าการอ้างอิงที่เรากำหนดนั้นมีกี่พื้นที่ (area) พื้นที่หมายถึงช่วงเซลล์ต่อเนื่องหรือเซลล์เดี่ยว เช่น ถ้าเราอ้างอิง (A1:B2, D5:E5) ถือว่ามี 2 พื้นที่แยกกัน
FORMULATEXT ดึงสูตรจากเซลล์มาแสดงเป็นข้อความ ใช้สำหรับ Audit ตรวจสอบสูตร หรือทำ Documentation ของ Workbook ถ้าเซลล์ไม่มีสูตรจะคืนค่า #N/A
HYPERLINK สร้างลิงก์ที่คลิกได้ไปยังเว็บไซต์ ไฟล์ เซลล์ใน Sheet อื่น หรืออีเมล สามารถกำหนดข้อความที่แสดงต่างจาก URL จริงได้
INDEX คืนค่าหรือ reference ของเซลล์จากตำแหน่งที่ระบุใน range หรือ array โดยอ้างอิงจากหมายเลขแถวและคอลัมน์ที่เราระบุ มักถูกใช้ร่วมกับ MATCH เพื่อสร้าง INDEX-MATCH pattern ที่ยืดหยุ่นกว่า VLOOKUP เยอะ เพราะสามารถดึงข้อมูลจากทิศทางไหนก็ได้ และไม่พังเมื่อมีการแทรกหรือลบคอลัมน์
MATCH คืนเลขลำดับตำแหน่งของค่าที่ค้นหาในช่วงข้อมูลแถวเดียวหรือคอลัมน์เดียว รองรับการค้นหา 3 โหมด คือ Exact Match (0) ที่ไม่ต้องเรียงข้อมูล, Approximate Match แบบ Less Than or Equal (1) ที่ต้องเรียงจากน้อยไปมาก, และ Greater Than or Equal (-1) ที่ต้องเรียงจากมากไปน้อย รองรับ Wildcard (* และ ?) ในโหมด Exact Match และมักใช้คู่กับ INDEX เป็นรูปแบบ INDEX-MATCH ที่ยืดหยุ่นกว่า VLOOKUP
อ้างอิงช่วงข้อมูลที่เลื่อนจากตำแหน่งเริ่มต้น สร้าง dynamic range ได้
ROW ส่งคืนหมายเลขแถว (Row Number) ของเซลล์หรือช่วงที่ระบุ ส่งคืนตัวเลขแถว 1, 2, 3… มีประโยชน์ในการกำหนดหมายเลขลำดับแบบไดนามิก และสร้างสูตรที่ปรับตัวตามตำแหน่ง
ฟังก์ชัน RTD ใช้สำหรับดึงข้อมูลแบบ Real-time จากโปรแกรมที่รองรับ COM automation เช่น ราคาหุ้น อัตราแลกเปลี่ยน หรือข้อมูลที่มีการอัพเดทอย่างต่อเนื่อง
.
ที่เจ๋งคือ RTD จะอัพเดทข้อมูลโดยอัตโนมัติเมื่อ Excel อยู่ในโหมดคำนวณอัตโนมัติ ไม่ต้องนั่งกด F9 หรือรีเฟรชด้วยตนเอง ซึ่งเหมาะมากสำหรับการติดตามข้อมูลตลาดการเงิน การวิเคราะห์หุ้น หรือการเชื่อมต่อกับ Data Server ภายนอก
VLOOKUP เป็นฟังก์ชันค้นหาแนวตั้งที่ได้รับความนิยมสูงสุดใน Excel โดยค้นหาค่าที่ต้องการในคอลัมน์ซ้ายสุดของตาราง จากนั้นดึงข้อมูลจากคอลัมน์ที่ระบุในแถวเดียวกัน รองรับทั้งการค้นหาแบบตรงทุกตัวอักษร (Exact Match) และแบบประมาณค่า (Approximate Match) สำหรับข้อมูลที่เรียงลำดับ ข้อจำกัดหลักคือต้องค้นหาจากคอลัมน์ซ้ายสุดเท่านั้น ไม่สามารถดึงข้อมูลจากด้านซ้ายของคอลัมน์ค้นหาได้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่