Excel’de LAMBDA Fonksiyonu: Kendi Formülünüzü Yazın

Excel’de yıllardır aynı uzun formülü tekrar tekrar yazmaktan sıkıldıysanız, LAMBDA fonksiyonu tam size göre. Microsoft 365 ile gelen bu fonksiyon sayesinde kendi özel formüllerinizi tanımlayıp, tıpkı DÜŞEYARA veya ETOPLA gibi her hücrede tek bir komutla çağırabilirsiniz. Bu rehberde LAMBDA’nın nasıl çalıştığını, gerçek hayattan örneklerle nasıl kullanılacağını ve sık yapılan hataların nasıl önleneceğini adım adım göreceksiniz.

LAMBDA Fonksiyonu Nedir?

LAMBDA, Excel’de kendi özel fonksiyonunuzu yazmanızı sağlayan bir araçtır. Bir başka deyişle: karmaşık bir hesaplamayı bir kez kurar, ona bir isim verir ve sonrasında o ismi normal bir formül gibi kullanırsınız. Excel’in 500’ün üzerinde hazır fonksiyonu olsa da bazen iş yerinizdeki özel hesaplamaları (örneğin şirketinize özel bir prim formülü ya da kendi sektörünüze ait bir oran) tek bir isimle çağırabilmek paha biçilemez bir kolaylık sağlar.

Eski Excel sürümlerinde bu işi yapmak için VBA ve makro bilmek gerekiyordu. LAMBDA ile artık kod yazmadan, sadece formül diliyle aynı şeyi yapabilirsiniz. Üstelik dosyanız bir başka kullanıcıya gittiğinde makro uyarısı da çıkmaz.

Hangi Excel Sürümlerinde Var?

LAMBDA fonksiyonu yalnızca Microsoft 365 aboneliği olan Excel sürümlerinde ve Excel 2024‘te bulunur. Excel 2019, 2021 veya daha eski sürümlerde kullanılamaz. Excel’inizin Hesap menüsünden sürümünüzü kontrol edebilirsiniz.

LAMBDA’nın Temel Sözdizimi

LAMBDA’nın yapısı son derece basittir:

=LAMBDA(parametre1; parametre2; ... ; hesaplama)

İlk kısımlar formülünüzün alacağı değişkenlerdir (parametreler). Son kısım ise bu değişkenlerle yapılacak hesaplamadır. İngilizce Excel kullananlar için yapı aynıdır, sadece noktalı virgül yerine virgül kullanılır:

=LAMBDA(parameter1, parameter2, ... , calculation)

İlk LAMBDA’nızı Yazın: KDV Hesaplama

Türkiye’de en sık ihtiyaç duyulan hesaplamalardan biri KDV dahil tutarı bulmaktır. Şu formülü her seferinde yazmak yerine bir LAMBDA hazırlayalım:

=LAMBDA(tutar; oran; tutar * (1 + oran))(1000; 0,2)

Bu formül 1000 TL’yi %20 KDV ile birlikte 1200 TL olarak döndürür. Buradaki (1000; 0,2) kısmı, LAMBDA’yı hemen test etmek için eklenmiştir. Fakat asıl güç, bu LAMBDA’ya bir isim verip kalıcı hale getirmekte gizlidir.

Ad Yöneticisi ile LAMBDA’yı Kalıcı Yapma

LAMBDA’yı yalnızca yazdığınız hücrede çalıştırmak işin yarısı. Asıl kullanışlı olan, ona bir ad vermek ve her yerden çağırabilmektir. Adım adım yapalım:

  1. Şerit menüden Formüller sekmesine geçin.
  2. Ad Yöneticisi‘ne tıklayın (kısayol: Ctrl + F3).
  3. Yeni butonuna basın.
  4. Ad alanına KDVDahil yazın.
  5. Başvuru yeri kutusuna şu formülü girin: =LAMBDA(tutar; oran; tutar*(1+oran))
  6. Tamam’a basıp pencereyi kapatın.

Artık herhangi bir hücreye =KDVDahil(A2; 0,2) yazarak A2 hücresindeki tutarın %20 KDV dahil halini görebilirsiniz. Sanki Excel’in yerleşik bir fonksiyonu gibi davranır.

Örnek Senaryo: Fatura Tutarları Listesi

Diyelim ki muhasebe biriminden gelen bir liste var ve KDV oranı ürüne göre değişiyor:

