วันอังคารที่ 19 เมษายน พ.ศ. 2554

การค้นหาด้วยฟังก์ชัน Match บน LibreOffice

การค้นหาข้อมูลใน LibreOffice ทำได้หลายแบบ หากต้องการค้นหาเพียงแค่การ search ก็ใช้คำสั่ง find & replace ได้ แต่สำหรับการค้นหาว่าข้อมูลที่ต้องการอยู่ที่ record ใดบ้างจะต้องทำอย่างไร

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

ผมทำโดยการนำฟังก์ชัน match มาประยุกต์ใช้ในงานนี้ จริงๆ แล้วอาจจะมีอีกหลายวิธีที่ทำให้ได้ผลลัพธ์เหมือนกัน แต่ครั้งนี้ขอเสนอเป็นฟังก์ชัน match ละกันครับ

เริ่มจากข้อมูลตัวอย่าง
ตัวอย่างหากต้องการทราบว่าผู้ใช้บริการที่ชื่อทาทัต กับแทนไท มีอยู่ในรายการใดบ้าง วิธีการค้นหาโดยใช้ฟังก์ชัน match
คอลัมน์ B คือคอลัมน์ที่เป็นข้อมูลที่จะเข้าไปค้นหา ส่วนคอลัมน์ F เป็นข้อมูลจะใช้เป็นเงื่อนไขในการค้นหา ส่วนคอลัมน์ D เป็นคอลัมน์ที่แสดงผลลัพธ์ในการค้นหา

พิมพ์ =MATCH(B2,$F$2:$F$3,0) ลงใน cell D2 หลังจากนั้นให้ทำ AutoFill ลงมายังช่องด้านล่างต่อไป เพื่อค้นหาว่าคอลัมน์ B แต่ละ record มีข้อความที่ต้องการค้นหาหรือไม่

เมื่อพบข้อความตามที่ต้องการ จะแสดงผลลัพธ์เป็นหมายเลข ในที่นี้หมายเลข 1 จะปรากฎเมื่อพบชื่อ "ทาทัต" หมายเลข 2 จะปรากฎเมื่อพบชื่อ "แทนไท" ตามข้อมูลที่ใช้ในการค้นหา ส่วนข้อมูลที่ไม่ได้ใช้ในการค้นหา หรือหาไม่พบ จะขึ้นเป็ฯ #N/A

หากไม่ต้องการให้ปรากฎข้อความ #N/A ให้พิมพ์ฟังก์ชันนี้แทน =IF(ISNA(MATCH(B2,$F$2:$F$3,0)),"",MATCH(B2,$F$2:$F$3,0)) เพื่อเช็คไม่ให้แสดงผล #N/A

ไม่มีความคิดเห็น:

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