İçeriğe geç
parazade

Özel Fonksiyon Nedir?

İngilizce: User-Defined Function

Yayın: · Son güncelleme:

Özel Fonksiyon Nedir? Kısaca

Özel fonksiyon, Excel'in hazır fonksiyonları dışında kullanıcının kendisinin tanımladığı fonksiyondur. Geleneksel olarak VBA ile yazılır; Microsoft 365'te LAMBDA ile formül düzeyinde de oluşturulabilir. İngilizcede user-defined function (UDF) denir.

Özel Fonksiyon nedir?
İçindekiler
  1. Özel fonksiyon nedir?
  2. Nasıl oluşturulur?
  3. Örnek kullanım
  4. Sınırları nelerdir?

Özel fonksiyon nedir?

Excel yüzlerce hazır fonksiyon sunar, ama her iş için bir karşılık yoktur. Şirketinize özgü bir prim hesabını ya da karmaşık bir indirim kuralını her seferinde uzun bir formülle yazmak yerine ona bir ad verip tek fonksiyon gibi kullanabilirsiniz. Bu şekilde tanımlanan fonksiyonlara özel fonksiyon denir.

Kullanıldığı anda hazır fonksiyonlardan farkı yoktur. Örneğin =PRIM(C2;D2) yazarsınız ve Excel sizin tanımladığınız kurala göre sonucu döndürür.

Nasıl oluşturulur?

İlk yol VBA'dır. Geliştirici sekmesinden VBA düzenleyicisini açar, bir modül ekler ve Function ile başlayan bir kod bloğu yazarsınız. Bu fonksiyon yalnız o çalışma kitabında, ya da kişisel makro çalışma kitabına kaydedildiyse sizin bilgisayarınızda çalışır. Dosya makro içerdiği için .xlsm olarak kaydedilmelidir.

İkinci yol, Microsoft 365'teki LAMBDA fonksiyonudur. Bu yöntemde kod yazmazsınız. Formülü LAMBDA ile tanımlar ve ad yöneticisi üzerinden bir ada atarsınız. Dosya .xlsx olarak kalabilir ve makro uyarısı çıkmaz.

Örnek kullanım

Varsayımsal bir satış ekibinde prim, satış hedefi aşılınca aşan kısmın belli bir yüzdesi olarak hesaplanıyor olsun. Bu kuralı her hücreye EĞER zinciriyle yazmak yerine PRIM adlı bir özel fonksiyon tanımlamak hem formülleri kısaltır hem de kural değiştiğinde tek yerden güncelleme yapmayı sağlar.

Sınırları nelerdir?

VBA ile yazılan fonksiyonlar web için Excel'de ve mobil uygulamalarda çalışmaz. Makroları engelleyen güvenlik ayarları da fonksiyonun çalışmasını durdurabilir. Tanımadığınız kaynaktan gelen makrolu dosyaları açarken dikkatli olun; özel fonksiyon kılığında zararlı kod da bulunabilir. LAMBDA ise yalnız destekleyen sürümlerde çalışır.

Sıkça Sorulan Sorular

Özel fonksiyon yazmak için programlama bilmek gerekir mi?

VBA yönteminde temel düzeyde kod yazmak gerekir. Microsoft 365'teki LAMBDA ise formül bilgisiyle oluşturulur ve kod gerektirmez.

Özel fonksiyon başka bilgisayarda çalışır mı?

VBA fonksiyonu dosyanın içindeyse ve makrolar etkinse çalışır. Kişisel makro çalışma kitabına kaydedilen fonksiyonlar ise yalnız sizin bilgisayarınızda bulunur.

İlgili terimler

VBA(Visual Basic for Applications)VBA (Visual Basic for Applications), Microsoft Office uygulamalarına gömülü bir programlama dilidir. Excel'de makroların yazıldığı dildir ve tekrarlanan işleri otomatikleştirmek, özel fonksiyon ve formlar oluşturmak için kullanılır.VBA Modülü(VBA Module)VBA modülü, Excel çalışma kitabında VBA kodlarının saklandığı kapsayıcıdır. Standart modül, sayfa ve çalışma kitabı modülleri, sınıf modülü ve UserForm modülü gibi türleri vardır.Excel Fonksiyonları(Excel Functions)Excel fonksiyonları, belirli bir hesabı yapmak için hazır tanımlanmış ve adla çağrılan araçlardır. TOPLA, EĞER, DÜŞEYARA gibi fonksiyonlar parantez içindeki bağımsız değişkenleri alır ve tek bir sonuç ya da sonuç dizisi döndürür.Kişisel Makro Çalışma Kitabı(Personal Macro Workbook)Kişisel Makro Çalışma Kitabı, Excel her açıldığında arka planda gizlice yüklenen PERSONAL.XLSB adlı dosyadır. Buraya kaydedilen makrolar, açtığınız tüm çalışma kitaplarında kullanılabilir.Fonksiyon(Function)Fonksiyon, programlamada belirli bir işi yapan, isim verilmiş ve gerektiğinde tekrar tekrar çağrılabilen kod bloğudur. Girdi olarak parametre alabilir ve geriye bir değer döndürebilir.Karşılık(Provision)Karşılık, muhasebede gerçekleşmesi muhtemel ama tutarı veya zamanı kesin olmayan bir yükümlülük ya da varlık değer kaybı için önceden ayrılan ve dönemin giderine yansıtılan tahmini tutardır.Modül(Module)Modül, belirli bir işe ait fonksiyonları, sınıfları ve değişkenleri bir arada tutan, programın geri kalanından ayrı bir kod birimidir. Genellikle tek bir dosyadır ve başka dosyalardan import edilerek kullanılır.Ad Yöneticisi(Name Manager)Ad Yöneticisi, Excel'de bir çalışma kitabındaki tüm tanımlı adları ve tablo adlarını tek pencerede listeleyen araçtır. Adları buradan oluşturabilir, düzenleyebilir, silebilir ve hangi aralığa başvurduklarını görebilirsiniz.