ÜrünTutar (KDV Hariç)KDV OranıKDV Dahil Tutar
Defter250,00 ₺%20=KDVDahil(B2;C2) → 300,00 ₺
Süt45,00 ₺%1=KDVDahil(B3;C3) → 45,45 ₺
Bilgisayar15.000,00 ₺%20=KDVDahil(B4;C4) → 18.000,00 ₺
Kitap120,00 ₺%0=KDVDahil(B5;C5) → 120,00 ₺

Tek bir LAMBDA tanımıyla artık tüm fatura kalemleriniz için aynı formülü tekrar tekrar yazmanıza gerek kalmaz.

Gerçek Hayattan Örnekler

1. Ad-Soyad Düzeltme

İK biriminden gelen listede isimler “ahmet YILMAZ”, “MERVE demir” gibi karışık formatta. Hepsini tek seferde düzeltmek için bir LAMBDA tanımlayalım:

Ad: AdSoyadDuzelt
Tanım: =LAMBDA(metin; YAZIM.DÜZENİ(metin))

İngilizce karşılığı: =LAMBDA(text; PROPER(text))

Kullanım: =AdSoyadDuzelt(A2) → “Ahmet Yılmaz”

2. Yaş Hesaplama

Doğum tarihinden bugünkü yaşı bulmak için Excel’in ETARİHLİ (DATEDIF) fonksiyonu vardır ama her seferinde “Y” parametresini hatırlamak zordur. LAMBDA ile sadeleştirelim:

Ad: Yas
Tanım: =LAMBDA(dogumTarihi; ETARİHLİ(dogumTarihi; BUGÜN(); "Y"))

İngilizce karşılığı: =LAMBDA(birthDate; DATEDIF(birthDate; TODAY(); "Y"))

Kullanım: =Yas(C2) → 34 (doğum tarihi 02.05.1991 olan biri için)

3. Borç-Alacak Bakiyesi

Cari hesap takibinde her zaman ihtiyaç duyulan klasik bir hesap: borç toplamından alacak toplamını çıkarıp net bakiyeyi bulmak. Negatif çıkarsa “Alacaklı”, pozitifse “Borçlu” yazsın istiyoruz:

Ad: Bakiye
Tanım: =LAMBDA(borc; alacak;
   EĞER(borc - alacak > 0; (borc - alacak) & " ₺ Borçlu";
   EĞER(borc - alacak < 0; ABS(borc - alacak) & " ₺ Alacaklı"; "Dengede")))
MüşteriBorçAlacakDurum
Demir Ticaret12.500 ₺8.000 ₺4.500 ₺ Borçlu
Kaya Otomotiv3.200 ₺9.500 ₺6.300 ₺ Alacaklı
Yıldız Gıda5.000 ₺5.000 ₺Dengede
Şahin Lojistik22.800 ₺15.000 ₺7.800 ₺ Borçlu

LAMBDA ile LET Birlikte Kullanımı

Karmaşık hesaplamalarda ara değişkenler tanımlamak isterseniz LAMBDA'nın içinde LET fonksiyonunu kullanabilirsiniz. Örneğin bir personelin brüt maaşından net maaşı hesaplayalım (basit bir model):

Ad: NetMaas
Tanım: =LAMBDA(brut;
   LET(
      sgk; brut * 0,14;
      issizlik; brut * 0,01;
      gv; (brut - sgk - issizlik) * 0,15;
      dv; brut * 0,00759;
      brut - sgk - issizlik - gv - dv
   ))

Kullanım: =NetMaas(35000) şeklinde brüt maaşı girip net maaşı anlık görebilirsiniz. LET sayesinde her ara değer (SGK, işsizlik, gelir vergisi, damga vergisi) ayrı ayrı tanımlanır ve formül çok daha okunaklı olur.

LAMBDA Yardımcı Fonksiyonları

LAMBDA'nın gerçek gücü, dizi fonksiyonlarıyla birlikte kullanıldığında ortaya çıkar. Üç önemli yardımcı fonksiyon var:

FonksiyonNe Yapar?Örnek Kullanım
MAPBir dizideki her hücreye LAMBDA'yı uygular=MAP(A2:A10; LAMBDA(x; x*2))
SATIRA (BYROW)Dizinin her satırı için tek bir sonuç üretir=SATIRA(A2:C10; LAMBDA(s; TOPLA(s)))
SÜTUNA (BYCOL)Dizinin her sütunu için tek bir sonuç üretir=SÜTUNA(A2:C10; LAMBDA(s; ORTALAMA(s)))
REDUCEDiziyi tek bir değere indirger (toplam, çarpım vb.)=REDUCE(0; A2:A10; LAMBDA(top; deg; top+deg))

