VLOOKUP เป็นคำสั่งหรือ Function ของ Microsoft Excel ในการค้นหาค่าในตารางตามแนวแถว จะมีลักษณะคล้ายการ Join ข้อมูลโดยมีตัวเชื่อมเป็นค่าที่ใช้ค้นหา ดังตัวอย่างเรามีตารางของ "โรงงานและที่อยู่" และ "ที่อยู่และรหัสไปรษณีย์" เราต้องการหา รหัสไปรษณีย์ของแต่ละโรงงาน โดยใช้ที่อยู่ของโรงงาน จากตารางโรงงานและที่อยู่ ไปหาในตารางที่อยู่และรหัสไปรษณีย์(ข้อมูลที่นำมาใช้จาก data.go.th ข้อมูลโรงงานประเภท 101, 105 และ 106)ใช้คำสั่ง VLOOKUP โดยพิมพ์คำสั่งลงไปที่ช่องหรือ Cells ดังนี้=VLOOKUP([ช่องที่ใช้เป็นคำค้น], [ตารางที่ต้องการค้น], [เลขคอลัมน์ของตารางที่ใช้แสดงผล], [ใช้แบบประมาณการ (เร็ว)])จากตัวอย่างเราสามารถใส่ ชื่อช่องหรือเซลล์ได้ดังนี้=VLOOKUP(C5, G5:H714, 2, FALSE)C5 คือ Cell ที่มี ที่อยู่ ของโรงงานG5:H174 คือ Cell ที่ช่องตารางที่อยู่และรหัสไปรษณีย์ที่ใช้ค้นหา2 คือ เลขคอลัมน์ของตารางที่ใช้แสดงผล ซึ่งก็คือ รหัสไปรษณีย์ หรือคอลัมน์หมายเลข H (หากใส่เป็นหนึ่งจะแสดงชื่อ ที่อยู่ คอลัมน์ G)FALSE คือ การค้นหาแบบถูกต้อง 100% Exact Match (ถ้า TRUE จะเป็นการประมาณการ จะได้ผลลัพธ์เร็วกว่า แต่มีโอกาสที่ข้อมูลผิดพลาด)ผลลัพธ์ที่ได้เป็นดังภาพเราสามารถ Copy cell ที่เราใส่คำสั่งให้ครบทุกช่องได้ รหัสไปรษณีย์จาก "ตารางที่อยู่ และ รหัสไปรษณีย์" จะมาถูก match ใน "ตารางโรงงานและที่อยู่" ข้อสังเกต- หากข้อมูลในตารางที่ใช้ค้นหามีข้อมูลซ้ำกัน ผลลัพธ์จะเป็นผลลัพธ์แรกในตาราง ดังภาพตัวอย่าง ที่ผลลัพธ์ของ บางเสาธง คือ 10240- VLOOKUP จะหากหาข้อมูลที่จะ match ได้ไม่พบจะแสดง #N/Aการใช้คำสั่ง VLOOKUP สามารถนำไปใช้ได้หลากหลายรูปแบบ หากมีการฝึกใช้อย่างอย่างได้อย่างชำนาญ จะทำให้สามารถนำมาดัดแปลงในการจัดการข้อมูลได้หลากหลายVLOOKUP แบบเร็วการใช้ VLOOKUP แบบเร็วคือการใส่ TRUE ใน Parameter สุดท้าย เช่น =VLOOKUP(C5, G5:H714, 2, TRUE) จะเป็นการกำหนดให้ VLOOKUP ค้นหาแบบเร็ว ซึ่งจะเร็วกว่า FALSE ซึ่งเป็น Exact Match อย่างมาก แต่ก็มีข้อเสียค่อนข้างมาก เพราะเป็นการประมาณและมีวิธีคิดที่ต่างออกไป คือ1. ข้อมูลที่จะให้จับ Match ในตารางจำเป็นต้องมีการเรียงลำดับจากน้อยไปมาก เช่น หากลองจาก FALSE เป้น TRUE จากตารางด้านบนที่ทำก่อนหน้านี้ (จะเห็นว่ามีการเปลี่ยนตัวเลข ในกรณีค่าในตารางซ้ำ จะเลือกเป็นตัวสุดท้ายแทน)เมื่อเราลองเปลี่ยนลำดับของ ที่อยู่ ในตาราง ที่อยู่และรหัสไปรษณีย์ เป็น มากไปหาน้อยจะพบว่า ผลลัพธ์จะกลายเป็นไม่พบค่า #N/A ทันที และบางตัวค่ารหัสไปรษณีย์ก็รวนไปหมด2. หากตารางที่ใช้หามีการเรียงลำดับจากน้อยไปหามากแล้ว แต่คำที่ใช้ค้นเป็นค่าที่ไม่มีในตาราง ผลลัพธ์ที่ได้จะเอาค่าที่ใกล้เคียงมาแทน (จากเดิมที่ถ้าเป็น Exact Match จะตอบว่าหาไม่เจอ #N/A) เช่น เราเปลี่ยนค่าให้จังหวัด สมุทรปราการ เป็น สมุทรปราการ1 ผลลัพธ์ที่ได้ก็ยังเป็นรหัสไปรษณีย์แบบเดียวกับที่ เป็น สมุทรปราการเดิมดังนั้นหากข้อมูลไม่ได้เยอะเกินไปเป็น 10,000+ แถว ควรใช้วิธีแบบ Exact Match หรือใส่ FALSE ที่ parameter สุดท้าย ซึ่งจะได้ความถูกต้องมากกว่า แต่หากมีจำนวนแถวที่มากกว่า 10,000 อาจจะต้องใช้เทคนิคพิเศษเพิ่มเติมขึ้นมาไม่ว่าจะ VLOOKUP แบบ Exact Match หรือ แบบประมาณแบบเร็ว ก็จะเห็นว่ามีประโยชน์อย่างมากที่ทำให้เราสามารถนำข้อมูลมาใช้งานได้มากขึ้นและมีประสิทธิภาพครับ แม้อาจจะต้องเลือกใช้ให้เหมาะสม แลกความเร็วกับความถูกต้อง แต่เราก็ยังมีเทคนิคเพิ่มเติมในคราวหน้า ที่จะทำให้การใช้ VLOOKUP แบบเร็วถูกต้องขึ้นได้ครับ