LAMBDA ile Excel'de Bir Sonraki Seviyeye Geçin: İşte Adım Adım Rehberiniz!
Yayınlanma Tarihi: 10 November 2025
Selam!
Excel'de çalışırken sürekli aynı uzun ve karmaşık formülleri defalarca yazmaktan yoruldun ya da o iç içe geçmiş parantezleri kapatma derdi yüzünden sıkıldın mı? Karmaşık hesaplamalarını basitleştirmek için makro (VBA) öğrenmek zorunda değilsin.
Microsoft 365 ile hayatımıza giren LAMBDA fonksiyonu, Excel'in en gizli ve en güçlü silahlarından biri. Artık 10 satırlık iç içe EĞER formülü yerine, sadece =KDVHesapla(A1) yazıp çat diye sonuca ulaşabilirsin.
Bu yazıda, LAMBDA'nın ne işe yaradığını, iş akışını nasıl hızlandıracağını ve en yeni ipuçlarıyla bu gücü nasıl tam kapasite kullanacağını öğrenecek, böylece Excel'de bir sonraki seviyeye geçeceksin!
LAMBDA fonksiyonunu kullanabilmek için bilgisayarında Microsoft 365 veya Excel 2021 ve sonrası sürümlerin yüklü olması gerekir. Excel 2019 veya daha eski sürümlerde bu fonksiyon yok, aklında olsun.
Haydi Başlayalım.
Nedir Bu LAMBDA?
LAMBDA, kullanıcıların Excel’de kendi özel, yeniden kullanılabilir fonksiyon tanımlamalarına olanak sağlayan güçlü bir fonksiyon. Buradan şunu anlıyoruz: LAMBDA, formül kalabalığını ortadan kaldıran bir özetleyici. Basitçe, LAMBDA, “bir fonksiyon oluşturma fonksiyonu”dur.
Alameti-i Farikası Nedir?
LAMBDA, sadece formülleri kısaltmakla kalmaz, aynı zamanda Excel çalışma biçimini de dönüştürür:
- Hata yapma riskini önemli ölçüde azaltırsın.
- Eskiden bu tür bir özelleştirme için VBA (makro kodu) bilmek gerekirdi. LAMBDA, bu zorunluluğu ortadan kaldırıyor ve programlama bilgisine ihtiyaç duymadan, kullanıcı tanımlı fonksiyonlarını doğrudan yerel Excel işlev kütüphanesine eklemeni sağlıyor.
- Karmaşık formülleri bir kez tanımlayıp, onları Ad Yöneticisi’ne (Ctrl + F3) kaydettikten sonra, Excel’in yerleşik TOPLA veya ORTALAMA fonksiyonu gibi kullanabiliyorsun.
|
Eski Yöntem (VBA) |
Yeni Yöntem (LAMBDA) |
Fayda |
|
VBA Kod Modülü'ne kod yazmak gerekir. |
Doğrudan Excel formülüne yazılır. |
Kod bilgisi gerekmez. |
|
Function KDV_DAHIL_FIYAT_VBA(...) |
=LAMBDA(net_tutar; kdv_orani; ...) |
Daha kısa ve yerel (native) çözüm. |
|
VBA Makro Güvenliği ayarı ister. |
Excel'in kendi fonksiyonu olarak güvende çalışır. |
Ek güvenlik ayarı gerektirmez. |
LAMBDA'nın gücünü tam olarak kullanabilmek için, sadece formülü oluşturmak yetmez. Onu doğru şekilde kaydetmeli ve Excel'in diğer fonksiyonlarıyla birleştirmelisin.
Önce Test Et, Sonra Kayıt! (#HESAP! Hatası Çözümü)
LAMBDA'yı doğrudan bir hücreye yazdığında, büyük ihtimalle #HESAP! hatası alırsın. Panikleme!
Burası kritik nokta: LAMBDA bir fonksiyon tanımlama aracı olduğu için, parametreleri beklemeden tek başına çalışmaz.
Nasıl olacak peki? Formülünü bir hücrede test ederken, hemen ardından parametreleri parantez içinde belirtirsen #HESAP! Hatası almazsın.😉
-
Test Formülü
"=LAMBDA(fiyat, fiyat * 0.9)" : İskonto (Örn: %10) hesaplayacak fonksiyonu tanımladın.
-
Test Değeri Ekle
=LAMBDA(fiyat, fiyat * 0.9)(120) : En sona (120) ekleyerek fiyat parametresine 120 değerini gönderdin.
-
Sonuç
108 : Sonuç 108 olmalı. Artık formül doğru çalışıyor.
Ad Yöneticisi Kullanımı (LAMBDA'nın Asıl Mekânı)
Test ettiğin formülü kalıcı olarak kaydetmek için, sadece LAMBDA(...) kısmını kopyala (sonundaki test değeri (120) olmadan) ve Ad Yöneticisi'ne (Ctrl + F3) kaydet.
Parametre isimlerinde çakışma olmaması için, Türkçe karakter kullanmaktan (örneğin oranı yerine orani gibi) kaçınman en güvenli yöntemdir.
Artık bu fonksiyon, çalışma kitabındaki her sayfada ve senin verdiğin isimle sanki Excel'in kendi fonksiyonuymuş gibi çalışacak.
2024 Güncellemesi ve Varsayılan Parametrelerle Çoklu LAMBDA Kullanımı
Bu özellik için bir örnek yapalım. Sıkça kullandığınız KDV ve iskonto oranlarını LAMBDA fonksiyonu ile kolayca varsayılan değer olarak atayabilirsin. Önceden bu esnekliği sağlamak zordu; fakat yeni güncellemeyle birlikte LAMBDA fonksiyonunda birden fazla parametre kullanmak mümkün hale geldi.
Böylece KDV ve iskonto gibi dinamik oranları hem varsayılan olarak tanımlayabilir hem de gerektiğinde güncelleyebilirsin. Ayrıca formüllerin okunaklığını ve yönetimini artırmak için LET fonksiyonu ile birlikte kullanabilirsiniz. Bu yöntem, özellikle birden fazla bağımsız değişken gerektiren hesaplamalarda hem pratik hem de düzenli bir çözüm sunar. (LET fonksiyonu ile ilgili detaylı bilgi için yazının altındaki kaynaklar alanına bakabilirsin.)
=LAMBDA(fiyat; kdv_orani; iskonto_orani;LET(kdvli_tutar; fiyat * (1 + kdv_orani);
son_net_tutar; kdvli_tutar * (1 - iskonto_orani);son_net_tutar))(A1; 0.18; 0.1)
-
Girdi Parametreleri
Formül fiyat, kdv_orani ve iskonto_orani olmak üzere üç parametre alır. Burada fiyat ürünün veya hizmetin ham tutarı; kdv_orani KDV oranı; iskonto_orani ise uygulanacak iskonto oranıdır.
-
KDV'li Tutarın Hesaplanması
kdvli_tutar = fiyat * (1 + kdv_orani)
Burada, fiyat üzerine KDV eklenir. Örneğin, KDV oranı %18 ise; fiyat × 1.18 şeklinde hesaplanır.
-
İskontolu Son Net Tutarın Hesaplanması
son_net_tutar = kdvli_tutar * (1 - iskonto_orani)
KDV'li tutarın üzerine belirlenen iskonto oranı uygulanır. Örneğin, iskonto oranı %10 ise; kdvli_tutar × 0.90 şeklinde hesaplanır.
-
Sonucun Döndürülmesi
Son adımda, son_net_tutar formülün çıktısı olarak elde edilir ve sonuç olarak hücreye yazılır.
Bu örnekte, A1 hücresindeki fiyat için %18 KDV ve %10 iskonto uygulanır. Sonuç, KDV ve iskonto sonrası net tutardır.
Bu sayede, parametreyi girmezsen otomatik olarak senin belirlediğin değeri kullanır, girersen senin girdiğin değer geçerli olur.
=LAMBDA(fiyat; kdvOrani:=0.20; iskontoOrani:=0; LET( kdvli_tutar, fiyat * (1 + kdvOrani); kdvli_tutar * (1 - iskontoOrani)))
Bu formülü Ad Yöneticisinde KDVLI adıyla kaydettiğini varsayalım:
- Sadece Fiyat Girersen: =KDVLI(A1) yazarsan, otomatik olarak %20 KDV ve %0 İskonto uygular.
- Fiyat ve Yeni KDV Girersen: =KDVLI(A1; 0.10) yazarsan, %10 KDV uygular ama İskontoyu yine varsayılan %0 alır.
Bu sayede, sık değişmeyen veriler için sürekli parametre yazma zorunluluğunu ortadan kaldırmış olursun.
“MAP” Ekle: Tabloları Hızlıca Güncelle
LAMBDA'yı Excel'in yeni nesil dinamik dizi fonksiyonlarıyla (MAP, BYROW, BYCOL) birleştirebilirsin. Örneğin MAP Fonksiyonu büyük veri setlerinde toplu işlemler için inanılmaz bir hız sağlar.
Bir personel listesindeki tüm maaşlara tek bir formülle zam yapmak istediğini düşünelim. Eskiden bu işlemi her satıra ayrı ayrı formül yazarak yapman gerekirdi. Şimdi MAP ve LAMBDA ile tek bir formülle tüm maaşlara zam ekleyebilirsin:
|
Eski Maaşlar (A1:A5) |
MAP + LAMBDA Formülü (B1) |
Yeni Maaşlar (B1'den Taşar) |
|
10.000 |
="=MAP(A1:A5, LAMBDA(maas, maas * 1.2))" |
12.000 |
|
15.000 |
Tek bir hücreye yazıldı! |
18.000 |
|
20.000 |
24.000 |
Nasıl Çalışır:
- =MAP(A1:A5, LAMBDA(maas, maas * 1.2)) formülü, A1:A5 aralığındaki her bir değeri sırayla alır ve LAMBDA fonksiyonuna gönderir.
- Fonksiyon, her bir maaşa (maas * 1.2) işlemi uygulayarak %20 zamlı yeni değeri döndürür.
- Sonuç, formülün yazıldığı hücreden itibaren aşağı doğru taşan (spill) bir dizi olarak sana sunulur.
Kendi Kendini Çağıran Fonksiyon Yazalım
LAMBDA'nın en gelişmiş yeteneği, kendisini formül içinde çağırabilmesidir (Öz Yineleme). Bu, VBA makroları olmadan döngüsel hesaplamalar yapabileceğin anlamına geliyor.
Metinden Yinelenen Boşlukları Silme
Yine bir örnek ile gidelim, metin temizliğinde en yaygın problem gereksiz boşluklar. Ad Yöneticisi'ne TEK_BOŞLUK adıyla kaydedeceğin fonksiyon:
=LAMBDA(metin;EĞER(MBUL(metin, " ");TEK_BOŞLUK(YERİNEKOY(metin, " ";" "));metin))
-
Fonksiyonun amacı
Bu LAMBDA fonksiyonu, verilen bir metin içinde birden fazla arka arkaya gelen boşlukları tek boşluğa indirger. Yani, metni temizler ve gereksiz boşlukları siler.
-
Parametre tanımlama
Fonksiyon, metin adında bir parametre alır. Bu, temizlenmek istenen metni temsil eder.
-
Boşluk var mı kontrolü
EĞER(MBUL(metin, " "), Fonksiyon, metin içinde iki boşluk (" ") olup olmadığını kontrol eder. Eğer iki boşluk varsa, bir sonraki adıma geçer; yoksa döngü sonlanır.
-
Yinelenen boşlukları tek boşluğa çevirme
YERİNEKOY(metin, " ", " ") Eğer iki boşluk bulunursa, YERİNEKOY ile ilk bulunan çift boşluk tek boşluğa çevrilir.
-
Öz yineleme (kendi kendini çağırma)
TEK_BOŞLUK(...) Fonksiyon, işlemi bitince kendini tekrar çağırır ve yeni metni tekrar kontrol eder. Böylece, metinde hiç çift boşluk kalmayana kadar işlem devam eder. Bu, klasik döngüsel (recursive) fonksiyon mantığıdır.
-
Döndürülen Sonuç
Eğer metinde artık çift boşluk yoksa, fonksiyon temizlenmiş metni olduğu gibi döndürür ve işlem tamamlanır.
Bu teknik, LAMBDA fonksiyonunun ne kadar esnek ve güçlü olduğunun güzel bir örneği aslında; özellikle VBA veya ek makrolara ihtiyaç duymadan döngüsel işlemler yaptırabiliyorsun.
Öz Yinelemeli LAMBDA'lar çok güçlüdür ancak 100.000 satır gibi durumlarda performans sorunlarına yol açabilir. Çok büyük veri setlerinde Power Query gibi araçları kullanman gerekebilir.
Mini Challenge
Gördüğün gibi, LAMBDA sadece yeni bir fonksiyon değil; Excel'i kullanma şeklimizi değiştirebilecek bir araç. Kendi fonksiyonlarını tanımlamak başta biraz karmaşık gelebilir, ama inan bana, bir kez alıştığında ne kadar zaman kazanabileceğini ve hata yapma riskini ne kadar azalttığını göreceksin.
Şimdi hemen bir çalışma kitabı açıp, seni en çok oyalayan karmaşık bir formülü, yukarıdaki örneklerde olduğu gibi çok parametreli bir LAMBDA fonksiyonuna dönüştürmeye çalış. İstersen yukarıdaki örneği kopyalayarak da başlayabilirsin. Tercih senin, dilediğin gibi kullanabilirsin!
Mini Challenge!
Aşağıdaki uzun EĞER formülünü daha sade bir LAMBDA fonksiyonuna dönüştür ve PES adıyla kaydet:
=EĞER(A1>1000;"Çok Yüksek";EĞER(A1>500;"Yüksek";EĞER(A1>100;"Normal";"Düşük")))
Tüm parantezleri kapatma derdinden kurtul ve =PES(B15) yazarak dene!
Çözümü Görüntülemek İçin Tıkla
=LAMBDA(deger;EĞER(deger>1000;"Çok Yüksek";EĞER(deger>500;"Yüksek"; EĞER(deger>100;"Normal";"Düşük"))))
Yazıda sözü edilen konular ile ilgili linkler:
Benzer Yazılar
0 Yorum
Bu yazıya henüz yorum yapılmamış.