แปลง Invoice OCR เป็น Database พร้อมใช้ ด้วย Excel VBA

ในโลกที่ข้อมูลจาก PDF ถูกแปลงผ่าน OCR แล้วกระจัดกระจายไปหลายหมื่นบรรทัดอย่างไร้รูปแบบ—จะมีใครคิดว่า Excel ธรรมดา ๆ จะสามารถจัดการสิ่งเหล่านี้ได้อย่างสง่างาม?

🎯 ปัญหาที่พบ

  • ข้อมูลต้นทางมาเป็น ไฟล์ Excel ที่แยกเป็น Invoice แต่ละใบ เรียงต่อกันลงด้านล่าง
  • แต่ละ Invoice มีหลายหน้า และกระจายไปในคอลัมน์ไม่เท่ากัน
  • บางใบมีการ เยื้องเซลล์ไม่ตรงกัน ทั้งซ้ายและขวา
  • ข้อมูลสำคัญบางส่วน เช่น ยอดเงิน หรือ ภาษี อาจอยู่คนละบรรทัดกับรายการหลัก ต้องใช้ ข้อมูลแวดล้อม เพื่อจับคู่และสรุปผล

🛠 วิธีการจัดการ

  1. Loop ทีละใบ Invoice โปรแกรมจะตรวจจับขอบเขตของแต่ละใบ แล้วแยกไปจัดการในพื้นที่เฉพาะ
  2. ลบเซลล์ว่างเพื่อจัดตำแหน่ง ใช้ VBA Loop ลบเซลล์ว่างที่อยู่ด้านหน้า เพื่อขยับข้อมูลให้ตรงกับคอลัมน์เป้าหมาย เช่น บริษัท, วันที่, รายการ, จำนวนเงิน ฯลฯ
  3. วิเคราะห์ข้อมูลแวดล้อม สำหรับข้อมูลที่อยู่คนละบรรทัด เช่น ยอดเงินหรือภาษี โปรแกรมจะใช้ตรรกะในการค้นหาและจับคู่กับรายการที่เกี่ยวข้อง
  4. นำผลลัพธ์ไปวางใน Database หลังจัดระเบียบแล้ว ข้อมูลจะถูกนำไปวางในชีต Database พร้อมใช้งานทันที

🧪 การใช้งาน

ผู้ใช้เพียงแค่นำข้อมูล OCR ที่ได้จาก PDF มาวางในชีตชื่อ Data แล้วคลิกปุ่ม Run ระบบจะทำงานอัตโนมัติ

  • แยก Invoice ทีละใบ
  • จัดตำแหน่งข้อมูลให้ตรง
  • วิเคราะห์ข้อมูลแวดล้อม
  • สร้าง Database ที่ประกอบด้วย:
    • บริษัท
    • วันที่
    • เลขที่
    • รายการ
    • จำนวนหน่วย
    • ราคา
    • จำนวนเงิน
    • ภาษี (ถ้ามี)

🖼 ตัวอย่างภาพประกอบจากระบบ OCR Invoice Processing

🧠 ปรัชญาเบื้องหลัง

นี่ไม่ใช่แค่การเขียน VBA เพื่อจัดการข้อมูล—แต่คือการออกแบบระบบที่ คนทั่วไปใช้ได้จริง ไม่ต้องมีตำแหน่ง ไม่ต้องมีปริญญา แค่มี Excel และใจที่อยากทำให้ข้อมูลมีระเบียบ

Scroll to Top