ฟังก์ชัน GETPIVOTDATA ใช้สำหรับดึงข้อมูลเฉพาะเจาะจงจาก PivotTable โดยอ้างอิงจากชื่อฟิลด์และเงื่อนไขที่กำหนด แทนที่จะใช้การอ้างอิงเซลล์โดยตรง
ข้อดีของฟังก์ชันนี้คือจะดึงข้อมูลตามโครงสร้างของ PivotTable ไม่ใช่ตำแหน่งเซลล์ ทำให้สูตรยังคงทำงานได้ถูกต้องแม้ว่า PivotTable จะมีการเปลี่ยนแปลงรูปแบบหรือการจัดเรียงข้อมูล เหมาะสำหรับการสร้างรายงานแบบไดนามิกและการวิเคราะห์ข้อมูลที่ต้องการความแม่นยำสูง
=GETPIVOTDATA(data_field, pivot_table, [field1, item1, field2, item2], ...)
=GETPIVOTDATA(data_field, pivot_table, [field1, item1, field2, item2], ...)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| data_field | Text | Yes | ชื่อของฟิลด์ข้อมูลใน PivotTable ที่ต้องการดึงค่า ต้องใส่ในเครื่องหมายคำพูด (เช่น “Sales”, “Total Amount”) | |
| pivot_table | Range | Yes | เซลล์ ช่วงเซลล์ หรือชื่อที่กำหนด (Named Range) ที่อยู่ภายใน PivotTable เพื่อระบุตำแหน่งของ PivotTable ที่ต้องการดึงข้อมูล | |
| field1, item1 | Text | Optional | – | คู่ของชื่อฟิลด์และรายการ (Field และ Item) ที่ใช้กรองข้อมูล สามารถระบุได้ 1-126 คู่ ชื่อฟิลด์และรายการที่ไม่ใช่ตัวเลขหรือวันที่ต้องใส่ในเครื่องหมายคำพูด |
ดึงตัวเลขยอดขายเฉพาะของแต่ละภูมิภาค ผลิตภัณฑ์ หรือพนักงานขายจาก PivotTable โดยไม่ต้องเลื่อนหาข้อมูลในตารางขนาดใหญ่
สร้างรายงานการเงินที่อัพเดทอัตโนมัติเมื่อ PivotTable มีการเปลี่ยนแปลง ช่วยลดข้อผิดพลาดจากการคัดลอกข้อมูลด้วยมือ
ช่วยทีม HR ดึงข้อมูลเงินเดือน ยอดวันลา หรือสtatistics ของแผนกต่างๆ ได้อย่างรวดเร็วและแม่นยำ
สร้าง Dashboard ที่ดึงข้อมูลจาก PivotTable แบบ Dynamic โดยสูตรจะปรับตัวอัตโนมัติเมื่อมีการเปลี่ยนแปลงข้อมูล
GETPIVOTDATA("Sales", PivotTable!$B$4, "Product", "Hazelnut")สูตรนี้จะดึงยอดขายรวม (Sales) ของสินค้า Hazelnut จาก PivotTable ที่อยู่ในช่วง $B$4
ผลลัพธ์: 62,456 บาท ซึ่งเป็นยอดขายรวมของสินค้า Hazelnut
หมายเหตุ: ชื่อฟิลด์ "Sales" และ "Product" รวมถึงชื่อสินค้า "Hazelnut" ต้องใส่ในเครื่องหมายคำพูด
=GETPIVOTDATA("Sales", PivotTable!$B$4, "Product", "Hazelnut")
62456
GETPIVOTDATA("Total Sales", SalesPivot!$A$1, "Region", "East", "Product", "Laptop")สูตรนี้จะดึงยอดขายรวม (Total Sales) ของผลิตภัณฑ์ Laptop ในภูมิภาค East จาก PivotTable
การใช้หลายคู่ field-item ช่วยให้สามารถกรองข้อมูลได้แม่นยำมากขึ้น
ผลลัพธ์: 450,000 บาท คือยอดขาย Laptop ในภูมิภาค East
=GETPIVOTDATA("Total Sales", SalesPivot!$A$1, "Region", "East", "Product", "Laptop")
450000
GETPIVOTDATA("Average Revenue", ReportPivot!$C$3, "Month", "January", "Year", 2025)สูตรนี้จะดึงค่ารายได้เฉลี่ย (Average Revenue) ของเดือนมกราคม (January) ปี 2025
สังเกตว่าค่าปี 2025 เป็นตัวเลข จึงไม่ต้องใส่เครื่องหมายคำพูด ในขณะที่ชื่อเดือน "January" ต้องใส่เครื่องหมายคำพูด
ผลลัพธ์: 125,000 บาท คือรายได้เฉลี่ยในเดือนมกราคม 2025
=GETPIVOTDATA("Average Revenue", ReportPivot!$C$3, "Month", "January", "Year", 2025)
125000
GETPIVOTDATA("Orders", PivotTable!$A$3, "Order Date", DATE(2025,3,15))เมื่อทำงานกับวันที่ใน GETPIVOTDATA ควรใช้ฟังก์ชัน DATE() หรือ Serial Number เพื่อให้ทำงานได้ถูกต้องในทุก Locale
สูตรนี้จะดึงจำนวนออเดอร์ที่เกิดขึ้นในวันที่ 15 มีนาคม 2025
การใช้ DATE(2025,3,15) จะแปลงวันที่เป็น Serial Number ที่ Excel เข้าใจได้
=GETPIVOTDATA("Orders", PivotTable!$A$3, "Order Date", DATE(2025,3,15))
จำนวนออเดอร์ในวันที่ 15 มีนาคม 2025
GETPIVOTDATA ดึงข้อมูลตามโครงสร้างและชื่อฟิลด์ของ PivotTable ไม่ใช่ตำแหน่งเซลล์ ดังนั้นแม้ว่า PivotTable จะมีการเปลี่ยนรูปแบบ เรียงลำดับใหม่ หรือกรองข้อมูล สูตรก็ยังคงดึงข้อมูลได้ถูกต้อง ในขณะที่การอ้างอิงเซลล์โดยตรง (เช่น =B5) จะผิดพลาดเมื่อ PivotTable เปลี่ยนแปลง
Excel สร้างสูตร GETPIVOTDATA อัตโนมัติเพื่อให้แน่ใจว่าสูตรจะทำงานได้ถูกต้องแม้ PivotTable จะเปลี่ยนแปลง หากต้องการหลีกเลี่ยงพฤติกรรมนี้และต้องการอ้างอิงเซลล์โดยตรง ให้พิมพ์ที่อยู่เซลล์ด้วยตนเอง (เช่น =B5) แทนการคลิกเซลล์
ข้อผิดพลาด #REF! เกิดขึ้นเมื่อ: 1) ตำแหน่ง pivot_table ที่ระบุไม่ได้อยู่ใน PivotTable จริง, 2) ฟิลด์หรือรายการที่ระบุไม่ปรากฏใน PivotTable (อาจถูกกรองออก), 3) ชื่อฟิลด์หรือรายการสะกดผิด ให้ตรวจสอบว่าชื่อฟิลด์และรายการสะกดถูกต้องและปรากฏอยู่ใน PivotTable
ได้ GETPIVOTDATA รองรับ OLAP PivotTables โดยสามารถใช้ชื่อ dimension และ item source ในรูปแบบ hierarchical เพื่อดึงข้อมูลจาก OLAP cube ได้อย่างแม่นยำ
ได้ ไปที่ File > Options > Formulas แล้วยกเลิกการเลือก “Use GetPivotData functions for PivotTable references” หลังจากนั้นเมื่อคลิกเซลล์ใน PivotTable จะได้สูตรอ้างอิงเซลล์ธรรมดาแทน GETPIVOTDATA