ซ่อมคอมพิวเตอร์นอกสถานที่ บางกะปิ รามคำแหง

วันอาทิตย์ที่ 2 มีนาคม พ.ศ. 2557

ฟังก์ชัน MATCH และการประยุกต์ใช้งาน

MATCH เป็นฟังก์ชันที่ให้ผลลัพธ์เป็น "ตำแหน่งของข้อมูล" จากช่วงข้อมูลที่ตรงกับค่าที่ระบุ ตามลำดับการเรียงที่กำหนดไว้ เราใช้ฟังก์ชัน MATCH ในกรณีที่ต้องการหาตำแหน่ง หรือลำดับที่ ของรายการข้อมูลในช่วงใดช่วงหนึ่ง


โครงสร้างฟังก์ชัน

MATCH( lookup_value, lookup_array, match_type )

  • lookup_value (ค่าที่ต้องการหา) ซึ่งตรงกับค่าในช่วงตาราง lookup_array โดยที่ lookup_value สามารถอยู่ในรูปตัวเลข ข้อความ หรือค่าตรรกะ หรือการอ้างอิงเซลล์ ก็ได้
  • lookup_array (ช่วงเซลล์ที่ติดกัน) ซึ่งมีค่าที่ต้องการค้นหานั้นเก็บอยู่
  • match_type (รูปแบบการค้นหา) แทนค่าด้วยตัวเลข -1, 0 หรือ 1 โดย....
    • ถ้า match_type เป็น 1 หรือไม่ได้ใส่ค่าใดๆ จะค้นหาค่ามากสุด ซึ่งน้อยกว่าหรือเท่ากับ lookup_value โดย lookup_array จะต้องเรียงลำดับจากน้อยไปหามาก
    • ถ้า match_type เป็น 0 จะค้นหาค่าที่เท่ากับ lookup_value เท่านั้น โดย lookup_array ไม่จำเป็นต้องเรียงลำดับ
    • ถ้า match_type เป็น -1 จะค้นหาค่าน้อยสุด ซึ่งมากกว่าหรือเท่ากับ lookup_value โดย lookup_array จะต้องเรียงลำดับจากมากไปหาน้อย
  • หมายเหตุ
    • ฟังก์ชัน MATCH ไม่แยกความแตกต่างระหว่างตัวพิมพ์ใหญ่ และตัวพิมพ์เล็ก
    • ถ้าค้นหาไม่พบค่าที่ตรงกัน จะแสดงค่าข้อผิดพลาด #N/A
    • ถ้า match_type เป็น 0 และ lookup_value เป็นข้อความ สามารถใส่สัญลักษณ์ เช่น เครื่องหมายดอกจัน (*) และเครื่องหมายคำถาม (?) ไว้ใน lookup_value ได้
      • เครื่องหมายดอกจัน (*) ใช้แทนอักษรอะไรก็ได้ จำนวนเท่าใดก็ได้
      • เครื่องหมายคำถาม (?) ใช้แทนอักษรอะไรก็ได้ เพียงตัวเดียวเท่านั้น


รูปที่ 1 แสดงตัวอย่างการใช้ MATCH


ตัวอย่าง
  1. พิมพ์ชื่อเดือนลงในช่วง A1:A12 ดังรูปที่ 1
  2. พิมพ์ชื่อเดือนใดเดือนหนึ่งลงในเซลล์ C1 เช่น JUL
  3. ที่เซลล์ D1 พิมพ์สูตร =MATCH( C1, A1:A12, 0 )
  4. จะได้ผลลัพธ์เท่ากับ 7 หมายความว่า JUL เป็นค่าที่อยู่ในลำดับที่ 7 ของช่วงข้อมูล A1:A12
  5. ทั้งนี้ ถ้ามีการจัดเรียงตำแหน่งข้อมูลในช่วง A1:A12 ใหม่ ผลลัพธ์ที่ได้ ก็อาจจะแตกต่างกันออกไป


การประยุกต์ใช้งาน 

ถ้าเราสร้างแบบฟอร์มเอกสาร และให้มีการกรอก วัน-เดือน-ปี แยกเซลล์ (ดังรูปที่ 1 ช่วง C4:D6) เมื่อเราต้องการนำค่าวันที่ดังกล่าวนี้ ไปใช้คำนวณในกรณีอื่นๆ เราต้องส่งข้อมูลไป ในรูปแบบวันที่ (Date Format) โดยใช้ฟังก์ชัน DATE ซึ่งประกอบด้วยอาร์กิวเมนต์ ปี เดือน และวัน

ดังนั้น ที่เซลล์ D8 พิมพ์สูตร =DATE( D4, D5, D6 ) 

แต่เนื่องจากฟังก์ชัน DATE จะรับค่าอาร์กิวเมนต์ ปี-เดือน-วัน "เป็นตัวเลข" แต่ค่าเดือนในเซลล์ D5 ที่อ้างถึงนั้นเป็น "ข้อความ" จึงทำให้ผลลัพธ์ออกมาเป็น #VALUE! หรือเป็นค่า ความผิดพลาด

เราต้องแปลงค่าเดือนซึ่งเป็นข้อความ (ที่อ้างถึงในเซลล์ D5) ให้เป็นตัวเลข ก่อนส่งไปยังฟังก์ชัน DATE โดยการใช้ฟังก์ชัน MATCH ค้นหาค่าในเซลล์ D5 เพื่อไปเปรียบเทียบกับช่วงข้อมูล A1:A12 แล้วส่งผลลัพธ์กลับมายังฟังก์ชัน DATE อีกครั้ง

ดังนั้นสูตรในเซลล์ D8 จึงได้รับการแก้ไขใหม่เป็น =DATE( D4, MATCH( D5, A1:A12, 0 ), D6 ) 


รูปที่ 2 แสดงตัวอย่างการประยุกต์ใช้ MATCH 


หมายเหตุ 

ในบางกรณีที่ใช้ในงานจริงนั้น ถ้าเราไม่ได้มีการสร้างช่วงข้อมูล A1:A12 ไว้ล่วงหน้าดังตัวอย่าง เราสามารถใส่ช่วงข้อมูล (ที่จะให้ฟังก์ชัน MATCH ทำการค้นหา) ลงไปในสูตรได้เลย เช่น
=DATE(D4, MATCH(D5,{"JAN","FEB","MAR","APR","MAY", "JUN","JUL","AUG","SEP","OCT","NOV","DEC"},0), D6)

แต่ถ้ามีรายการที่จะเปรียบเทียบเป็นจำนวนมาก วิธีการนี้อาจจะไม่สะดวก และการเขียนสูตรก็จะยาวขึ้น จึงต้องพิจารณาในการประยุกต์ใช้ในแต่ละงานด้วย

0 ความคิดเห็น:

แสดงความคิดเห็น