Yayınlama: 4/4/2014
Güncelleme: 19/11/2023
Güncelleme: 19/11/2023
Eğer Excel'de kullanabileceğiniz bir özel fonksiyon olsaydı, "SayiSay" fonksiyonu şu şekilde işlev görebilirdi:
=SayiSay(hücreler; sayiCesidi)
Bu fonksiyon, belirtilen hücre aralığındaki sayıların sayısını belirli bir kriter veya sayı türüne göre sayan bir formül sağlar. "hücreler" parametresi, sayıları içeren hücre aralığını temsil ederken, "sayiCesidi" parametresi ise sayılardan hangi türleri saymak istediğinizi belirler.
Örneğin:
Eğer "sayiCesidi" parametresi 1 olarak belirlenirse, fonksiyon belirtilen hücre aralığındaki tek sayıların sayısını verir.
Eğer "sayiCesidi" parametresi 2 olarak belirlenirse, fonksiyon çift sayıların sayısını verir.
Eğer "sayiCesidi" parametresi belirtilmez veya 0 olarak belirlenirse, fonksiyon hücre aralığındaki tüm sayıların sayısını verir.
Bu örnek formül, belirli bir hücre aralığındaki sayıların çeşidine göre sayım yapmanıza olanak tanıyan özelleştirilmiş bir Excel fonksiyonunu temsil etmektedir. Ancak, bu fonksiyon Excel'in standart fonksiyonları arasında yer almamaktadır, bu nedenle böyle bir fonksiyonu kullanabilmek için aşağıdaki kodlar gibi özel bir VBA (Visual Basic for Applications) makro yazmanız gerekecektir.
Fonksiyonun kullanımı
hücreler olarak: "A1:E4" gibi çok sayıda hücresayiCesidi olarak:
Tüm sayılar için 0
Tek sayı için 1
Çift Sayı için 2
girin.
Örnek 1: =SayiSay("A1:E5")
"A1:E5" aralığındaki tüm sayıların sayısını verir.
Örnek 1: =SayiSay("A1:E5")
"A1:E5" aralığındaki tüm sayıların sayısını verir.
Örnek 2: =SayiSay("A1:E5";0)
"A1:E5" aralığındaki tüm sayıların sayısını verir.
"A1:E5" aralığındaki tüm sayıların sayısını verir.
Örnek 3: =SayiSay("A1:E5";1)
"A1:E5" aralığındaki tek sayıların sayısını verir.
Örnek 4: =SayiSay("A1:E5";2)
"A1:E5" aralığındaki çift sayıların sayısını verir.
Kodları eklemek için:
Excelde ALT+F11'e basın.
Menüden Insert / Module tıklayın.
Aşağıdaki kodları ekleyin
Option Explicit 'Blog sayfam : https://mesutakcan.blogSpot.com 'Youtube Kanalım : https://www.youtube.com/mesutakcan 'WhatsApp kanalım: https://www.whatsapp.com/channel/0029Va5h4cQ0LKZLuB9Dpy23 'Telegram kanalım: https://t.me/mesutakcan Enum eSayiCesidi tumSayilar = 0 tekSayilar = 1 ciftSayilar = 2 End Enum Function SayiSay(hucreler As Range, _ Optional sayiCesidi As eSayiCesidi = tumSayilar) As Long Dim hucre As Range Dim sayiAdedi As Long ' belirtilen tüm hücreler For Each hucre In hucreler ' hücre değeri sayı ise If IsNumeric(hucre.Value) Then 'sayıları say If (sayiCesidi = tumSayilar) Or _ (sayiCesidi = tekSayilar And hucre.Value Mod 2 <> 0) Or _ (sayiCesidi = ciftSayilar And hucre.Value Mod 2 = 0) Then sayiAdedi = sayiAdedi + 1 End If End If Next SayiSay = sayiAdedi End Function
Hiç yorum yok:
Yorum Gönder