คำสั่งบนเมนูของ Excel สามารถนำมาใช้ค้นหาข้อมูลจากเซลล์ซึ่งบันทึกไว้ติดกันเป็นตารางเดียวกันได้เท่านั้น หากข้อมูลถูกจัดเก็บแยกตารางจะไม่มีทางใช้คำสั่งบนเมนูหาคำตอบที่ต้องการได้เลย ทางออกหนึ่งคือให้ใช้สูตร Match เพื่อหาตัวเลขตำแหน่งรายการว่าข้อมูลที่ต้องการค้นหานั้นเป็นรายการที่เท่าใด ต่อไปจึงนำตัวเลขตำแหน่งรายการไปค้นหาข้อมูลอื่นๆของรายการโดยใช้สูตร Index

สูตร Match และสูตร Index เป็นสูตรที่ต้องใช้ร่วมกันเสมอ ทำให้สามารถใช้ Excel แบบ Relational database และยังใช้เวลาคำนวณรวดเร็วกว่าสูตร VLookup อย่างมาก

image029

จากภาพนี้มีตารางเก็บข้อมูลของรหัสแยกกัน 2 ตาราง ตารางหนึ่ง B2:C7 เก็บข้อมูลชื่อของรหัส และอีกตารางหนึ่ง B10:C15 เก็บยอดจำนวนของรหัส เราต้องการค้นหาว่ารหัส a003 ที่กรอกไว้ในเซลล์ E3 มีชื่อและยอดจำนวนเท่ากับเท่าใด โดยให้แสดงคำตอบไว้ในเซลล์ G3 และ H3 ตามลำดับ

ก่อนอื่นต้องวิเคราะห์โครงสร้างตารางก่อนว่าลำดับรหัสในตารางทั้งสองนั้นจัดไว้ในตำแหน่งรายการเดียวกัน เช่น รหัส a003 อยู่ในรายการลำดับที่ 2 ตรงกันทั้งสองตาราง โดยข้อมูลรหัสไม่จำเป็นต้องเรียงลำดับจากน้อยไปมากก็ได้

เซลล์ F3 ถือเป็นหัวใจของการค้นหาข้อมูล มีสูตร =MATCH(E3,Id,0) คืนค่าออกมาเป็นเลข 2 ซึ่งหมายความว่ารหัส a003 ถูกจัดเก็บไว้เป็นรายการที่ 2 ใน range ที่ตั้งชื่อว่า Id ซึ่งเลข 0 ในวงเล็บเป็นการกำหนดว่าใน Id ไม่ต้องเรียงลำดับ (ถ้าเปลี่ยนเลข 0 เป็นเลข 1 ต้องเรียงลำดับใน Id จากน้อยไปมาก หรือใช้เลข -1 แทน ต้องเรียงลำดับใน Id จากมากไปน้อย)

พอได้เลข 2 แล้วจากนั้นในเซลล์ G3 และ H3 ให้ใช้สูตร =INDEX(Name,F3) และ =INDEX(Amount,F3) ก็จะได้ชื่อและยอดจำนวนของรหัสตามต้องการ

image030

หากภายหลังมีการโยกย้ายตำแหน่งข้อมูลให้ไม่ติดกันเป็นตารางเดียวกัน ตามภาพต่อไปนี้ (หรือแม้จะโยกย้ายตารางไปวางไว้ต่างชีทหรือต่างแฟ้ม) ก็จะพบว่าสูตร Match และ Index ที่สร้างไว้ ยังคงหาคำตอบได้ตามเดิม

ถ้าปรับสูตรในเซลล์ G3 และ H3 เป็น =INDEX(Name,MATCH(E3,Id,0)) และ =INDEX(Amount,MATCH(E3,Id,0)) เพื่อลัดหาคำตอบโดยไม่จำเป็นต้องพึ่งพาสูตร Match จากเซลล์ F3 ก็ได้ แต่วิธีนี้ Excel เสียเวลาคิดสูตร Match ซ้ำหลายครั้ง ทำให้สูตรยาวขึ้นยากต่อการแกะ แฟ้มมีขนาดใหญ่ขึ้น และใช้เวลาคำนวณนานขึ้น ไม่ควรซ้อนสูตรแบบนี้หากไม่มีความจำเป็น

image031

Author: สมเกียรติ ฟุ้งเกียรติEmail: This email address is being protected from spambots. You need JavaScript enabled to view it.

E-Learning

Go to top