สรุป
ฟังก์ชัน LAMBDA ใช้สำหรับ สร้างฟังก์ชันใหม่ เพิ่มเข้าไปในไฟล์ Excel (workbook) โดยไม่ต้องเขียน Macro(s) หรือ VBA code 😊👍 เพิ่มเข้าไปในไฟล์ ซึ่งจะช่วยให้เราไม่ต้องพิมพ์ หรือ copy-paste สูตรที่เขียนขึ้นซ้ำแล้วซ้ำอีก รวมทั้งฟังก์ชันที่สร้างจาก LAMBDA() นี้ จะสามารถเรียกใช้ตลอดในไฟล์ Excel นั้น ๆ เสมือนเป็นหนึ่งในฟังก์ชันที่มีมากับ Excel
ข้อจำกัดในการใช้งาน!
ตอนนี้ฟังก์ชัน LAMBDA อยู่ในช่วงทดลองใช้งานในกลุ่ม Office Insiders อยู่ ดังนั้นสำหรับผู้ใช้งานทั่วไป จะยังไม่เห็นฟังก์ชันนี้ เปิดให้ใช้งานทั่วไปแล้ว (ข้อมูล ณ วันที่ 25 เม.ย. 2566)
รูปแบบการใช้งาน (Syntax)
=LAMBDA([parameter1,parameter2,...],calculation)
อาร์กิวเมนต์ (Arguments)
อาร์กิวเมนต์ | คำอธิบาย | จำเป็นต้องมี? |
parameterX | ใช้กำหนดค่า หรือตัวแปรต้นที่จะใช้ประกอบการคำนวณ แต่จะมีได้ไม่เกิน 253 ค่า โดยจะเป็นตัวเลข (number) หรือข้อความ (text) ก็ได้ | ไม่ |
calculation | เป็นสูตร หรือสมการที่เราจะใช้ในการคำนวฯ ซึ่งผลจากการคำนวณนี้จะเป็นผลลัพธ์ของฟังก์ชัน LAMDA ที่เราสร้างขึ้น | จำเป็น |
ข้อควรระวังในการใช้งาน
- ถ้าใส่ parameter เกิน 253 ตัว จะแสดง error เป็น #VALUE!
- ถ้าเรียงลำดับอาร์กิวเมนต์ผิด จะแสดง error เป็น #VALUE! หรือไม่ก็จะเป็นอัลกอริทึม error ไปเลย ซึ่งตรงนี้ Excel จะไม่รู้กับเรานะ 😁 แต่ผลการคำนวณจะไม่ตรงกับสิ่งที่เราอยากได้
- ถ้าเราเรียกใช้ฟังก์ชัน LAMBDA() นั้น ๆ ในเซลล์เดียวซ้อนกันในตัวมันเอง จะแสดง error เป็น #NUM!
- ถ้าคุณสร้างฟังก์ชัน LAMBDA() ในเซลล์ แต่ไม่ได้เรียกใช้มัน จะแสดง error เป็น #CALC!
- ชื่อ parameter ห้ามมีจุด (.) และให้ตั้งชื่อตามกฎการตั้งชื่อของ Excel
- ตรวจสอบผลลัพธ์ที่ได้จาก LAMBDA() ว่าตรงตามที่ต้องการทุกกรณี โดยเฉพาะการส่งผ่านอาร์กิวเมนต์ เพราะ LAMBDA() จะใช้คำสั่ง Evaluate ใน Excel ช่วยตรวจสอบไม่ได้
การสร้างฟังก์ชัน LAMBDA
ขั้นตอนที่ 1 กำหนดสูตร หรือสมการที่เราจะใช้
อย่างที่บอกไว้ในข้อควรระวัง การใช้ LAMBDA() ผู้สร้างจะต้องมั่นใจว่า สูตร หรือสมการที่เขียนขึ้นมานั้น ให้ผลลัพธ์ที่ถูกต้อง ตามกฎเกณฑ์ที่จะนำไปใช้ เพราะไม่เช่นอาจได้ผลลัพธ์จากการคำนวณที่ผิดพลาดได้
สมมติว่า เราจะสร้างใช้ LAMBDA() ในการแปลงหน่วยออนซ์ (ounce) ไปเป็นมิลลิลิตร (milliliter) โดยหลักการแล้ว 1 oz จะเท่ากับ 29.57353 mL ดังนั้นสูตรที่ใช้แปลงจากออนซ์ไปเป็นมิลลิลิตร คือ oz * 29.57353
และผลลัพธ์ของการคำนวณควรออกมาตามตารางนี้
Ounce(s) | Milliliter(s) | สูตรคำนวณปกติที่ใช้ใน Excel ของคอลัมภ์ B |
0 | 0.00 | =A6*29.57353 |
1 | 29.57 | =A7*29.57353 |
2 | 59.15 | =A8*29.57353 |
3 | 88.72 | =A9*29.57353 |
4 | 118.29 | =A10*29.57353 |
5 | 147.87 | =A11*29.57353 |
อ้างอิงจาก – https://www.metric-conversions.org/th/volume/us-ounces-to-milliliters.htm
และเราจะลองคำนวณใน Excel จะเป็นไปตามรูปด้านล่างนี้
ขั้นตอนที่ 2 ทดสอบสูตร หรือสมการของ LAMBDA()
ขั้นตอนนี้ใช้ยืนยันผลการคำนวณจาก LAMBDA() ว่าตรงตามสูตรคำนวณปกติไหม โดยผลลัพธ์จะอยู่ในคอลัมภ์ B และสูตรที่ใช้ในคอลัมภ์ B จะอยู่ในคอลัมภ์ C ดังภาพด้านล่างนี้
จากภาพก็จะเห็นว่า ผลลัพธ์ที่ได้จากการคำนวณจะเท่ากันกับสูตรในขั้นตอนแรกเลย แต่เราจะไม่ใช้ LAMBDA() แบบนี้หรอกนะ เพราะไม่งั้นมันจะไม่ต่างจากการเขียนสูตร (formula) ทั่วไปใน Excel
ขั้นตอนที่ 3 การกำหนดชื่อให้ฟังก์ชัน LAMBDA ที่เราสร้างขึ้น
ซึ่งเป็นจุดประสงค์ของการมีฟังก์ชัน LAMBDA คือ ต้องการให้เรียกใช้งานมันได้ง่าย เหมือนฟังก์ชันอื่นใน Excel เพียงแต่มันจะมีขอบเขตใช้งานภายในไฟล์ Excel นั้น ๆ เท่านั้น ไม่เหมือนฟังก์ชัน bulit-in ของ Excel ที่เรียกใช้งานได้จากทุกไฟล์
และการกำหนดชื่อนี้จะช่วยให้เราเรียกใช้ฟังก์ชัน LAMBDA ที่เราสร้างขึ้นได้ง่าย ไม่ต้องพิมพ์ หรือ copy-paste สูตรซ้ำ ๆ
โดยมีขั้นตอนดังนี้
- ไปที่แถบ (tab) Formulas > Name Manager (สูตร > ตัวจัดการชื่อ) แต่ถ้าใช้ macOS จะใช้ Formulas > Define Name
- ใส่ข้อมูลในช่อง (fields) ต่าง ๆ โดย
- Name: พิมพ์ชื่อทีเราจะตั้งให้กับ LAMBDA ที่เราจะสร้างนี้ โดยมักเป็นชื่อที่สื่อความหมายของสิ่งที่ฟังก์ชันทำ
- Scope: ปกติจะเลือกเป็น Workbook ตามที่ Excel เลือกมา ยกเว้นคุณอยากจะเปลี่ยนให้เห็นเฉพาะใน Worksheet เท่านั้น
- Comment: ถึงจะไม่จำเป็นต้องใส่ แต่แนะนำให้ใส่เป็นอย่างยิ่ง เพราะเมื่อเวลาผ่านไป เราจะได้รู้ว่าชื่อที่เรากำหนดไว้นี้ใช้ทำอะไร มีที่มาที่ไปอย่างไร
- Refer to: ใส่สูตรของ LAMBDA() ที่เราจะใช้ (ถ้าไม่อยากให้ Excel ใช้ automatic cell reference ให้กด F2)
จากภาพข้อบนจะเห็นว่า ผมตั้งชื่อของฟังก์ชัน LAMBDA นี้ว่า OzTomL และสูตรในช่อง Refer to: เป็น =LAMBDA(Oz,Oz*29.57353) และมีการใส่ Comment แหละ แต่ Dialog จะเป็นภาษาไทย 😂 บางท่านอาจไม่ชอบ
และเมื่อจะเรียกใช้ เราก็สามารถพิมพ์ชื่อฟังก์ชันที่กำหนดไว้เข้าไปได้เลย ดังภาพ
ตัวอย่างข้างบน อาจเป็นตัวอย่างการเขียน comment ที่ไม่ดีนัก 😅 เพราะควรจะบอกวิธีการเรียกใช้ โดยเฉพาะลำดับอาร์กิวเมนต์ที่จะต้องส่งเข้าไปในฟังก์ชัน ลองนึกถึงภาพตอนที่ Excel เสนอฟังก์ชันที่ built-in มา
และสุดท้ายจะเป็นตัวอย่างตารางที่เราเรียกใช้ LAMBDA() ที่สร้างขึ้นจริง ๆ
เป็นยังไงกันบ้าง พอเห็นภาพการใช้งานฟังก์ชัน LAMBDA ที่กำลังจะเปิดให้ใช้งานกันไหม หรือนึกออกยังว่าจะเอาไปประยุกต์ใช้งานยังไงดี
สำหรับตัวอย่างคลิกดาวน์โหลดได้ตรงนี้ ➡️ ไฟล์ตัวอย่างการใช้งานฟังก์ชัน LAMBDA ใน Excel
มีความคิดเห็น หรือสงสัยอะไรก็ทิ้ง comment ไว้ได้นะครับ
Leave a Reply