Pratik Örnek: Çalışan Performansı

Çağrı merkezi ekibinin haftalık performans tablosunu düşünün. Her satırda bir çalışanın 5 günlük çağrı sayısı var. SATIRA (BYROW) fonksiyonu ile her satırın toplamını tek formülle alabilirsiniz:

=SATIRA(B2:F8; LAMBDA(satir; TOPLA(satir)))

İngilizce karşılığı: =BYROW(B2:F8; LAMBDA(row; SUM(row)))
ÇalışanPztSalÇarPerCumToplam
Elif Aydın4238455041216
Burak Şen3032283529154
Selin Kara4852495550254
Mert Çelik2225202824119

Sık Karşılaşılan Hatalar ve Çözümleri

HataSebebiÇözüm
#AD?LAMBDA'ya verdiğiniz isim yanlış yazıldı ya da Ad Yöneticisi'nde kayıtlı değilİsmi kontrol edin, Ctrl+F3 ile Ad Yöneticisi'ni açıp tanımı doğrulayın
#HESAP!LAMBDA test edilirken parametreler sağlanmadan çağrıldıTest için en sona parantez içinde değer ekleyin: =LAMBDA(x; x*2)(5)
#DEĞER!LAMBDA'ya geçirilen veri tipi yanlış (örn. sayı beklerken metin geldi)EĞERHATA veya METNESAYI kontrolüyle koruyucu bir katman ekleyin
#YAYILMA!Dizi sonucu sığacak boş alan yokSonucun yayılacağı satır/sütunlardaki verileri temizleyin

LAMBDA Ne Zaman Kullanılmamalı?

Her güçlü araç gibi LAMBDA'nın da yeri vardır. Aşağıdaki durumlarda LAMBDA yerine standart formüller kullanmak daha mantıklıdır:

  • Yalnızca bir hücrede tek seferlik bir hesaplama yapacaksanız LAMBDA tanımlamak zaman kaybıdır.
  • Dosyayı Excel 2019 veya daha eski sürümleri kullanan biriyle paylaşacaksanız LAMBDA çalışmaz.
  • Çok uzun ve karmaşık iç içe LAMBDA'lar yazmak yerine bunu birden fazla daha küçük LAMBDA'ya bölmek hem performans hem de okunabilirlik açısından daha iyidir.
  • VBA ile yapılabilen kullanıcı arayüzü, dosya açma-kaydetme gibi işlemler LAMBDA'nın kapsamı dışındadır; bunlar için makro gereklidir.

LAMBDA'nızı Başka Dosyalara Taşıma

Tanımladığınız LAMBDA'lar bulunduğu dosyaya özgüdür. Onları başka dosyalarda da kullanmak isterseniz iki seçeneğiniz var:

  1. Ad Yöneticisi'nden kopyalama: Her iki dosyayı da açın, kaynak dosyada Ctrl+F3 ile Ad Yöneticisi'ni açın, tanımı kopyalayın ve hedef dosyada yapıştırın.
  2. Şablon olarak kaydetme: İçinde tüm LAMBDA'larınız tanımlı bir Excel dosyasını .xltx (şablon) olarak kaydedin. Yeni dosyalarınızı her zaman bu şablondan başlatın.

Microsoft'un yeni duyurduğu Excel Labs eklentisindeki Advanced Formula Environment ile LAMBDA'larınızı bir kütüphane olarak yönetmek de mümkündür. Bu eklenti özellikle ekip içinde standart formüller kullanan finans ve muhasebe ekiplerinin işini ciddi şekilde kolaylaştırır.

Özet

LAMBDA, Excel'i sadece bir tablo programından kendi formüllerinizi yazabildiğiniz mini bir geliştirme ortamına dönüştürüyor. KDV hesaplamadan personel net maaşına, cari bakiye takibinden çalışan performans raporuna kadar pek çok rutin işi tek bir isimle çağırabilir hale geliyorsunuz. Önemli olan: önce küçük başlayın, bir-iki parametreli LAMBDA'lar yazın, sonra LET ve dizi fonksiyonlarıyla birleştirerek güçlendirin. Birkaç hafta sonra Excel'inizdeki Ad Yöneticisi sizin için özel hazırlanmış bir fonksiyon kütüphanesine dönüşecek.

Bir sonraki yazımızda Excel'de sayfa koruma ve dosya güvenliğini ele alacağız. Hazırladığınız LAMBDA'ları yanlışlıkla silinmekten nasıl koruyabileceğinizi de orada göstereceğiz.

Rate this post

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top