26 July 2025

เคล็ดลับการใช้ Let ซ้อนใน Lambda เอา Lambda ตั้งชื่อ Formula Name

สูตร Let ช่วยทำให้ a*(b+c) ดีกว่า a*b+a*c ตรงไหน

เดิมสูตร =a*b +a*c จะคิด 3 ครั้ง

ปรับใหม่ =a*(b+c) จะคิด 2 ครั้ง

สั่งให้ Copilot สร้างตัวอย่างตามแบบปกติกับแบบใช้ Let

ตัวอย่างเปรียบเทียบบทคำนวณปกติ vs LET

สมมติในเซลล์
- A1 = 10
- B1 = 5
- C1 = 3

สูตรปกติ (คำนวณซ้ำ)

`
=A1 * B1
+A1 * C1
`

- คำนวณ A1*B1 = 50
- คำนวณ A1*C1 = 30
- บวกผลลัพธ์ 50+30 = 80
- มี 2 ครั้งการคูณ และ 1 ครั้งการบวก รวม 3 การคำนวณ

สูตรใช้ LET

`
=LET(
a, A1,
sumBC, B1 + C1,
a * sumBC
)
`

- กำหนดตัวแปร a = A1 (10)
- คำนวณ sumBC = B1 + C1 = 8
- คูณ a sumBC = 10 8 = 80
- มี 1 ครั้งการบวก และ 1 ครั้งการคูณ รวม 2 การคำนวณ

---

สรุปเปรียบเทียบ

สูตรในเซลล์
=A1B1 + A1C1
vs
=LET(a,A1,sumBC,B1+C1,a*sumBC)

50 + 30 = 80 (2 คูณ + 1 บวก)
vs
8 * 10 = 80 (1 บวก + 1 คูณ)

จำนวน operation | 3 vs 2
การอ้างอิง A1 | 2 ครั้ง vs 1 ครั้ง

---

การใช้ LET จึงช่วยลดงานคำนวณซ้ำ – ยิ่งสูตรซับซ้อนหรือเรียกฟังก์ชันหนักๆ หลายครั้ง ความต่างจะยิ่งชัดเจนขึ้นครับ  

เคล็ดลับการใช้ Let ซ้อนใน Lambda เอา Lambda ตั้งชื่อ Formula Name 

จากสมการ =a(b+c)
ตามภาพ ใช้สูตร Let เพื่อตั้งชื่อตัวแปรให้ a รับค่ามาจาก A1 และ ชื่อตัวแปร sumBC รับค่ามาจาก B1+C1 จากนั้นหาผลลัพธ์ได้จาก a * sumBC

=LET(a, A1,
sumBC, B1+C1,
a * sumBC)

การสร้างสูตรให้อ่านได้ง่าย ควรกดปุ่ม ALT+Enter เพื่อแยกแต่ละขั้นออกเป็นแต่ละบรรทัด และตั้งชื่อตัวแปรให้สื่อถึงความหมายจะได้เข้าใจได้ง่ายขึ้น

แม้สูตร Let นี้จะช่วยทำให้ Excel ลดขั้นตอนการคำนวณได้ดีกว่าสมการ =ab+ac แต่ยังมีข้อจำกัดว่าสูตรยังต้องอ้างอิงจากเซลล์ A1, B1, C1 ไว้เสมอ ไม่สามารถนำสูตรไปใช้กับโครงสร้างอื่น

สูตร Lamba จะช่วยทำให้สูตร Let นำไปใช้ทำงานได้ทุกที่ โดยลอกสูตรนี้ ไปใส่ลงในคำสั่ง Name manager เพื่อสร้างเป็น Formula Name

ตั้งชื่อสูตร
TotalCost
=LAMBDA( a, b, c, LET(sumBC, b+c, a*sumBC) )


 

จากนั้นเมื่อต้องการใช้ให้กดปุ่ม F3 แล้วสร้างสูตรตามนี้ลงไป
=TotalCost(A3,B3,C3)
หรือใช้ตำแหน่งเซลล์ที่ลงก์มาจากที่ใดก็ได้
=TotalCost(A12,B13,C14)

ถ้าไม่อยากนำ =LAMBDA(a,b,c,LET(sumBC,b+c,a*sumBC) ไปตั้งชื่อ ต้องใช้แบบนี้

=LAMBDA(a,b,c,LET(sumBC,b+c,a*sumBC))(A12,B13,C14) 

Download ตัวอย่างได้จาก https://drive.google.com/file/d/1ocG7BMocTgB7iqZfqJz9QsdJBQKl4e7X/view?usp=sharing

หวังว่าตัวอย่างนี้จะช่วยทำให้เข้าใจ 2 สูตรนี้ได้ง่ายขึ้นนะครับว่ามีหลักการอย่างไร

==================================== 

ลองทำความเข้าใจดูครับ ผมพยายามหาตัวอย่างง่ายๆมาดูกันครับ
 
ว่าไปแล้ว 2 สูตรนี้ช่วยในการซ้อนสูตรนั่นแหละ เพียงแต่ว่าแทนที่จะปล่อยให้ซ้อนต่อๆกันไปเลย ให้ตั้งชื่อตัวแปรให้กับแต่ละขั้นของการคำนวณจะได้เข้าใจว่าคำนวณอะไรกัน แล้วจึงนำตัวแปรมาประกอบร่างกันเป็นสูตรทั้งหมด
 
ทำให้ถึงที่สุดคือต้องนำไปตั้งเป็นชื่อครับ จะได้นำไปใช้ต่อที่ไหนก็ได้ ไม่ควรนำ Lambda ไปใช้โดดซึ่งมีแต่จะทำให้เคนสร้างคนเดียวเท่านั้นที่เข้าใจ กลายเป็นการอวดฝีมือกันว่าข้าแน่
 

No comments:

Post a Comment

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