Excel LAMBDA işlevi nasıl kullanılır -

İçindekiler

Özet

Excel LAMBDA işlevi, VBA veya makrolar olmadan bir çalışma kitabının tamamında yeniden kullanılabilen özel işlevler oluşturmanın bir yolunu sağlar.

Amaç

Özel işlev oluştur

Geri dönüş değeri

Formülle tanımlandığı gibi

Sözdizimi

= LAMBDA (parametre,…, hesaplama)

Argümanlar

  • parametre - İşlev için bir giriş değeri.
  • hesaplama - İşlevin sonucu olarak gerçekleştirilecek hesaplama. Son tartışma olmalı.

Sürüm

Excel 365

Kullanım notları

Bilgisayar programlamasında, LAMBDA anonim bir işlevi veya ifadeyi ifade eder. Anonim bir işlev, isimsiz olarak tanımlanan bir işlevdir. Excel'de LAMBDA işlevi, bir Excel işlevine çok benzer şekilde belirli formül işlevlerini tanımlama ve kapsülleme yolu sağlar. Tanımlandıktan sonra, bir LAMBDA işlevi bir çalışma kitabının başka bir yerinde adlandırılabilir ve yeniden kullanılabilir. Başka bir deyişle, LAMBDA işlevi, özel işlevler oluşturmanın bir yoludur.

Özel bir LAMBDA işlevinin en önemli avantajlarından biri, formülde bulunan mantığın yalnızca tek bir yerde var olmasıdır. Bu, sorunları giderirken veya işlevselliği güncellerken güncellenecek tek bir kod kopyası olduğu ve değişikliklerin otomatik olarak bir çalışma kitabındaki LAMBDA işlevinin tüm örneklerine yayılacağı anlamına gelir. LAMBDA işlevi, VBA veya makrolar gerektirmez.

Örnek 1 | Örnek 2 | Örnek 3

LAMBDA işlevi oluşturma

LAMBDA işlevleri genellikle bir çalışma sayfasındaki formül çubuğunda oluşturulur ve hata ayıklanır, ardından çalışma kitabının herhangi bir yerinde kullanılabilecek bir ad atamak için ad yöneticisine taşınır.

LAMBDA işlevine dayalı özel bir formül oluşturmanın ve kullanmanın dört temel adımı vardır:

  1. Kullanacağınız mantığı standart bir formülle doğrulayın
  2. Formülün genel (adsız) bir LAMBDA sürümünü oluşturun ve test edin
  3. Ad yöneticisi ile LAMBDA formülünü adlandırın ve tanımlayın
  4. Tanımlanan adı kullanarak yeni özel işlevi test edin

Aşağıdaki örnekler bu adımları daha ayrıntılı olarak ele almaktadır.

örnek 1

LAMBDA'nın nasıl çalıştığını göstermek için çok basit bir formülle başlayalım:

=x*y // multiple x and y

Excel'de, bu formül genellikle aşağıdaki gibi hücre referanslarını kullanır:

=B5*C5 // with cell references

Gördüğünüz gibi, formül iyi çalışıyor, bu yüzden genel bir LAMBDA formülü (adsız sürüm) oluşturmaya geçmeye hazırız. Dikkate alınması gereken ilk şey, formülün girdiler (parametreler) gerektirip gerektirmediğidir. Bu durumda cevap "evet" dir - formül x için bir değer ve y için bir değer gerektirir. Bunu oluşturduktan sonra, LAMBDA işleviyle başlıyoruz ve kullanıcı girişi için gerekli parametreleri ekliyoruz:

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

Sonra, gerçek hesaplamayı eklememiz gerekiyor, x * y:

=LAMBDA(x,y,x*y)

Bu noktada formülü girerseniz, bir #HESAP! hata. Bunun nedeni, artık herhangi bir hücre başvurusu olmadığından formülün üzerinde çalışacak hiçbir girdi değeri olmamasıdır. Formülü test etmek için şuna benzer özel bir sözdizimi kullanmamız gerekir:

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

Parametrelerin ayrı bir parantez kümesinde bir LAMBDA işlevinin sonunda sağlandığı bu sözdizimi, LAMBDA işlevlerine özgüdür. Bu, formülün LAMBDA adlandırılmadan önce doğrudan çalışma sayfasında test edilmesini sağlar. Aşağıdaki ekranda, F5'teki genel LAMBDA işlevinin E5'teki orijinal formülle tam olarak aynı sonucu verdiğini görebilirsiniz:

Artık LAMBDA işlevini Ad Yöneticisi ile adlandırmaya hazırız. İlk olarak, sondaki test parametrelerini * içermeyen * formülü seçin. Ardından, Control + F3 kısayoluyla Ad Yöneticisini açın ve Yeni'yi tıklayın.

Yeni Ad iletişim kutusunda, "XBYY" adını girin, kapsamı çalışma kitabında bırakın ve kopyaladığınız formülü "Başvuru yeri" giriş alanına yapıştırın.

