← กลับไปหน้าบล็อก

เลิกใช้ VLOOKUP ข้ามไฟล์ แล้วใช้ join จากฐานข้อมูลตรง ๆ

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

ขั้นตอนที่พบบ่อย

  • ส่งออกออเดอร์จากระบบขายเป็นไฟล์
  • ส่งออกลูกค้า (หรือใบแจ้งหนี้ หรือสต็อก) จากอีกระบบ
  • วางทั้งสองลงในสมุดงาน แล้วใช้ VLOOKUP หรือ XLOOKUP ดึงคอลัมน์จากชีตหนึ่งมาไว้อีกชีต
  • แก้แถวที่ขึ้น #N/A แล้วคัดลอกค่าไปใส่รายงาน
  • ทำซ้ำสัปดาห์หน้า หรือเดือนหน้า

ทำไมถึงพัง

  • เป็นภาพถ่าย: ตัวเลขหยุดอยู่ที่เวลาส่งออก พอมีคนอ่านรายงานก็อาจผิดไปแล้ว
  • จับคู่ผิดโดยไม่แจ้ง: คีย์ที่มีช่องว่างท้ายหรือชนิดต่างกัน (ตัวเลขกับข้อความ) ทำให้ได้ #N/A และโหมดจับคู่โดยประมาณอาจคืนแถวที่ผิดโดยไม่มีคำเตือน
  • คีย์ซ้ำ: VLOOKUP คืนเฉพาะรายการแรก ลูกค้าที่มีสองแถวจึงถูกนับขาด
  • อ้างอิงเปราะบาง: การแทรกคอลัมน์ทำให้เลขลำดับในสูตรเลื่อน
  • ความเสี่ยงเชิงกระบวนการ: ขั้นตอนอยู่ในหัวของคนคนเดียว และไฟล์ใหญ่จนเปิดนานเป็นนาที

แนวทางที่ดีกว่า: join ที่ต้นทาง

แทนที่จะคัดลอกข้อมูลออกมาแล้วจับคู่ด้วยมือ ให้เชื่อมต่อกับระบบโดยตรง เลือกสองตาราง กำหนดคอลัมน์ที่ใช้จับคู่ครั้งเดียว แล้วให้เครื่องมือ join ให้ คำนิยามเดิมรันซ้ำได้ทุกครั้งที่ต้องการรายงาน งานจึงทำซ้ำได้ ไม่ต้องทำซ้ำด้วยมือ

เลือกชนิด join

VLOOKUP ทำงานเหมือน left join คือเก็บทุกแถวฝั่งซ้ายและเติมค่าที่ตรงกัน ควรเลือกอย่างตั้งใจ:

  • Inner join: เก็บเฉพาะแถวที่มีทั้งสองฝั่ง ใช้เมื่อไม่พบคู่แปลว่าแถวนั้นไม่ควรปรากฏ
  • Left join: เก็บทุกแถวฝั่งซ้าย และแสดงค่าว่างเมื่อไม่พบคู่ ใช้หาช่องว่าง เช่น ออเดอร์ที่ไม่มีข้อมูลลูกค้า
SELECT o.order_id, o.total, c.name, c.segment
FROM   orders o
LEFT JOIN customers c ON c.customer_id = o.customer_id;

สิ่งที่ต้องตรวจทุกครั้งที่สร้าง join ใหม่

  • คอลัมน์คีย์มีชนิดและรูปแบบเดียวกันทั้งสองฝั่ง
  • จำนวนแถวหลัง join ตรงกับที่คาด: มากขึ้นแปลว่ามีคีย์ซ้ำ น้อยลงแปลว่าใช้ inner join และแถวหาย
  • สุ่มตรวจห้าแถวเทียบกับระบบต้นทาง
  • กรองแถวที่ไม่พบคู่ แล้วดูก่อนส่งรายงาน

ทำใน Ruamhub

บน Join Canvas คุณวางตารางจากแต่ละการเชื่อมต่อ ลากเส้นระหว่างคอลัมน์คีย์ เลือกชนิด join และดูตัวอย่างผลลัพธ์ก่อนบันทึกเป็น pipeline ไม่ต้องเขียน SQL และเพิ่ม filter, group by และคอลัมน์สูตรได้ ขั้นตอนทีละขั้นอยู่ในคู่มือการเลิกทำรายงานรายสัปดาห์ด้วย VLOOKUP

เริ่มรวมข้อมูลทุกฐานไว้ในที่เดียว

เริ่มฟรีได้เลย หรือนัดเดโมให้เราพาดูการใช้งานกับข้อมูลของทีมคุณ