LAMBDA Formülü (LAMBDA): Kendi Excel Fonksiyonunuzu Yazma
LAMBDA
İngilizce adı: LAMBDA
Yayın: · Son güncelleme:
LAMBDA kısaca
LAMBDA, parametre alan ve bir hesap döndüren özel fonksiyonlar tanımlamanızı sağlar. Ad Yöneticisi'nde bir ada atandığında çalışma kitabının her yerinde yerleşik bir fonksiyon gibi çağrılır; VBA ya da makro gerektirmez. Microsoft 365 ve Excel 2024'te bulunur.
Söz dizimi
LAMBDA([parametre1; parametre2; ...;] hesaplama)LAMBDA([parameter1, parameter2, ...,] calculation)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
Argümanlar
| Argüman | Durum | Açıklama |
|---|---|---|
parametreparameter | İsteğe bağlı | Fonksiyona iletilecek değerin adı. En fazla 253 parametre tanımlanabilir; adlarda nokta kullanılmaz. |
hesaplamacalculation | Zorunlu | Parametreleri kullanan ve sonucu döndüren formül. Her zaman son argümandır. |
İçindekiler
LAMBDA ile ne yapılır?
Excel LAMBDA formülü, sık kullandığınız bir hesabı kendi fonksiyonunuza dönüştürür. İndirimli fiyat, prim tutarı ya da birim çevirisi gibi her dosyada tekrar yazdığınız bir formülü bir kez tanımlar, sonra =İNDİRİMLİ(B2;C2) gibi kısa bir adla çağırırsınız. VBA, makro ya da eklenti gerekmez.
Microsoft, fonksiyonu Microsoft 365 ve Excel 2024 için listeler; web ve Mac sürümlerinde de bulunur. Türkçe Excel'de adı LAMBDA olarak kalır.
Parametreler ve hesaplama
Söz dizimi =LAMBDA([parametre1; parametre2; ...;] hesaplama) biçimindedir. Önce parametre adlarını, en sonda bu adları kullanan hesabı yazarsınız. =LAMBDA(fiyat;oran;fiyat*(1-oran)) iki parametre alan bir indirim fonksiyonudur.
Parametre adları Excel'in ad kurallarına uyar; tek fark adda nokta kullanılamamasıdır. Son argüman her zaman bir sonuç üretmelidir. Fonksiyon yalnız tanımlanıp çağrılmazsa hücrede #HESAPLA! hatası görünür.
Fonksiyonu hücrede denemek
Tanımı bir ada atamadan önce formülü hücrede test etmek iyi bir alışkanlıktır. LAMBDA'nın arkasına parantez içinde değerleri yazarak doğrudan çağırırsınız: =LAMBDA(fiyat;oran;fiyat*(1-oran))(B2;C2). B2'de 1.200 TL ve C2'de 0,15 indirim oranı varsa sonuç 1.020 TL'dir.
Sıcaklık çevirisi gibi tek parametreli hesaplar da aynı yolla denenir. =LAMBDA(c;YUVARLA(c*1,8+32;1))(B2) Celsius değerini Fahrenheit'a çevirir; 21,5 derece 70,7 derece olarak döner.
Ad Yöneticisi ile kalıcı fonksiyon
Formül doğru çalışıyorsa onu çalışma kitabına kaydedersiniz. Formüller sekmesinde Ad Yöneticisi'ni açın, Yeni'yi seçin ve ad olarak İNDİRİMLİ yazın. Başvuru kutusuna çağrı parantezi olmadan =LAMBDA(fiyat;oran;fiyat*(1-oran)) tanımını yapıştırın.
Bundan sonra herhangi bir hücrede =İNDİRİMLİ(B2;C2) yazabilirsiniz. Tanımı Ad Yöneticisi'nde değiştirdiğinizde fonksiyonu kullanan bütün hücreler güncellenir. Ad yalnız o çalışma kitabında geçerlidir; başka dosyada kullanmak için tanımı oraya da eklemeniz gerekir.
Hatalar ve ne zaman LET yeterli?
Fonksiyona tanımdakinden farklı sayıda değer gönderirseniz Excel #DEĞER! verir. Dosya LAMBDA'yı desteklemeyen bir sürümde açıldığında ise #AD? görünür. Paylaşacağınız dosyalarda alıcıların Excel sürümünü bilmek bu yüzden önemlidir.
LAMBDA içinde LET de kullanılabilir. Uzun bir özel fonksiyonda ara adımlara ad vermek, tanımı aylar sonra açtığınızda neyin ne hesapladığını anlamayı kolaylaştırır. Tanımı Ad Yöneticisi'ne yazarken açıklama kutusuna parametrelerin anlamını eklemek de iyi bir alışkanlıktır.
Hesap tek bir formülde kullanılacaksa LAMBDA yerine LET çoğu zaman yeterlidir. LAMBDA, aynı mantığın birçok hücrede ve sayfada tekrarlandığı durumlarda kazanç sağlar.
Sık yazdığınız bir hesabı seçin, önce hücrede LAMBDA ile çağırarak deneyin. Sonuç doğruysa Ad Yöneticisi'nde bir ada atayın ve formüllerinizi bu adla yeniden yazın.
Örnekler
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Ürün | Liste fiyatı | İndirim oranı | ||
| 2 | Mont | 1.200 | 0,15 | 1.020 |
=LAMBDA(fiyat;oran;fiyat*(1-oran))(B2;C2)=LAMBDA(fiyat,oran,fiyat*(1-oran))(B2,C2)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
E2 hücresinin sonucu: 1.020
fiyat 1.200, oran 0,15 olarak iletilir. 1.200 × 0,85 = 1.020 TL bulunur.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Şehir | Sıcaklık (°C) | ||
| 2 | İzmir | 21,5 | 70,7 |
=LAMBDA(c;YUVARLA(c*1,8+32;1))(B2)=LAMBDA(c,ROUND(c*1.8+32,1))(B2)Türkçe Excel'de bağımsız değişkenler noktalı virgülle (;), İngilizce Excel'de virgülle (,) ayrılır.
D2 hücresinin sonucu: 70,7
21,5 × 1,8 + 32 = 70,7 bulunur ve bir ondalık basamağa yuvarlanır.
Yaygın hatalar ve çözümleri
- #DEĞER!
Neden: Fonksiyona tanımdaki parametre sayısından farklı sayıda değer gönderildi.
Çözüm: Çağrıdaki değer sayısını parametre sayısıyla eşitleyin.
#DEĞER! hatasının ayrıntılı çözümü → - #AD?
Neden: Dosya LAMBDA'yı desteklemeyen bir Excel sürümünde açıldı ya da çağrılan ad tanımlı değil.
Çözüm: Ad Yöneticisi'nde adın tanımlı olduğunu ve sürümün LAMBDA'yı desteklediğini kontrol edin.
#AD? hatasının ayrıntılı çözümü →
İlgili fonksiyonlar
Sıkça Sorulan Sorular
LAMBDA formülü nasıl kullanılır?
Parametreleri ve hesabı yazıp Ad Yöneticisi'nde bir ada atarsınız. Denemek için hücrede doğrudan çağırabilirsiniz: =LAMBDA(fiyat;oran;fiyat*(1-oran))(B2;C2).
LAMBDA neden #HESAPLA! hatası veriyor?
Fonksiyon hücrede tanımlanıp değer gönderilerek çağrılmadığında bu hata görünür. Arkasına parantez içinde değerleri ekleyin ya da tanımı Ad Yöneticisi'ne taşıyın.
LAMBDA hangi Excel sürümünde var?
Microsoft 365 ve Excel 2024'te, ayrıca web ve Mac sürümlerinde bulunur. Excel 2021 ve öncesinde #AD? hatası verir.