เคยต้องพิมพ์สูตรยาวๆ ซ้ำๆ ในหลายเซลล์ หลายชีท จนเหนื่อยและกลัวพิมพ์ผิดไหมครับ ฟังก์ชัน LAMBDA ใน Excel 365 ช่วยแก้ปัญหานี้ได้ตรงจุด เพราะเปิดให้เรา “สร้างสูตรของตัวเอง ตั้งชื่อเอง” แล้วเรียกใช้ซ้ำได้ทั้งไฟล์ เหมือนมีสูตรพิเศษเฉพาะงานของเราเองโดยไม่ต้องจำหรือพิมพ์สูตรยาวๆ ทุกครั้ง บทความนี้จะพาไปรู้จัก LAMBDA แบบเข้าใจง่าย ไม่ใช้ศัพท์เขียนโปรแกรมหนักๆ
LAMBDA คืออะไร เข้าใจง่ายๆ ในประโยคเดียว
ลองนึกภาพว่าปกติเวลาคำนวณอะไรซ้ำๆ เราต้องพิมพ์สูตรยาวเดิมซ้ำทุกเซลล์ที่ต้องการผลลัพธ์ LAMBDA คือการ “ห่อ” สูตรที่พิมพ์บ่อยๆ นั้นไว้เป็นก้อนเดียว กำหนดว่าจะรับค่าอะไรเข้ามาบ้าง (เรียกว่าพารามิเตอร์) แล้วเอาค่านั้นไปคำนวณตามสูตรที่เรากำหนดไว้ รูปแบบพื้นฐานคือ
=LAMBDA(พารามิเตอร์, สูตรที่ใช้พารามิเตอร์นั้น)
เช่น ถ้าต้องการคำนวณภาษี 7% จากราคาสินค้าคูณจำนวนชิ้น สามารถเขียนเป็น =LAMBDA(x, y, x*y*0.07) ได้เลย โดย x คือราคาต่อชิ้น และ y คือจำนวนชิ้นที่เรากำหนดเอง
=LAMBDA(x,y,x*y*0.07)(100,5)| A | B | C | |
|---|---|---|---|
| 1 | ราคา/ชิ้น | จำนวน | ภาษี 7% |
| 2 | 100 | 5 | 35 |
สังเกตว่าท้ายสูตร LAMBDA เราใส่วงเล็บ (100,5) ต่อท้ายทันที นั่นคือการ “เรียกใช้” สูตรที่เพิ่งสร้าง พร้อมส่งค่า 100 กับ 5 เข้าไปแทน x และ y ได้ผลลัพธ์ 35 ทันทีในเซลล์เดียว โดยยังไม่ต้องตั้งชื่ออะไรเลย
จุดเด่นตัวจริงของ LAMBDA: ตั้งชื่อแล้วเรียกใช้ซ้ำได้ทั้งไฟล์
การพิมพ์ =LAMBDA(...) ยาวๆ ทุกครั้งยังไม่สะดวกเท่าไหร่ จุดที่ทำให้ LAMBDA มีประโยชน์จริงคือการ ตั้งชื่อ สูตรนั้นไว้ แล้วเรียกใช้ผ่านชื่อสั้นๆ ได้จากทุกเซลล์ในไฟล์ เหมือนเรามีฟังก์ชันของตัวเองเพิ่มเข้าไปใน Excel เลยครับ วิธีทำมีขั้นตอนดังนี้
- ไปที่แท็บ Formulas แล้วเลือก Name Manager
- กด New เพื่อสร้างชื่อใหม่
- ช่อง Name ตั้งชื่อที่จำง่าย เช่น
คิดภาษี - ช่อง Refers to ใส่สูตร LAMBDA เช่น
=LAMBDA(x,y,x*y*0.07)(ไม่ต้องใส่วงเล็บเรียกใช้ต่อท้ายตอนนี้) - กด OK เป็นอันเสร็จ
จากนั้นไปพิมพ์ที่เซลล์ไหนก็ได้ในไฟล์ว่า =คิดภาษี(100, 5) ก็จะได้ผลลัพธ์ 35 ทันที โดยไม่ต้องพิมพ์สูตรยาวซ้ำอีกเลย
กลไกการตั้งชื่อนี้ใช้ระบบเดียวกับการตั้งชื่อช่วงเซลล์แบบ Named Range ที่หลายคนคุ้นเคยอยู่แล้ว (อ่านเพิ่มเติมได้ที่ การใช้งาน Named Range ใน Excel) เพียงแต่ครั้งนี้ชื่อที่ตั้งไม่ได้ผูกกับช่วงเซลล์ แต่ผูกกับสูตรที่เรียกใช้งานได้เหมือนฟังก์ชันจริงๆ
ตัวอย่างใช้งานจริง: คำนวณราคาสุทธิหลังส่วนลดและภาษี
ลองมาดูตัวอย่างที่ใกล้ตัวมากขึ้น สมมติร้านค้าออนไลน์เล็กๆ ต้องคำนวณ “ราคาสุทธิ” ของสินค้าแต่ละชิ้นซ้ำๆ หลายจุดในไฟล์เดียวกัน โดยสูตรคือ เอาราคาตั้งต้นหักส่วนลดก่อน แล้วค่อยบวกภาษี 7% ทับ ถ้าต้องพิมพ์สูตรยาวแบบนี้ซ้ำทุกแถวทุกชีทคงเสียเวลามาก จึงสร้าง LAMBDA ตั้งชื่อว่า คิดราคาสุทธิ ไว้ล่วงหน้าใน Name Manager ด้วยสูตร
=LAMBDA(ราคา,ส่วนลด,(ราคา-ส่วนลด)*1.07)
=คิดราคาสุทธิ(A2,B2)| A | B | C | |
|---|---|---|---|
| 1 | ราคาตั้งต้น | ส่วนลด | ราคาสุทธิ |
| 2 | 1,000 | 100 | 963 |
| 3 | 500 | 0 | 535 |
หลังจากนี้ไม่ว่าจะเพิ่มสินค้าอีกกี่แถว หรือเปิดชีทใหม่ในไฟล์เดียวกัน ก็แค่พิมพ์ =คิดราคาสุทธิ(ราคา, ส่วนลด) ได้ทันทีโดยไม่ต้องพิมพ์สูตรเต็มซ้ำอีก ถ้าวันหนึ่งอัตราภาษีเปลี่ยน ก็แค่ไปแก้สูตรที่ Name Manager จุดเดียว ผลลัพธ์ทุกเซลล์ที่เรียกใช้ชื่อนี้จะอัปเดตตามทันทีด้วย
ข้อควรระวังก่อนเริ่มใช้ LAMBDA
- ต้องใช้ Excel 365 เท่านั้น — LAMBDA เป็นฟีเจอร์เฉพาะของ Excel เวอร์ชัน 365 ที่เชื่อมอินเทอร์เน็ตและอัปเดตฟีเจอร์ใหม่ตลอด ถ้าเปิดไฟล์ด้วย Excel เวอร์ชันเก่าหรือแบบซื้อขาด (Excel 2016/2019) จะไม่มีฟังก์ชันนี้ให้ใช้งาน
- ระวังตั้งชื่อซ้ำกับ Named Range เดิม — เพราะ LAMBDA ที่ตั้งชื่อผ่าน Name Manager ใช้ช่องชื่อเดียวกันกับ Named Range ที่อาจมีอยู่แล้วในไฟล์ ถ้าตั้งชื่อซ้ำ Excel จะเตือนหรือทำให้ชื่อเดิมถูกทับโดยไม่ตั้งใจ ควรตรวจสอบรายชื่อที่มีอยู่ใน Name Manager ก่อนตั้งชื่อใหม่เสมอ
- ตั้งชื่อให้สื่อความหมาย — เพราะเมื่อไฟล์มี LAMBDA หลายตัว ชื่อที่จำง่ายจะช่วยให้กลับมาแก้ไขหรือส่งต่อไฟล์ให้คนอื่นใช้ต่อได้ง่ายขึ้นมาก
สรุป
LAMBDA คือเครื่องมือที่ช่วยให้เราสร้างสูตรของตัวเอง ตั้งชื่อเอง แล้วเรียกใช้ซ้ำได้ทั้งไฟล์ ผ่าน Formulas > Name Manager เหมือนมีฟังก์ชันพิเศษเฉพาะงานของเราเองโดยไม่ต้องพิมพ์สูตรยาวซ้ำทุกครั้ง เหมาะมากสำหรับงานที่ต้องคำนวณซ้ำๆ แบบเดิมหลายจุดในไฟล์เดียวกัน เช่น การคิดภาษีหรือราคาสุทธิสินค้า ใครที่ยังไม่คุ้นกับการตั้งชื่อสูตรหรือช่วงเซลล์ แนะนำให้อ่าน การใช้งาน Named Range ใน Excel ควบคู่ไปด้วย จะช่วยให้เข้าใจกลไกเบื้องหลัง LAMBDA ได้ชัดเจนยิ่งขึ้น