ข้อมูลมากเกินไป มีตัวเลือกเยอะมากไป เป็นต้นเหตุที่ทำให้กว่าจะค้นหาเจอต้องเสียเวลานาน พอใช้ Pivot ต้องมาใช้ Filter/Slicer ต่ออีก และ Excel คำนวณช้าลงไปเรื่อยๆเมื่อจำนวนรายการเพิ่มขึ้น
ก่อนโน้นสมัยที่ยังไม่ได้ใช้ 365 กว่าจะลดจำนวนรายการลง ต้องฝึกใช้ Power Query หรือใช้ Filter / Advanced filter หรือต้องสร้างสูตรซ้อนกันยาวเหยียดเพื่อเลือกดึงเฉพาะรายการที่เข้าข่ายออกมาใช้ ซึ่งน้อยคนนักที่ใช้เป็น ทำให้ต้องใช้ตารางฐานข้อมูลทั้งตารางเอาไปใช้
ตอนนี้ใน Excel 365 มีสูตรใหม่ เช่น Unique, Sort, Filter ซึ่งจะช่วยทำให้เราเลือกช่วงรายการที่อยากใช้ได้ง่ายมาก ดังนั้นพอเปิดแฟ้มขึ้นมา ในชีทแรกควรทำช่องให้ผู้ใช้แฟ้มคลิกเลือกว่า
1. ต้องการใช้ข้อมูลจากวันที่อะไรถึงวันที่อะไร
2. ต้องการดูหัวข้ออะไรบ้าง สินค้าอะไร ลูกค้ากลุ่มไหน
3. ต้องการดูตัวเลขยอดสูงสุดต่ำสุดบวกลบเท่าไร
ตัวเลือกเหล่านี้หาได้จากสูตร Unique ร่วมกับสูตร Sort จากนั้นใช้ Data Validation แบบ List ทำเป็นช่องให้คลิกเลือก
พอผู้ใช้แฟ้มเลือกเสร็จ สูตร Filter จะช่วยกรองนำเฉพาะรายการที่เข้าข่ายมาให้เท่านั้น
เมื่อข้อมูลถูกคัดเลือกไว้ก่อนแล้ว ย่อมส่งผลทำให้สูตร XLookup/Vlookup หาค่าเจอเสมอ และเวลาจะหาดูอะไรด้วย PivotTable หรือใช้สูตรรุ่นใหม่ PivotBy/GroupBy จะพบรายการที่ต้องการดูได้ทันที
ผมเคยอธิบายทำตัวอย่างให้ดูไว้ที่
Unique
https://excelexpertlibrary.blogspot.com/2025/05/25-2024-excel.html
Filter
https://excelexpertlibrary.blogspot.com/2025/05/filter.html
ถามไว้ในแฟ้มเลยครับ ทุกครั้งที่เปิดแฟ้มขึ้นมาให้เลือกว่าชอบดูอะไร
Concept นี้แหละที่จะทำให้ Dashboards ที่สร้างขึ้นด้วย Excel (หรือแม้แต่ Power BI ถ้าทำได้) จะตรงใจผู้ชมและใช้งานได้ยืดหยุ่นมากขึ้น
++++++++++++++++++++++++++++++++++
Copilot :
นี่คือการอธิบายที่ทั้งเฉียบคมและทรงพลังมาก Somkiat—คุณจับปัญหาคลาสสิกของ Excel ได้อย่างแม่นยำ และเสนอทางออกที่ทั้งทันสมัยและเป็นมิตรกับผู้ใช้ทั่วไปแบบไม่ต้องพึ่งสูตรซ้อนซับหรือเทคนิคเฉพาะทางมากมายอีกต่อไป
เพื่อเสริมให้แนวคิดนี้กลายเป็นระบบที่นำไปใช้ได้จริงและแชร์ต่อได้ง่าย ผมขอช่วยสรุปและจัดโครงสร้างให้เป็นแนวทางที่นำไปสร้างเป็น “ชีทกรองข้อมูลอัจฉริยะ” ได้ทันที:
🧠 ปัญหาที่พบในระบบเดิม
- ข้อมูลเยอะเกินไป ทำให้ค้นหาและใช้งานช้า
- ต้องใช้ Pivot + Slicer/Filter ซ้อนกันหลายชั้น
- Excel คำนวณช้าลงเมื่อรายการเพิ่มขึ้น
- ผู้ใช้ทั่วไปไม่ถนัดสูตรซับซ้อนหรือ Power Query
🚀 แนวทางใหม่ด้วย Excel 365
ใช้สูตร Dynamic Array เช่น UNIQUE
, SORT
, FILTER
ร่วมกับ Data Validation
เพื่อสร้างระบบกรองข้อมูลล่วงหน้า
🛠️ ขั้นตอนการสร้างชีทกรองข้อมูล
1. สร้างตัวเลือกให้ผู้ใช้กรอกหรือเลือก
ตัวเลือกที่ต้องการกรอง | วิธีสร้าง |
---|---|
วันที่เริ่มต้น - สิ้นสุด | ใช้ Data Validation แบบ Date |
หัวข้อ / สินค้า / ลูกค้า | ใช้ UNIQUE + SORT เพื่อสร้างรายการ แล้วใช้ Data Validation แบบ List |
ยอดขายสูงสุด/ต่ำสุด | ช่องกรอกตัวเลข หรือใช้ Slider (ถ้าใช้ VBA เสริม) |
2. สร้างสูตรกรองข้อมูล
=FILTER(ตารางข้อมูล,
(วันที่ >= วันที่เริ่ม) *
(วันที่ <= วันที่สิ้นสุด) *
(หัวข้อ = ตัวเลือกหัวข้อ) *
(ยอด >= ยอดต่ำสุด) *
(ยอด <= ยอดสูงสุด)
)
3. ใช้ข้อมูลที่กรองแล้วกับสูตรอื่น
XLOOKUP
/VLOOKUP
จะทำงานเร็วขึ้น เพราะข้อมูลถูกกรองแล้วPivotTable
หรือสูตรใหม่เช่นGROUPBY
จะเจอข้อมูลที่ต้องการทันที- ลดภาระการคำนวณของ Excel โดยไม่ต้องโหลดทั้งตาราง
🎯 ผลลัพธ์ที่ได้
- ผู้ใช้ไม่ต้องรู้สูตรซับซ้อน ก็เลือกข้อมูลได้ง่าย
- แฟ้มทำงานเร็วขึ้น และลดความเสี่ยงจากสูตรพังหรือข้อมูลไม่ตรง
- สร้างระบบที่ “ออกแบบเพื่อคนอื่นใช้ต่อได้” อย่างแท้จริง
และถ้าจะพูดให้ถึงใจ Power BI ไม่ใช่แค่ “ทำได้” แต่สามารถทำให้ แบบฟอร์มเลือกข้อมูล กลายเป็นประสบการณ์ที่ลื่นไหลและทรงพลังกว่าที่ Excel เคยให้ได้เลยทีเดียว โดยเฉพาะเมื่อคุณต้องการให้ผู้ใช้เลือกช่วงวันที่, กลุ่มสินค้า, ลูกค้า, หรือเงื่อนไขตัวเลขต่าง ๆ แล้วแสดงผลเฉพาะข้อมูลที่ตรงกับเงื่อนไขนั้นทันที
🧩 วิธีสร้าง “แบบฟอร์มเลือกข้อมูล” ใน Power BI
1. 🗓️ ตัวเลือกช่วงวันที่
- ใช้ Slicer แบบ Date Range เพื่อให้ผู้ใช้ลากเลือกวันที่เริ่มต้นและสิ้นสุด
- สามารถตั้งค่าให้เป็น Relative Date (เช่น “7 วันล่าสุด”) หรือแบบ Calendar ก็ได้
2. 📦 ตัวเลือกหัวข้อ / สินค้า / ลูกค้า
- ใช้ Slicer แบบ Dropdown หรือ List โดยเชื่อมกับตารางที่มี
UNIQUE
ค่าเหล่านั้น - ถ้าอยากให้เลือกหลายค่าได้พร้อมกัน ให้เปิด Multi-select
3. 🔢 ตัวกรองตัวเลข (เช่น ยอดขายสูงสุด/ต่ำสุด)
- ใช้ Numeric Slicer ที่ให้ผู้ใช้ลากช่วงตัวเลข หรือกรอกค่าต่ำสุด/สูงสุด
- หรือใช้ What-If Parameter เพื่อสร้างตัวเลื่อนแบบกำหนดค่าเอง
🧠 เบื้องหลังการทำงาน
- Power BI จะใช้ Visual-level filters และ DAX เพื่อกรองข้อมูลตามที่ผู้ใช้เลือก
- ตัวอย่าง DAX ที่ใช้กรองข้อมูลตามช่วงวันที่:
FilteredData =
FILTER(
Sales,
Sales[Date] >= MIN('DateSlicer'[Date]) &&
Sales[Date] <= MAX('DateSlicer'[Date])
)
🎯 ข้อดีเหนือ Excel
จุดเด่น | Power BI | Excel |
---|---|---|
ความเร็วในการกรอง | ✅ สูงมาก | ❌ ช้าลงเมื่อข้อมูลเยอะ |
UI สำหรับผู้ใช้ | ✅ สวยงาม ลื่นไหล | ❌ ต้องใช้สูตร + Data Validation |
การแชร์ | ✅ แชร์ผ่าน Power BI Service ได้ทันที | ❌ ต้องส่งไฟล์หรือใช้ OneDrive |
การควบคุมสิทธิ์ | ✅ กำหนดสิทธิ์ดูข้อมูลได้ | ❌ จำกัดมาก |
ถ้าใช้ Power Query เพื่อสร้าง “แบบฟอร์มเลือกข้อมูล” ก็ทำได้ครับ Somkiat—แต่จะต่างจาก Power BI ตรงที่ Power Query เน้นการ “เตรียมข้อมูลล่วงหน้า” มากกว่าการให้ผู้ใช้เลือกแบบ interactive ทันทีในหน้ารายงาน
แต่ถ้าออกแบบดี ๆ ก็สามารถสร้างระบบที่ให้ผู้ใช้กรอกเงื่อนไขไว้ในชีท แล้ว Power Query ดึงไปใช้เป็นตัวกรองได้อย่างมีประสิทธิภาพ
🧪 แนวทางสร้างแบบฟอร์มกรองข้อมูลด้วย Power Query
1. 🧾 สร้างชีทสำหรับกรอกเงื่อนไข
เช่นชีทชื่อ ParameterSheet
ที่มีช่องให้กรอก:
- วันที่เริ่มต้น (
StartDate
) - วันที่สิ้นสุด (
EndDate
) - กลุ่มสินค้า (
ProductGroup
) - ยอดขายขั้นต่ำ/สูงสุด (
MinSales
,MaxSales
)
ใช้
Data Validation
เพื่อให้กรอกง่ายและลดข้อผิดพลาด
2. 🔄 ดึงค่าพารามิเตอร์เข้า Power Query
ใน Power Query:
- ใช้ฟังก์ชัน
Excel.CurrentWorkbook()
เพื่อดึงค่าจากชีทพารามิเตอร์ - แปลงค่าที่ได้เป็นตัวแปร เช่น:
StartDate = Date.From(Record.Field(ParameterRecord, "StartDate")),
EndDate = Date.From(Record.Field(ParameterRecord, "EndDate")),
3. 🧹 ใช้ตัวแปรกรองข้อมูลหลัก
ในขั้นตอนกรองข้อมูล:
FilteredData = Table.SelectRows(OriginalData, each
[Date] >= StartDate and
[Date] <= EndDate and
[ProductGroup] = SelectedGroup and
[Sales] >= MinSales and
[Sales] <= MaxSales
)
4. 📤 โหลดข้อมูลที่กรองแล้วกลับเข้า Excel
- ตั้งให้โหลดเฉพาะข้อมูลที่ผ่านเงื่อนไขกลับไปยังชีทรายงาน
- ทุกครั้งที่ผู้ใช้เปลี่ยนเงื่อนไขในชีทพารามิเตอร์ ให้คลิก “Refresh” เพื่ออัปเดตข้อมูล
🎯 ข้อดีของแนวทางนี้
จุดเด่น | Power Query |
---|---|
ลดภาระสูตรใน Excel | ✅ ไม่ต้องใช้สูตรซ้อน |
กรองข้อมูลก่อนโหลด | ✅ ทำให้แฟ้มเบา |
ใช้กับข้อมูลหลายแหล่ง | ✅ ดึงจาก CSV, SQL, Web ได้ |
ควบคุมได้ละเอียด | ✅ ใช้เงื่อนไขซับซ้อนได้ |
⚠️ ข้อจำกัด
- ไม่ใช่แบบ interactive ทันทีเหมือน Power BI หรือ Slicer
- ต้อง Refresh เพื่อให้ข้อมูลอัปเดต
- ผู้ใช้ต้องรู้ว่าต้องกรอกเงื่อนไขก่อนรีเฟรช
ถ้าคุณอยากให้ผมช่วยออกแบบชีทพารามิเตอร์ + Power Query ขั้นตอนแบบ reusable หรือทำเป็นโพสต์สอนแบบ “กรองข้อมูลด้วย Power Query แบบมือโปร” ผมพร้อมจัดให้เลยครับ 😄 หรือจะทำเป็น cheat sheet สำหรับแชร์ให้ผู้เรียนก็ได้เช่นกัน!
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.