การใช้ฟังก์ชัน LAMBDA ใน Excel

สรุป

ฟังก์ชัน LAMBDA ใช้สำหรับ สร้างฟังก์ชันใหม่ เพิ่มเข้าไปในไฟล์ Excel (workbook) โดยไม่ต้องเขียน Macro(s) หรือ VBA code 😊👍 เพิ่มเข้าไปในไฟล์ ซึ่งจะช่วยให้เราไม่ต้องพิมพ์ หรือ copy-paste สูตรที่เขียนขึ้นซ้ำแล้วซ้ำอีก รวมทั้งฟังก์ชันที่สร้างจาก LAMBDA() นี้ จะสามารถเรียกใช้ตลอดในไฟล์ Excel นั้น ๆ เสมือนเป็นหนึ่งในฟังก์ชันที่มีมากับ Excel

ข้อจำกัดในการใช้งาน!

ตอนนี้ฟังก์ชัน LAMBDA อยู่ในช่วงทดลองใช้งานในกลุ่ม Office Insiders อยู่ ดังนั้นสำหรับผู้ใช้งานทั่วไป จะยังไม่เห็นฟังก์ชันนี้

รูปแบบการใช้งาน (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
00.00=A6*29.57353
129.57=A7*29.57353
259.15=A8*29.57353
388.72=A9*29.57353
4118.29=A10*29.57353
5147.87=A11*29.57353
ตารางแปลงหน่วยออนซ์ให้เป็นมิลลิลิตร โดยหน่วยมิลลิลิตรถูกปัดให้เหลือทศนิยม 2 ตำแหน่ง

อ้างอิงจาก – 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 สูตรซ้ำ ๆ

โดยมีขั้นตอนดังนี้

  1. ไปที่แถบ (tab) Formulas > Name Manager (สูตร > ตัวจัดการชื่อ) แต่ถ้าใช้ macOS จะใช้ Formulas > Define Name
  2. ใส่ข้อมูลในช่อง (fields) ต่าง ๆ โดย
    • Name: พิมพ์ชื่อทีเราจะตั้งให้กับ LAMBDA ที่เราจะสร้างนี้ โดยมักเป็นชื่อที่สื่อความหมายของสิ่งที่ฟังก์ชันทำ
    • Scope: ปกติจะเลือกเป็น Workbook ตามที่ Excel เลือกมา ยกเว้นคุณอยากจะเปลี่ยนให้เห็นเฉพาะใน Worksheet เท่านั้น
    • Comment: ถึงจะไม่จำเป็นต้องใส่ แต่แนะนำให้ใส่เป็นอย่างยิ่ง เพราะเมื่อเวลาผ่านไป เราจะได้รู้ว่าชื่อที่เรากำหนดไว้นี้ใช้ทำอะไร มีที่มาที่ไปอย่างไร
    • Refer to: ใส่สูตรของ LAMBDA() ที่เราจะใช้ (ถ้าไม่อยากให้ Excel ใช้ automatic cell reference ให้กด F2)
Dialog สำหรับกำหนดชื่อให้ LAMBDA() หรือชื่ออื่น ๆ ที่ใช้ใน Excel

จากภาพข้อบนจะเห็นว่า ผมตั้งชื่อของฟังก์ชัน LAMBDA นี้ว่า OzTomL และสูตรในช่อง Refer to: เป็น =LAMBDA(Oz,Oz*29.57353) และมีการใส่ Comment แหละ แต่ Dialog จะเป็นภาษาไทย 😂 บางท่านอาจไม่ชอบ

และเมื่อจะเรียกใช้ เราก็สามารถพิมพ์ชื่อฟังก์ชันที่กำหนดไว้เข้าไปได้เลย ดังภาพ

Excel จะเสนอชื่อฟังก์ชัน LAMBDA ที่เรากำหนดขึ้นเสมือนเป็นหนึ่งใน built-in function ของ Excel เลย

ตัวอย่างข้างบน อาจเป็นตัวอย่างการเขียน comment ที่ไม่ดีนัก 😅 เพราะควรจะบอกวิธีการเรียกใช้ โดยเฉพาะลำดับอาร์กิวเมนต์ที่จะต้องส่งเข้าไปในฟังก์ชัน ลองนึกถึงภาพตอนที่ Excel เสนอฟังก์ชันที่ built-in มา

เมื่อคลิกเลือกฟังก์ชัน จะบอกว่าต้องใส่พารามีเตอร์อะไรเข้าไป ซึ่งในที่นี้ก็คือ Oz

และสุดท้ายจะเป็นตัวอย่างตารางที่เราเรียกใช้ LAMBDA() ที่สร้างขึ้นจริง ๆ

การเรียกใช้งานฟังก์ชัน LAMBDA ที่เรากำหนดชื่อไว้

เป็นยังไงกันบ้าง พอเห็นภาพการใช้งานฟังก์ชัน LAMBDA ที่กำลังจะเปิดให้ใช้งานกันไหม หรือนึกออกยังว่าจะเอาไปประยุกต์ใช้งานยังไงดี

สำหรับตัวอย่างคลิกดาวน์โหลดได้ตรงนี้ ➡️ ไฟล์ตัวอย่างการใช้งานฟังก์ชัน LAMBDA ใน Excel

มีความคิดเห็น หรือสงสัยอะไรก็ทิ้ง comment ไว้ได้นะครับ

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.