ปรกติวิธีที่นิยมใช้คือ ใช้การกรองข้อมูล แต่สำหรับการกรองข้อมูลนั้นก็มีข้อจำกัดอยู่เช่น เงื่อนไขมากสุดที่สามารถกรองได้คือ 8 เงื่อนไข แต่หากเราต้องการทราบว่าข้อมูลที่เราต้องการอยู่ที่ record ใดบ้าง โดยใช้ฟังก์ชันต้องทำอย่างไร
ผมทำโดยการนำฟังก์ชัน match มาประยุกต์ใช้ในงานนี้ จริงๆ แล้วอาจจะมีอีกหลายวิธีที่ทำให้ได้ผลลัพธ์เหมือนกัน แต่ครั้งนี้ขอเสนอเป็นฟังก์ชัน match ละกันครับ
เริ่มจากข้อมูลตัวอย่าง
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx2_uojg2MBUbiHbU5rLgS-20n3ttv8LPSCQM1Kq2RiP-krhQ13BRbFNw7MaSInTSI33osh9uJTsGjiCSIfUAWh3_P3UIxYL9AI7jsy-BEOWPJJq5ZeuQqi6HCHWrdsrxvzNzyPx2NUu75/s320/match1.jpg)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQP5vjBInZdaaOdJOsOSNvM3GrRsRkZTahLIhb6MYgqG6YfGvQ87neEUxnI3ezhhUM8OFMlTcc8m4llcukXGBTfa_gW8bjmIYjPSWW1akwWIiCWka1VNtqxLoNN8wGx12odMBwBlT-hTQI/s320/match2.jpg)
พิมพ์ =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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioEupfIlbIGZu0glQukqNUIhhY_szSdT6e1XMmqVqSAzNrkCbcPYWUX2BN4gv5nf6WPmu95dGfnEsQJhSulKlTLLe4GR2KzBvk02yxKhegCfgax2QbWTZRP25nSHDWMh-p8ywfq3aIjnzi/s320/match3.jpg)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น