Cara menggunakan fungsi Excel LAMBDA -

Isi kandungan

Ringkasan

Fungsi Excel LAMBDA menyediakan cara membuat fungsi tersuai yang dapat digunakan kembali di seluruh buku kerja, tanpa VBA atau makro.

Tujuan

Buat fungsi tersuai

Nilai pulangan

Seperti yang ditentukan oleh formula

Sintaks

= LAMBDA (parameter,…, pengiraan)

Hujah

  • parameter - Nilai input untuk fungsi.
  • pengiraan - Pengiraan untuk dilakukan sebagai hasil fungsi. Mesti menjadi hujah terakhir.

Versi

Excel 365

Catatan penggunaan

Dalam pengaturcaraan komputer, LAMBDA merujuk kepada fungsi atau ungkapan tanpa nama. Fungsi tanpa nama adalah fungsi yang ditentukan tanpa nama. Di Excel, fungsi LAMBDA menyediakan cara untuk menentukan dan merangkumi fungsi formula tertentu, seperti fungsi Excel. Setelah ditentukan, fungsi LAMBDA boleh dinamakan dan digunakan semula di tempat lain dalam buku kerja. Dengan kata lain, fungsi LAMBDA adalah cara untuk membuat fungsi tersuai.

Salah satu faedah utama fungsi LAMBDA khusus ialah logik yang terdapat dalam formula hanya ada di satu tempat. Ini bermakna hanya ada satu salinan kod yang perlu diperbaharui ketika memperbaiki masalah atau mengemas kini fungsi, dan perubahan akan disebarkan secara automatik ke semua keadaan fungsi LAMBDA dalam buku kerja. Fungsi LAMBDA tidak memerlukan VBA atau makro.

Contoh 1 | Contoh 2 | Contoh 3

Membuat fungsi LAMBDA

Fungsi LAMBDA biasanya dibuat dan debug pada bar formula pada lembaran kerja, kemudian dipindahkan ke pengurus nama untuk memberikan nama yang dapat digunakan di mana saja dalam buku kerja.

Terdapat empat langkah asas untuk membuat dan menggunakan formula khusus berdasarkan fungsi LAMBDA:

  1. Sahkan logik yang akan anda gunakan dengan formula standard
  2. Buat dan uji formula LAMBDA generik (tanpa nama) formula
  3. Namakan dan tentukan formula LAMBDA dengan pengurus nama
  4. Uji fungsi khusus baru menggunakan nama yang ditentukan

Contoh di bawah membincangkan langkah-langkah ini dengan lebih terperinci.

Contoh 1

Untuk menggambarkan bagaimana LAMBDA berfungsi, mari mulakan dengan formula yang sangat mudah:

=x*y // multiple x and y

Di Excel, formula ini biasanya menggunakan rujukan sel seperti ini:

=B5*C5 // with cell references

Seperti yang anda lihat, formula berfungsi dengan baik, jadi kami siap untuk terus membuat formula LAMBDA generik (versi tanpa nama). Perkara pertama yang perlu dipertimbangkan adalah jika formula memerlukan input (parameter). Dalam kes ini, jawapannya adalah "ya" - formula memerlukan nilai untuk x, dan nilai untuk y. Dengan itu, kami memulakan dengan fungsi LAMBDA, dan menambahkan parameter yang diperlukan untuk input pengguna:

