14 August 2025

ถามไว้ในแฟ้มที่ใช้ Excel 365 / Power BI "อยากดูอะไรใน Dashboard บ้างครับ" คำถามที่ถึงเวลาถามได้แล้ว

ข้อมูลมากเกินไป มีตัวเลือกเยอะมากไป เป็นต้นเหตุที่ทำให้กว่าจะค้นหาเจอต้องเสียเวลานาน พอใช้ 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.