INDEX Function
หมายถึง การค้นหาค่า จากตารางอ้างอิง ตามแถวหรือคอลัมน์ที่กำหนด หรือ ใช้แทน VLOOKUP ได้
ไวยากรณ์ =INDEX(array, row_num, [column_num])
หลักการใช้ฟังก์ชั่น INDEX
- Array คือ ช่วงของเซลล์ที่ต้องการค้นหา
- row_num คือ เลขแถวใน Array
- [column_num] คือ เลขคอลัมน์ใน Array
เมื่อนำ INDEX มาใช้ร่วมกับ MATCH จะทำให้สามารถค้นหาข้อมูลได้ โดยการหาตำแหน่งด้วย MATCH และ นำมาแสดงด้วย INDEX ซึ่งจะเทียบได้กับทั้ง 2 ฟังก์ชั่นนี้ ทำหน้าที่แทน VLOOKUP นั้นเอง
ตัวอย่างการใช้ฟังก์ชั่น INDEX
จากบทความนี้ เราจะใช้ตัวอย่างเดียวกับฟังก์ชั่น VLOOKUP และ MATCH เพื่อให้คุณ ๆ เห็นความแตกต่างระหว่างทั้ง 3 ฟังก์ชั่น
รูปที่ 1 ตารางที่ใช้แสดงตัวอย่างการนำฟังก์ชั่น INDEX และ MATCH มาทำงาน |
ข้อควรระวัง !!!
ถ้าคุณเขียน =INDEX($A$2:$D$14,10,2) จะเห็นว่าช่วงของเซลล์ที่ต้องการค้นหาเริ่มต้นไม่เหมือนกัน (A2:D14) ทำให้ผลลัพธ์ที่ได้ผิดไปจากเดิม คือ "Cupid"
หลักการใช้ฟังก์ชั่น Index นี้มันดูง่าย ๆ ไม่ซับซ้อนอะไรเลยถูกไหมคะ 😉😉😊😊
แต่ในความเป็นจริง คุณไม่มีทางรู้ว่า Data ที่กำลังหาอยู่ในแถวหรือคอลัมน์ที่เท่าไรแน่นอน ดังนั้น เราจึงควรทำความรู้จักกับ คุณลักษณะของฟังก์ชั่น MATCH ไว้ด้วย
คุณสามารถกลับไปทบทวนหลักการของ Match Function ได้ที่บทความ "ค้นหาเลขคอลัมน์ หรือเลขแถว ของสิ่งที่ค้นหาด้วย Match Function"
ตัวอย่างการใช้ฟังก์ชั่น INDEX ร่วมกับ MATCH แบบที่ 1
ต้องการค้นหารายได้ (Income) ของร้าน Cupid โดยให้คุณเขียนสูตรจากทั้ง 2 ฟังก์ชั่น คือ Index และ Match ร่วมกัน เพื่อค้นหาค่า (Value) แทนฟังก์ชั่น VLOOKUP ซึ่งสามารถเขียนได้ ดังนี้
=INDEX($A$2:$D$14,MATCH("Cupid",$B$2:$B$14,0),MATCH("Income",$A$1:$D$1,0))
จากสูตรด้านบนนี้ ถ้าคุณสังเกตดีๆ เรายังใช้ฟังก์ชั่น Index อยู่นะค่ะ แต่ส่วนของ Argument ที่ให้ระบุเลขแถว และเลขคอลัมน์ ของ Index เราได้ใช้ฟังก์ชั่น Match เข้ามาช่วยนั้นเอง
ซึ่ง MATCH("Cupid",$B$2:$B$14,0) ใช้ในการค้นหาเลขลำดับของข้อมูล โดยเมื่ออ่านความหมายของสูตรนี้ คือ ค้นหาคำว่า Cupid จากลำดับ B2:B14 (แถว) และวิธีหา Cupid ต้องคำตรงกัน ดังนั้น ผลลัพธ์ คือ แถวลำดับที่10 (จุดสังเกต ใครรู้สึกว่าต้องเป็น ลำดับที่ 11 ไหม ซึ่งจะไม่ถูกต้อง เพราะ สูตรที่เขียนกำหนดช่วงเป็น B2:B14 เมื่อนับแต่ละแถวลงมา Cupid จะอยู่ลำดับที่ 10 พอดีค่ะ)
ปล. ให้คุณนึกว่าถ้ามีข้อมูลใน Excel จำนวนมากเป็นพัน ๆ แถว/คอลัมน์ เราคงไม่รู้ว่า สิ่งที่เราค้นหามันอยู่ในเลขแถวหรือเลขคอลัมน์อะไรแน่นอน ดังนั้น ฟังก์ชั่น Match จึงกลายมาเป็นฮีโรของ Index ทันที
ตัวอย่างการใช้ฟังก์ชั่น Index ร่วมกับ Match แบบที่ 2
เราจะใช้โจทย์เดิมตามแบบที่ 1 แต่คุณ ๆ สามารถเขียนได้ ดังนี้
=INDEX($D$2:$D$14,MATCH("Cupid",$B$2:$B$14,0))
ในตัวอย่างแบบที่ 2 นี้ เราใช้ Argument เพียงระบุเลขแถวอย่างเดียวได้ และ ช่วงของเซลล์ที่ต้องการค้นหา ให้ระบุช่วงของสิ่งที่ต้องการให้แสดงผลลัพธ์ นั้นก็คือ คอลัมน์รายได้ (Income) นั้นเอง
ปล. ทั้งตัวอย่างแบบที่ 1-2 จะได้ผลลัพธ์เหมือนกัน คือ 150,000 บาท เหมือนกันเลย