=LAMBDA(x,y // begin with input parameters

Seterusnya, kita perlu menambahkan pengiraan sebenar, x * y:

=LAMBDA(x,y,x*y)

Sekiranya anda memasukkan formula pada ketika ini, anda akan mendapat #CALC! kesilapan. Ini berlaku kerana formula tidak mempunyai nilai input untuk digunakan, kerana tidak ada lagi rujukan sel. Untuk menguji formula, kita perlu menggunakan sintaks khas seperti ini:

=LAMBDA(x,y,x*y)(B5,C5) // testing syntax

Sintaks ini, di mana parameter dibekalkan pada akhir fungsi LAMBDA dalam kumpulan kurungan yang terpisah, adalah unik untuk fungsi LAMBDA. Ini membolehkan formula diuji secara langsung pada lembaran kerja, sebelum LAMBDA dinamakan. Pada skrin di bawah, anda dapat melihat bahawa fungsi LAMBDA generik di F5 menghasilkan hasil yang sama persis dengan formula asal di E5:

Kami kini bersedia menamakan fungsi LAMBDA dengan Pengurus Nama. Pertama, pilih formula, * tidak termasuk * parameter ujian pada akhir. Seterusnya, buka Pengurus Nama dengan pintasan Control + F3, dan klik Baru.

Dalam dialog Nama Baru, masukkan nama "XBYY", biarkan skop ditetapkan ke buku kerja, dan tampalkan formula yang anda salin ke kawasan input "Merujuk kepada".

Pastikan formula bermula dengan tanda sama dengan (=). Sekarang kerana formula LAMBDA mempunyai nama, formula tersebut dapat digunakan dalam buku kerja seperti fungsi lain. Pada skrin di bawah formula di G5, disalin ke bawah, adalah:

Fungsi khusus baru mengembalikan hasil yang sama dengan dua formula yang lain.

Contoh 2

Dalam contoh ini, kita akan menukar formula untuk mengira isipadu sfera menjadi fungsi LAMBDA tersuai. Formula Excel umum untuk mengira isipadu sfera adalah:

=4/3*PI()*A1^3 // volume of sphere

di mana A1 mewakili jejari. Skrin di bawah menunjukkan formula ini dalam tindakan:

Perhatikan formula ini hanya memerlukan satu input (radius) untuk menghitung isipadu, jadi fungsi LAMBDA kita hanya akan memerlukan satu parameter (r), yang akan muncul sebagai argumen pertama. Inilah formula yang ditukar menjadi LAMBDA:

=LAMBDA(r,4/3*PI()*r^3) // generic lambda

Kembali ke lembaran kerja, kami telah mengganti formula asal dengan versi LAMBDA generik. Perhatikan bahawa kita menggunakan sintaks pengujian, yang memungkinkan kita memasang B5 untuk radius:

Hasil dari formula LAMBDA generik sama persis dengan formula asal, jadi langkah seterusnya adalah menentukan dan menamakan formula LAMBDA ini dengan Pengurus Nama, seperti yang dijelaskan di atas. Nama yang digunakan untuk fungsi LAMBDA boleh menjadi nama Excel yang sah. Dalam kes ini, kami akan menamakan formula "SphereVolume".

Kembali ke lembaran kerja, kami telah mengganti formula LAMBDA generik (tanpa nama) dengan versi LAMBDA bernama, dan memasukkan B5 untuk r. Perhatikan hasil yang dikembalikan oleh fungsi SphereVolume khusus sama dengan hasil sebelumnya.

Contoh 3

Dalam contoh ini, kita akan membuat fungsi LAMBDA untuk mengira perkataan. Excel tidak mempunyai fungsi untuk tujuan ini, tetapi anda boleh mengira perkataan dengan sel dengan formula khusus berdasarkan fungsi LEN dan SUBSTITUT seperti ini:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Baca penjelasan terperinci di sini. Berikut adalah formula dalam tindakan dalam lembaran kerja:

Perhatikan bahawa kita mendapat kiraan 1 yang salah apabila formula diberi sel kosong (B10). Kami akan mengatasi masalah ini di bawah.

Formula ini hanya memerlukan satu input, iaitu teks yang mengandungi perkataan. Dalam fungsi LAMBDA kami, kami akan menamakan argumen ini "teks". Inilah formula yang ditukar menjadi LAMBDA:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Perhatikan "teks" muncul sebagai argumen pertama, dan pengiraannya adalah argumen kedua dan terakhir. Pada skrin di bawah, kami telah mengganti formula asal dengan versi LAMBDA generik. Perhatikan bahawa kita menggunakan sintaks pengujian, yang memungkinkan kita memasukkan B5 untuk teks:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)(B5)

Hasil dari formula LAMBDA generik adalah sama dengan formula asal, jadi langkah seterusnya adalah menentukan dan menamakan formula LAMBDA ini dengan Pengurus Nama, seperti yang dijelaskan sebelumnya. Kami akan menamakan formula ini "CountWords".

Di bawah ini, kami telah mengganti formula LAMBDA generik (tanpa nama) dengan versi LAMBDA bernama, dan memasukkan B5 untuk teks. Perhatikan bahawa kita mendapat hasil yang sama.

Rumus yang digunakan dalam Pengurus Nama untuk menentukan CountWords adalah sama seperti di atas, tanpa sintaks pengujian:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Memperbaiki masalah sel kosong

Seperti yang disebutkan di atas, formula di atas mengembalikan kiraan 1 yang salah apabila sel kosong. Masalah ini dapat diperbaiki dengan menggantikan +1 dengan kod di bawah:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Penjelasan penuh di sini. Untuk mengemas kini formula LAMDA bernama yang ada, sekali lagi kita perlu menggunakan Pengurus Nama:

  1. Buka Pengurus Nama
  2. Pilih nama "CountWords" dan klik "Edit"
  3. Ganti kod "Merujuk ke" dengan formula ini:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+(LEN(TRIM(text))>0))

Setelah Pengurus Nama ditutup, CountWords berfungsi dengan betul pada sel kosong, seperti yang dilihat di bawah:

Catatan: dengan mengemas kini kod sekali di Pengurus Nama, semua contoh formula CountWords dikemas kini sekaligus. Ini adalah faedah utama fungsi khas yang dibuat dengan kemas kini formula LAMBDA dapat dikendalikan di satu tempat.

Artikel menarik...