Bạn có thể tạo và trả về một hàm tuỳ chỉnh có một bộ tên và một biểu_thức_tính_toán
sử dụng các tên đó. Để tính biểu_thức_tính_toán
, bạn có thể gọi hàm được trả về với số lượng giá trị bằng với số lượng mà tên
khai báo.
Ví dụ mẫu
LAMBDA(Salary; Salary*0,3)(1000)
LAMBDA(Tạm_thời; (5/9)*(Tạm_thời-32))(85)
Cú pháp
LAMBDA(tên; biểu_thức_tính_toán)
tên
: Tên được sử dụng trongbiểu_thức_tính_toán
. Tên này phải là một giá trị nhận dạng và phân giải thành giá trị thực được chuyển đến hàm tuỳ chỉnh doLAMBDA
trả về.biểu_thức_tính_toán
: Công thức sẽ được tính toán. Công thức này sử dụng các tên đã khai báo trong những tham số trước.
Lưu ý
- Nếu hàm được đặt tên yêu cầu một hàm khác làm dữ liệu đầu vào trong một đối số bên trong hàm được đặt tên, thì bạn có thể sử dụng hàm
LAMBDA
hoặc hàm được đặt tên.
Ví dụ
Dữ liệu mẫu:
LAMBDA độc lập
Bạn có thể viết hàm LAMBDA
để tính thuế trên lương, giả sử rằng thuế suất là 30%. Bạn nhập giá trị tiền lương sau hàm.
Ví dụ: =LAMBDA(lương; lương*0,3)(C5)
Công thức này sẽ tính thuế cho tháng 1.
LAMBDA bên trong một hàm trợ giúp LAMBDA
Để thực hiện các phép tính nâng cao về mảng, hãy sử dụng hàm LAMBDA
bên trong hàm trợ giúp LAMBDA
(LHF).
Ví dụ: =MAP(C5:C10; LAMBDA(lương; lương*0,3))
Công thức này sẽ tính tiền lương * 0,3 cho từng mục trong mảng C5:C10.
LAMBDA bên trong hàm được đặt tên
Bạn có thể dùng hàm LAMBDA
trong đối số của một hàm được đặt tên. Tìm hiểu thêm về hàm được đặt tên.
Hàm được đặt tên: AVG_MONTHLY_TAX(dải_ô, hàm_tính_thuế)
Định nghĩa công thức: =hàm_tính_thuế(sum(dải_ô))/count(dải_ô)
Bạn có thể viết đối số hàm_tính_thuế
bằng hàm LAMBDA
.
Ví dụ: =AVG_MONTHLY_TAX(C5:C10;LAMBDA(dải_ô, dải_ô*0,3))
Công thức này tính thuế trung bình hằng tháng, từ tháng 1 đến tháng 6.
Lỗi phổ biến
Đối số tên không phải là giá trị nhận dạng
Ví dụ: =LAMBDA(3; x+1)(3)
Nếu đối số đầu tiên không phải là giá trị nhận dạng, lỗi này sẽ xảy ra:
Yêu cầu đối với giá trị nhận dạng:
- Không được là dải ô như “A1” hoặc “A2”.
- Không được có dấu cách hoặc ký tự đặc biệt. Có thể chứa dấu chấm và dấu gạch dưới.
- Không được bắt đầu bằng số, chẳng hạn như “9xinchao”.
LAMBDA không được gọi
Lỗi này do không sử dụng lệnh gọi chứa giá trị sau LAMBDA
.
Ví dụ: =LAMBDA(salary; salary*0,3)
Nếu không có giá trị nào được chuyển cho lương
, thì lỗi này sẽ xảy ra:
Đối với hàm LAMBDA
, dưới dạng một đối số trong hàm được đặt tên, lỗi này có nghĩa là lỗi không gọi phần giữ chỗ tham chiếu đến hàm LAMBDA
đó bằng các giá trị cần thiết bên trong định nghĩa của hàm được đặt tên.
Ví dụ: Theo định nghĩa công thức, nếu bạn viết =hàm_tính_thuế/count(dải_ô)
thay cho =hàm_tính_thuế(sum(dải_ô))/count(dải_ô)
thì lỗi này xảy ra:
Mẹo: Đối với LAMBDA
bên trong hàm trợ giúp LAMBDA
, lỗi này sẽ không xảy ra vì hàm trợ giúp LAMBDA
tự động sử dụng LAMBDA
trên dải ô đầu vào cho trước.
Hàm trợ giúp Lambda
Hàm trợ giúp Lambda
(LHF) là hàm gốc chấp nhận LAMBDA
có thể sử dụng lại làm đối số cùng với (các) mảng dữ liệu đầu vào. Các hàm này giúp thực hiện các phép tính nâng cao về mảng bằng cách thực thi công thức được chỉ định bên trong LAMBDA
, trên từng giá trị trong mảng dữ liệu đầu vào. LAMBDA
có thể sử dụng lại có thể được chuyển dưới dạng hàm LAMBDA
hoặc hàm được đặt tên
.
Hàm trợ giúp của Lambda:
- Hàm MAP: Hàm này ánh xạ từng giá trị trong các mảng đã cho tới một giá trị mới.
- Hàm REDUCE: Hàm này giảm mảng thành kết quả được tích luỹ.
- Hàm BYCOL: Hàm này nhóm mảng theo cột.
- Hàm BYROW: Hàm này nhóm mảng theo hàng.
- Hàm SCAN: Hàm này quét mảng và đưa ra các giá trị trung gian.
- Hàm MAKEARRAY: Hàm này tạo ra mảng được tính toán cho kích thước được chỉ định.
Hàm liên quan
Tạo và sử dụng hàm được đặt tên: Cho phép người dùng tạo và lưu trữ các hàm tuỳ chỉnh, tương tự nhưLAMBDA
.