วันอังคารที่ 22 ธันวาคม พ.ศ. 2552

INDEX

ไวยากรณ์
=INDEX(ชุดข้อมูล,Rowที่..,Columnที่..)




ตัวอย่าง
400 =INDEX(A2:B6,2,2) =INDEX(ชุดข้อมูล,Rowที่..2,Columnที่.. 2)
150 =INDEX(A2:B6,4,2) =INDEX(ชุดข้อมูล,Rowที่..4,Columnที่.. 2)
2009 =INDEX(A2:B6,3,1) =INDEX(ชุดข้อมูล,Rowที่..3,Columnที่.. 1)


กรณีที่ INDEX เพียงแถวใด แถวเดียว หรือ คอลัมน์ใดคอลัมน์เดียวนั้น มักจะละส่วนสุดท้ายไว้
เช่น....
2009 =INDEX(A2:A6,3) =INDEX(ชุดข้อมูล,Rowที่..3)
2009 =INDEX(A2:A6,3,1) =INDEX(ชุดข้อมูล,Rowที่..3,Columnที่.. 1)



การละส่วนสุดท้ายไว้นั้นสามารถทำได้ดังกล่าวมาแล้ว
แต่ควรเข้าใจว่า สูตรเต็มๆนั้นจะต้องมีทั้ง ส่วนของ Row และ Column และต้องไม่ลืมว่า Row มาก่อน Column เสมอ


การนำ INDEX ไปใช้ส่วนใหญ่ที่พบเจอบ่อยๆคือการนำไปใช้กับฟังก์ชั่น MATCH
โดยการหาตำแหน่งของข้อมูลจากการใช้ MATCH จากนั้นจึง INDEX


ตัวอย่างง่ายๆอีกซักชุด




=INDEX(ชุดข้อมูล,Rowที่…,Columnที่…)


=INDEX(B3:D6,1,1) ผลลัพธ์---> Honda
=INDEX(B3:D6,2,3) ผลลัพธ์---> 40


ตัวอย่าง
จากยอดขายใน 3 ไตรมาสแรกของปี ให้หาว่า
ใครทำยอดขายได้สูงสุดและเป็นจำนวนเท่าใด

โจทย์ในลักษณะนี้สามารถหาคำตอบได้หลายๆวิธี ขึ้นอยู่กับว่าจะใช้วิธีใดในการแก้ปัญหาออกมา เช่นใช้ IF ก็ได้ (โจทย์ในลักษณะ"เงื่อนไข" สามารถใช้ IFได้ทุกกรณี ไม่ว่าจะใช้ IF ตรงๆ หรือIF แบบประยุกต์ แบบรูปผสมกับฟังก์ชั่นอื่นๆเป็นต้น) ในที่นี้ต้องการแสดงถึง การ INDEX ของชุดข้อมูลเพื่อให้เป็นแนวทางจึงเลือกใช้ INDEXเป็นหลัก

1.หาค่า MAX ก่อน โดย = MAX( ชุดข้อมูล) ในที่นี้คือ MAX(E4:E9) ได้ตำตอบคือ 90
2.ขั้นต่อไปจะใช้ INDEX หาออกมาว่าเป็นผู้ใดที่ได้ยอดขายสูงสุด(90) จะหา INDEX ได้ ต้องทราบ ตำแหน่งก่อน ....จึงหาตำแหน่งจาก ค่าสูงสุดที่ได้ เป็น MATCH(MAX(E4:E9),E4:E9,0) ...ได้ตำแหน่งของ ค่าสูงสุดออกมา
3.จากนั้น ใช้ INDEX หาจากรายชื่อโดยใช้ตำแหน่งเดียวกันกับที่หาได้จาก ค่าMAX จึงออกมาเป็น
INDEX(A4:A9,MATCH(MAX(E4:E9),E4:E9,0))


ตัวอย่างเบาๆ