28 August 2025

Excel 365 Dashboard ตอนที่ 7 (Season 2) Step 1-3

 
เริ่มต้นสร้างแฟ้มใหม่ คราวนี้ใช้ทุกอย่างที่ Excel 365 มีให้เต็มที่ โดยแบ่งชีทเพื่อแสดงขั้นตอนการสร้างให้เรียนกันได้อย่างชัดเจน

👉 Step 1 สร้างตารางฐานข้อมูล

โดยตั้งชื่อ Range Name และกำหนดให้เป็น Table ไว้รองรับกับการเพิ่มรายการในอนาคต


👉 Step 2 หารายการ Unique


แทนที่จะใช้สูตรซ้อนกัน =Sort(Unique(DataRange))
เปลี่ยนมาใช้สูตร Lambda เพื่อย่อสูตรให้สั้นลงเหลือเพียง =SUniq(DataRange)

โดยใช้เมนู Formulas > Name Manager > New
ตั้งชื่อสูตร SUniq
Refers to : =LAMBDA( rng, SORT( UNIQUE( rng )))

☝️ Lambda เป็นสูตรใหม่ที่ช่วยให้ตั้งชื่อสูตรใหม่ ช่วยทำให้สูตรยาวๆที่ซ้อนกันสั้นลงกลายเป็นชื่อสูตรสั้นๆ โดยไม่จำเป็นต้องใช้ VBA มาช่วยสร้างเป็น Function Procedure อีกต่อไป ทำให้สามารถใช้สูตรได้ทุกที่ทุกชีทในแฟ้มและนำแฟ้มไปใช้แบบออนไลน์ได้ด้วย

พอหารายการที่เป็น Unique ได้แล้วให้ตั้งชื่อเพื่อเตรียมใช้ทำเป็น List โดยอ้างอิงพื้นที่แบบ # เพื่อรับรู้ถึงรายการที่อาจจะมีเพิ่มขึ้นอีกในอนาคต

👉 Step 3 สร้างช่องสำหรับให้ผู้ใช้คลิกเลือกสิ่งที่ต้องการหา


โดยใช้คำสั่ง Data > Validation แบบ List อ้างอิงกับชื่อที่ตั้งไว้ใน Step 2 แล้วใช้ Conditional Formatting เตือนด้วยสีแดงหากมีการคลิกเลือกซ้ำ

ผมเขียนขั้นตอนการสร้างไว้ในแต่ละชีทเรียบร้อยแล้วด้วย พร้อมสำหรับนำไปแกะตามว่าทำมาได้ยังไง

Download ตัวอย่างแสดงขั้นตอน 1-3
https://drive.google.com/file/d/1MDlezPUCVhxko6RQ-SE6SgvPdhTsOD77/view?usp=sharing

++++++++++++++++++++++++++++ 

ตัวอย่างการใช้ Lambda แบบง่ายๆ

https://drive.google.com/file/d/12a-PF_g4vWx-PMFS4XxOok2LaZdPRoso/view?usp=sharing

ชื่อตัวแปรในวงเล็บของสูตร อย่าไปใช้ชื่อเซลล์หรือ Range Name ที่ตั้งไว้ครับ ให้ตั้งชื่อตัวแปรด้วยอะไรก็ได้ที่พออ่านแล้วเดาไว้ว่าอะไร เช่น 
 
=Lambda(CellA, CellB, CellC, CellA+CellB+CellC)
 
จากนั้นเวลาใช้งานมี 2 ทาง คือใช้ตรงๆหรือนำไปตั้งชื่ออีกที
 
ถ้าใช้ตรงๆ =Lambda(CellA, CellB, CellC, CellA+CellB+CellC)(A10,B12,C25)
จะบวก 3 เซลล์ A10+B12+C25 หรือจะอ้างอิงจากเซลล์อื่นแทนก็ได้
 
ถ้านำไปตั้งชื่อสูตรนี้ว่า SumAll3
เวลาใช้งานก็สร้างสูตรว่า =SumAll3(A10,B12,C25)
 

 
 

+++++++++++++++++++++++++++

Lambda คืออะไร ใช้ทำอะไร Copilot ช่วยแนะนำครับ
.
สูตร **LAMBDA** ใน Excel 365 คือหนึ่งในฟีเจอร์ที่ทรงพลังที่สุดสำหรับคนที่ชอบออกแบบสูตรให้ reusable, สั้นลง, และเข้าใจง่าย—โดยไม่ต้องพึ่ง VBA เลยแม้แต่นิดเดียว 😎
.
---
.
### 🔍 LAMBDA คืออะไร?
**LAMBDA** ช่วยให้คุณสร้าง “สูตรที่ตั้งชื่อเองได้” เหมือนฟังก์ชันส่วนตัว
คุณสามารถใช้มันซ้ำได้ทุกชีท ทุกเซลล์ โดยไม่ต้องเขียนสูตรยาว ๆ ซ้ำไปซ้ำมา
.
---
.
### 🧠 โครงสร้างพื้นฐาน:
```excel
=LAMBDA(parameter1, parameter2, ..., calculation)
```
.
- `parameter1`, `parameter2`, ... คือค่าที่จะส่งเข้าไปในสูตร
- `calculation` คือสิ่งที่สูตรจะคำนวณโดยใช้พารามิเตอร์เหล่านั้น
.
---
.
### 🎯 ตัวอย่างง่าย:
```excel
=LAMBDA(x, x^2)
.```
สูตรนี้รับค่า `x` แล้วคืนค่า x ยกกำลังสอง
ถ้าคุณตั้งชื่อสูตรนี้ว่า `Square`, ก็สามารถใช้แบบนี้ได้เลย:
```excel
=Square(5) → ผลลัพธ์คือ 25
```
.
---
.
### 🧁 ตัวอย่างที่คุณใช้ใน Dashboard:
```excel
=LAMBDA(rng, SORT(UNIQUE(rng)))
```
- รับช่วงข้อมูล `rng`
- คืนค่าที่ไม่ซ้ำ (`UNIQUE`) แล้วเรียง (`SORT`)
- ตั้งชื่อว่า `SUniq` แล้วใช้แบบนี้:
```excel
=SUniq(tblData[Category])
```
.
---
.
### 💡 ทำไมมันดีสำหรับ Dashboard แบบ Exception-Driven?
- คุณสามารถตั้งชื่อสูตรที่สื่อความหมาย เช่น `ValidCities`, `FilteredProducts`, `YearMonthList`
- ลดความซับซ้อนของสูตรในเซลล์ให้เหลือแค่ชื่อฟังก์ชัน
- ทำให้สูตรอ่านง่ายขึ้นเมื่อสอนหรือแชร์ให้คนอื่น
- รองรับการเปลี่ยนแปลงข้อมูลแบบ Dynamic ได้ดีมาก
.
---
.
### 🧪 ต่อยอดได้อีก:
คุณสามารถใช้ `LET` ร่วมกับ `LAMBDA` เพื่อจัดการหลายขั้นตอนในสูตรเดียว เช่น:
.
```excel
=LAMBDA(rng,
LET(
cleaned, UNIQUE(FILTER(rng, rng<>"")),
sorted, SORT(cleaned),
sorted
)
)
```
.
แบบนี้จะกรองค่าว่างก่อน แล้วค่อย `UNIQUE` และ `SORT`—เหมาะกับการทำ List สำหรับ Data Validation
.
---

 

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.