คุณสามารถสร้างและแสดงผลฟังก์ชันที่กำหนดเองซึ่งมีชุดของชื่อและ formula_expression
ที่ใช้ฟังก์ชันดังกล่าวได้ หากต้องการคำนวณ formula_expression
คุณสามารถเรียกใช้ฟังก์ชันที่แสดงผลพร้อมกับค่าต่างๆ ได้มากเท่าที่ name
ประกาศ
ตัวอย่างการใช้งาน
LAMBDA(Salary, Salary*0.3)(1000)
LAMBDA(Temp, (5/9)*(Temp-32))(85)
ไวยากรณ์
LAMBDA(name, formula_expression)
name
: ชื่อที่จะใช้ในformula_expression
โดยต้องเป็นตัวระบุและจับคู่ข้อมูลกับค่าจริงที่ส่งไปยังฟังก์ชันที่กำหนดเอง ซึ่งแสดงผลโดยLAMBDA
formula_expression
: สูตรที่ใช้คำนวณ ซึ่งจะใช้ชื่อที่ประกาศในพารามิเตอร์ก่อนหน้านี้
หมายเหตุ
- หากฟังก์ชันที่มีชื่อต้องการใช้ฟังก์ชันอื่นเป็นอินพุตในอาร์กิวเมนต์ภายในตัวฟังก์ชันเอง คุณจะใช้
LAMBDA
หรือฟังก์ชันที่มีชื่อก็ได้
ตัวอย่าง
ตัวอย่างข้อมูล
LAMBDA แบบสแตนด์อโลน
คุณสามารถเขียนฟังก์ชัน LAMBDA
เพื่อคำนวณภาษีเงินเดือนได้ โดยสมมติว่าอัตราภาษีคือ 30% แล้วป้อนค่าเงินเดือนต่อจากฟังก์ชันนี้
ตัวอย่าง: =LAMBDA(salary, salary*0.3)(C5)
การดำเนินการนี้จะคำนวณภาษีของเดือนที่ 1
LAMBDA ภายในฟังก์ชันตัวช่วยของ LAMBDA
หากต้องการดำเนินการอาร์เรย์ขั้นสูง ให้ใช้ฟังก์ชัน LAMBDA
ภายในฟังก์ชันตัวช่วยของ LAMBDA
(LHF)
ตัวอย่าง: =MAP(C5:C10, LAMBDA(salary, salary*0.3))
การดำเนินการนี้จะคำนวณเงินเดือน * 0.3 กับแต่ละรายการในอาร์เรย์ C5:C10
LAMBDA ภายในฟังก์ชันที่มีชื่อ
คุณจะใช้ฟังก์ชัน LAMBDA
เป็นส่วนหนึ่งในอาร์กิวเมนต์ของฟังก์ชันที่มีชื่อได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันที่มีชื่อ
ฟังก์ชันที่มีชื่อ: AVG_MONTHLY_TAX(range, tax_calculator_function)
คำจำกัดความของสูตร: =tax_calculator_function(sum(range))/count(range)
คุณสามารถเขียนอาร์กิวเมนต์ tax_calculator_function
ได้ด้วยฟังก์ชัน LAMBDA
เช่น: =AVG_MONTHLY_TAX(C5:C10,LAMBDA(range, range*0.3))
การดำเนินการนี้จะคำนวณภาษีรายเดือนโดยเฉลี่ยสำหรับเดือน 1-6
ข้อผิดพลาดที่พบบ่อย
อาร์กิวเมนต์ชื่อไม่ใช่ตัวระบุ
ตัวอย่าง: =LAMBDA(3, x+1)(3)
หากอาร์กิวเมนต์แรกไม่ใช่ตัวระบุ ข้อผิดพลาดนี้จะเกิดขึ้น
ข้อกำหนดเกี่ยวกับตัวระบุ
- ต้องไม่ใช่ช่วง เช่น "A1" หรือ "A2"
- ต้องไม่มีการเว้นวรรคหรือสัญลักษณ์พิเศษ แต่อนุญาตให้ใช้จุดและขีดล่างได้
- ต้องไม่ขึ้นต้นด้วยตัวเลข เช่น "9hello"
ยังไม่มีการเรียกใช้ LAMBDA
ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากไม่ได้ระบุการเรียกใช้ที่มีค่าต่อจาก LAMBDA
ตัวอย่าง: =LAMBDA(salary, salary*0.3)
หากไม่มีการส่งค่าสำหรับ salary
ข้อผิดพลาดนี้จะเกิดขึ้น
หากใช้ LAMBDA
เป็นอาร์กิวเมนต์ในฟังก์ชันที่มีชื่อ ระบบจะไม่เรียกใช้ตัวยึดตำแหน่งที่อ้างอิงถึง LAMBDA
ดังกล่าวพร้อมกับค่าที่จำเป็นภายในคำจำกัดความของฟังก์ชันที่มีชื่อ
ตัวอย่าง: ในส่วนคำจำกัดความของสูตร หากคุณเขียน =tax_calculator_function/count(range)
แทนที่จะเขียน =tax_calculator_function(sum(range))/count(range)
ข้อผิดพลาดนี้จะเกิดขึ้น
เคล็ดลับ: หากใช้ LAMBDA
ภายในฟังก์ชันตัวช่วยของ LAMBDA
ข้อผิดพลาดนี้จะไม่เกิดขึ้นเนื่องจากฟังก์ชันตัวช่วยของ LAMBDA
จะใช้ LAMBDA
ในช่วงอินพุตโดยอัตโนมัติ
ฟังก์ชันตัวช่วยของ LAMBDA
ฟังก์ชันตัวช่วยของ LAMBDA
(LHF) เป็นฟังก์ชันในระบบที่จะใช้กับ LAMBDA
แบบใช้ซ้ำได้ เพื่อนำมาใช้เป็นอาร์กิวเมนต์พร้อมกับอาร์เรย์อินพุต ฟังก์ชันนี้ช่วยในการดำเนินการอาร์เรย์ขั้นสูงโดยการเรียกใช้สูตรที่ระบุภายใน LAMBDA
เพื่อใช้กับแต่ละค่าในอาร์เรย์อินพุต ทั้งนี้ คุณจะส่ง LAMBDA
แบบใช้ซ้ำได้เพื่อนำไปใช้เป็นฟังก์ชัน LAMBDA
หรือฟังก์ชันที่มีชื่อ
ก็ได้
ฟังก์ชันตัวช่วยของ LAMBDA มีดังนี้
- ฟังก์ชัน MAP: ฟังก์ชันนี้จะจับคู่แต่ละค่าในอาร์เรย์ที่ระบุกับค่าใหม่
- ฟังก์ชัน REDUCE: ฟังก์ชันนี้จะตัดทอนอาร์เรย์เป็นผลลัพธ์แบบรวม
- ฟังก์ชัน BYCOL: ฟังก์ชันนี้จะจัดกลุ่มอาร์เรย์ตามคอลัมน์
- ฟังก์ชัน BYROW: ฟังก์ชันนี้จะจัดกลุ่มอาร์เรย์ตามแถว
- ฟังก์ชัน SCAN: ฟังก์ชันนี้จะสแกนอาร์เรย์และสร้างค่ากลาง
- ฟังก์ชัน MAKEARRAY: ฟังก์ชันนี้จะสร้างอาร์เรย์ที่คำนวณของมิติข้อมูลที่ระบุ
ฟังก์ชันที่เกี่ยวข้อง
สร้างและใช้ฟังก์ชันที่มีชื่อ: อนุญาตให้ผู้ใช้สร้างและจัดเก็บฟังก์ชันที่กำหนดเองซึ่งคล้ายกับLAMBDA