วันพฤหัสบดีที่ 19 พฤศจิกายน พ.ศ. 2552

MATCH

ฟังก์ชั่น MATCH ใช้หา"ตำแหน่ง"ในช่วงของชุดข้อมูลนั้นๆ ใช้หาตำแหน่งได้ทั้งตัวเลขและ ตัวอักษร และCharacter ต่างๆ

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

ไวยากรณ์
= MATCH(lookup_value, lookup_array, match_type)
= MATCH(สิ่งที่ต้องการหาตำแหน่ง,ชุดข้อมูล, Match_type)

Match type นี้จะแยกเป็น 3 แบบ คือ 0,1,-1
โดยปกติในการใช้ฟังก์ชั่น MATCH โดยทั่วไปจะเลือกใช้ Match type = 0 เป็นหลักเนื่องจากไม่จำเป็นต้องจัดเรียงค่าในชุดข้อมูล จากน้อยไปมากหรือ มากไปน้อยนั่นเอง แต่ในที่นี้จะอธิบายถึง Match type ทั้ง 3 แบบ

ก่อนจะอธิบายถึงความแตกต่างของ Match type ทั้ง 3 แบบนั้นจะขอยกตัวอย่างการใช้ฟังก์ชั่น MATCH ให้ดูเป็นตัวอย่างสักเล็กน้อย ก่อนดังนี้

เช่น ถ้าช่วงเซลล์ A1 ถึง A4 ประกอบด้วย 15,5,12,8 หาเราต้องการหา"ตำแหน่ง"ของ 12 จะเขียนสูตรได้ดังนี้ =MATCH(12,A1:A4,0) และได้"ตำแหน่ง"คือ 3 เนื่องจาก 12 เป็นเป็นรายการที่สาม ในชุดข้อมูลนั่นเอง

ตัวอย่างต่อไป ลองสังเกตุการหา"ตำแหน่ง" ของค่าต่างๆ ตามที่กำหนด ไม่ว่าเราจะพิมพ์ตัวเลขนั้นๆลงไป เลย หรือจะพิมพ์เซลล์อ้างอิงเพื่อหาตำแหน่งของข้อมูลก็จะได้ผลลัพท์ที่เท่ากัน






Match type ,0 (ไม่บังคับเรียงชุดข้อมูล)

จะเรียงข้อมูล จากมากไปน้อย หรือน้อยไปมาก หรือไม่ก็ตาม
สามารถหา แหน่ง ของค่า ที่มีอยู่ ในชุดข้อมูลนั้นได้ เสมอ
แต่ถ้า ไม่มีค่านั้นๆ อยู่ในชุดข้อมูล จะหา ค่านั้นๆ ไม่ได้ ส่งกลับค่าเป็น #N/A

นั่นก็หมายถึง ชุดข้อมูล จะค่ามากน้อยสลับกันไปมา หรือเรียงจาก มากไปน้อย หรือ จากน้อยไปมาก จะไม่มีผลในการหาตำแหน่งของข้อมูลเลย




Match Type ,1 (บังคับ เรียงชุดข้อมูลน้อยไปมาก)
หากไม่เรียง ข้อมูล จาก น้อยไปมาก อาจจะหาตำแหน่ง ถูก หรือ ผิดก็ได้ ไม่แน่นอน
ดังนั้นจึง บังคับ เรียงข้อมูล จาก น้อยไปมาก จึงจะหา ตำแหน่งที่ถูกต้องได้



ข้อน่าสนใจของการใช้ Match type ,1
กรณีที่ไม่มีค่านั้นๆ อยู่ใน ชุดข้อมูล Match Type ,1 จะแสดง ตำแหน่ง ของค่า
ที่น้อยกว่า ที่อยู่ใกล้ค่านั้นที่สุด เสมอ ตัวอย่าง...



ในที่นี้ 58 ไม่มีในชุดข้อมูล ดังนั้น Match type ,1 จึงแสดงตำแหน่งของค่าที่น้อยกว่า 58 คือ 50 แทน และจะได้ตำแหน่งคือ 3





ในที่นี้ 72 ไม่มีในชุดข้อมูล ดังนั้น Match type ,1 จึงแสดงตำแหน่งของค่าที่น้อยกว่า 72 คือ 70แทน และจะได้ตำแหน่งคือ 5

ในทีนี้ 20 ไม่มีในชุดข้อมูล และไม่มีค่าที่น้อย กว่า 20 ในชุดข้อมูล ดังนั้น Match type ,1 จึงไม่สามารถหาตำแหน่งใดๆ ออกมาได้ (#N/A)


Match Type ,-1 (บังคับเรียงชุดข้อมูลมากไปน้อย )
หากไม่เรียง ข้อมูล จาก มากไปน้อย อาจจะหาตำแหน่ง ถูก หรือ ผิดก็ได้ ไม่แน่นอน
ดังนั้นจึง บังคับ เรียงข้อมูล จาก มากไปน้อย จึงจะหา ตำแหน่งที่ถูกต้องได้




ข้อน่าสนใจของ Match type ,-1
กรณีที่ไม่มีค่านั้นๆ อยู่ใน ชุดข้อมูล Match Type ,-1 จะแสดง ตำแหน่ง ของค่า ที่ มากกว่า ที่อยู่ใกล้ค่านั้นที่สุด เสมอ



ในที่นี้ 20ไม่มีในชุดข้อมูล ดังนั้น Match type ,-1 จึงแสดง ตำแหน่งของค่าที่ มากกว่า 20 คือ 30 แทน และจะได้ตำแหน่งคือ 5

ในที่นี้ 58 ไม่มีในชุดข้อมูล ดังนั้น Match type ,-1 จึงแสดง ตำแหน่งของค่าที่ มากกว่า 58 คือ 60 แทน และจะได้ตำแหน่งคือ 2

ในที่นี้ 72 ไม่มีในชุดข้อมูล และไม่มีค่าที่มาก กว่า 72 ในชุดข้อมูล ดังนั้น Match type ,-1 จึงไม่สามารถหาตำแหน่งใดๆ ออกมาได้ (#N/A)