Formülün eşittir işaretiyle (=) başladığından emin olun. Artık LAMBDA formülünün bir adı olduğuna göre, çalışma kitabında diğer işlevler gibi kullanılabilir. Aşağıdaki ekranda, G5'teki formülün kopyası:

Yeni özel işlev, diğer iki formülle aynı sonucu verir.

Örnek 2

Bu örnekte, bir kürenin hacmini hesaplamak için bir formülü özel bir LAMBDA işlevine dönüştüreceğiz. Bir kürenin hacmini hesaplamak için genel Excel formülü şöyledir:

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

A1 yarıçapı temsil eder. Aşağıdaki ekran bu formülü uygulamalı olarak göstermektedir:

Bu formülün hacmi hesaplamak için yalnızca bir girdi (yarıçap) gerektirdiğine dikkat edin, bu nedenle LAMBDA işlevimiz yalnızca ilk bağımsız değişken olarak görünecek olan bir parametreye (r) ihtiyaç duyar. İşte LAMBDA'ya dönüştürülen formül:

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

Çalışma sayfasına geri döndüğümüzde, orijinal formülü genel LAMBDA sürümüyle değiştirdik. Yarıçap için B5'i takmamızı sağlayan test sözdizimini kullandığımıza dikkat edin:

Jenerik LAMBDA formülünden elde edilen sonuçlar, orijinal formülle tamamen aynıdır, bu nedenle bir sonraki adım, bu LAMBDA formülünü yukarıda açıklandığı gibi İsim Yöneticisi ile tanımlamak ve adlandırmaktır. LAMBDA işlevi için kullanılan ad herhangi bir geçerli Excel adı olabilir. Bu durumda, formülü "SphereVolume" olarak adlandıracağız.

Çalışma sayfasına geri döndüğümüzde, genel (adsız) LAMBDA formülünü adlandırılmış LAMBDA sürümüyle değiştirdik ve r için B5'i girdik. Özel SphereVolume işlevi tarafından döndürülen sonuçların önceki sonuçlarla tamamen aynı olduğuna dikkat edin.

Örnek 3

Bu örnekte, kelimeleri saymak için bir LAMBDA işlevi oluşturacağız. Excel'in bu amaç için bir işlevi yoktur, ancak LEN ve SUBSTITUTE işlevlerini temel alan özel bir formüle sahip bir hücreye sahip kelimeleri şu şekilde sayabilirsiniz:

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

Ayrıntılı açıklamayı buradan okuyun. İşte bir çalışma sayfasındaki eylem halindeki formül:

Formüle boş bir hücre verildiğinde (B10) yanlış 1 sayısı aldığımıza dikkat edin. Bu sorunu aşağıda ele alacağız.

Bu formül yalnızca tek bir girdi gerektirir, bu da sözcükleri içeren metindir. LAMBDA işlevimizde, bu argümanı "metin" olarak adlandıracağız. İşte LAMBDA'ya dönüştürülen formül:

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

İlk bağımsız değişken olarak "metin" göründüğüne ve hesaplamanın ikinci ve son bağımsız değişken olduğuna dikkat edin. Aşağıdaki ekranda, orijinal formülü jenerik LAMBDA versiyonu ile değiştirdik. Metin için B5'i eklememizi sağlayan test sözdizimini kullandığımıza dikkat edin:

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

Jenerik LAMBDA formülünden elde edilen sonuçlar orijinal formülle aynıdır, bu nedenle bir sonraki adım, bu LAMBDA formülünü daha önce açıklandığı gibi Ad Yöneticisi ile tanımlamak ve adlandırmaktır. Bu formüle "CountWords" adını vereceğiz.

Aşağıda, genel (adsız) LAMBDA formülünü adlandırılmış LAMBDA sürümü ile değiştirdik ve metin olarak B5'i girdik. Tamamen aynı sonuçları aldığımıza dikkat edin.

Ad Yöneticisinde CountWords'ü tanımlamak için kullanılan formül, test sözdizimi olmaksızın yukarıdakiyle aynıdır:

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

Boş hücre sorununu düzeltme

Yukarıda bahsedildiği gibi, yukarıdaki formül, bir hücre boş olduğunda yanlış 1 sayısı verir. Bu sorun, +1 'i aşağıdaki kodla değiştirerek çözülebilir:

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

Tam açıklama burada. Mevcut adlandırılmış LAMDA formülünü güncellemek için tekrar Ad Yöneticisini kullanmamız gerekir:

  1. İsim Yöneticisini açın
  2. "CountWords" adını seçin ve "Düzenle" yi tıklayın
  3. "Şuna karşılık gelir" kodunu şu formülle değiştirin:

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

Ad Yöneticisi kapatıldıktan sonra, CountWords, aşağıda görüldüğü gibi boş hücrelerde doğru şekilde çalışır:

Not: Kodun Ad Yöneticisinde bir kez güncellenmesiyle CountWords formülünün tüm örnekleri bir kerede güncellenir. Bu, LAMBDA formülü güncellemeleriyle oluşturulan özel işlevlerin önemli bir avantajıdır ve tek bir yerden yönetilebilir.

Ilginç makaleler...