บางคนพบข้อความ "Data source reference is not valid" เมื่อพยายามสร้าง Pivot Table จากช่วงข้อมูล (range) ใน Excel ข้อผิดพลาดนี้พบในหลายเวอร์ชัน Excel และ Windows — ไม่เฉพาะ OS หรือเวอร์ชัน Excel

สาเหตุของข้อผิดพลาด "Data source reference is not valid" ใน Excel
จากการสืบสวนรายงานผู้ใช้และขั้นตอนแก้ไข พบสาเหตุหลักดังนี้:
- ชื่อไฟล์ Excel มีวงเล็บเหลี่ยม [] — Pivot Table ไรองรับอักขระห้ามบางตัว หนึ่งสาเหตุยอดนิยมคือชื่อไฟล์มี '[' หรือ ']' แก้ได้โดยแก้ชื่อไฟล์ ลบวงเล็บเหลี่ยมออก
- ไฟล์ Excel ไม่ได้บันทึกบน Local Drive — พยายามสร้าง Pivot Table จากไฟล์ที่เปิดตรงจากเว็บไซต์หรือ Email attachment ไฟล์จะเปิดจาก Temporary folder ที่มี permission ต่างจากโฟลเดอร์ปกติ แก้ได้โดย Save .xlsx ไปที่ Local Drive ก่อน
- Pivot Table อ้างอิง Range ที่ไม่มีอยู่ — Range ที่ไม่ได้กำหนด (undefined) ก็ก่อให้ข้อผิดพลาดนี้ แก้ได้โดยกำหนด Range ก่อนสร้าง PivotTable
- Data source อ้างอิง Named Range ที่มี Reference ไม่ถูกต้อง — Range กำหนดแล้วแต่อ้างอิงค่าที่ไม่ถูกต้อง ใช้ Name Manager ระบุและแก้ไขค่า Reference
ลองวิธีแก้ด้านล่างตามลำดับ
วิธีที่ 1: ลบวงเล็บเหลี่ยมออกจากชื่อไฟล์
สาเหตุยอดนิยมคือชื่อไฟล์ Excel ผิด ถ้าระบบรายงานสร้างชื่อไฟล์อัตโนมัติและมี [] อยู่ จะได้ข้อผิดพลาดนี้ตอนสร้าง PivotTable
ขั้นตอน:
- ปิดหน้าต่าง Excel ที่เปิดไฟล์นั้นอยู่ (เปิดอยู่ rename ไม่ได้)
- เปิด File Explorer ไปที่ไฟล์ Excel คลิกขวา Rename
- ลบวงเล็บเหลี่ยม [] ออกจากชื่อไฟล์

- ลองสร้าง Pivot Table ใหม่ ทดสอบ
หายังไม่ได้ ให้ลองวิธีถัดไป
วิธีที่ 2: บันทึกไฟล์ลง Local Disk ก่อน
ปัญหาเกิดหากเปิดไฟล์ตรงจากเว็บหรือ Email attachment จะเปิดจาก Temporary file ก่อให้ข้อผิดพลาดนี้
แก้ได้โดย Save ไฟล์ Excel ไปที่ Local Drive ก่อน: File > Save as บันทึกที่ตำแหน่งจริงบนเครื่อง
บันทึกเสร็จ ลองสร้าง Pivot Table ใหม่ ดูว่าผิดพลาดหายหรือยัง
วิธีนี้ไม่ได้ผล ให้ลองวิธีถัดไป
วิธีที่ 3: ตรวจสอบว่า Range มีอยู่จริงและถูกกำหนดแล้ว
สาเหตุอีกอย่างคือ Range ไม่มีอยู่จริงหรือยังไม่ได้ Define
ตัวอย่าง: สร้าง PivotTable เลือก Select a table or range ตั้ง Table/Range เป็น 'test' แต่ range 'test' ไม่ได้ถูกสร้างไว้ จะได้ข้อผิดพลาดทันทีที่กด OK
แก้ได้โดย Define Range ก่อนสร้าง Pivot Table:
- คลิกแท็บ Formulas > Name Manager
- ใน Name Manager คลิก New ตั้งชื่อ Range ที่จะสร้าง ใช้กล่อง Refers to เลือกเซลล์ที่ต้องการ (พิมพ์เองหรือใช้ selector)
- ตอนนี้ Range ถูกกำหนดแล้ว สร้าง Pivot Table ได้ปกติไม่ผิดพลาด

หายังไม่ได้ ให้ลองวิธีถัดไป
วิธีที่ 4: ตรวจสอบว่า Reference ของ Named Range ถูกต้อง
แม้ Define Range แล้วแต่ยังผิด อาจเป็นที่ Named Range อ้างอิงเซลล์ที่มีค่าไม่ถูกต้อง
แก้ได้โดยไป Formulas > Name Manager ดูว่า Range อ้างอิงเซลล์ที่ต้องการวิเคราะห์จริงๆ หรือไม่ หาผิด ใช้กล่อง Refers to: แก้ให้ถูกต้อง
แก้เสร็จ ลองสร้าง Pivot Table ใหม่ ทดสอบ