Bu dosya, kullanıcı tanımlı fonksiyon (KTF) yardımıyla bir aralıktaki verilerin benzersiz olanlarını listelemeyi ve adedini bulmayı gösteren örnek bir şablondur. Formül kullanılmaz; işlem VBA ile yazılmış Benzersiz fonksiyonuyla yapılır. Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Sayfa1: A sütununda kaynak sayılar (A1:A6 aralığında 1, 1, 2, 3, 3, 4) yer alır. D sütununda sonuç etiketleri bulunur: "Tekrarsız sayı Adeti" ve "Tekrarsız 1. Sayı" ile "Tekrarsız 5. Sayı" arasındaki satırlar.
Makrolar
Dosyada Module1 modülü içinde tek bir fonksiyon vardır: Benzersiz(Aralik, Kriter). Fonksiyon bir hücre formülü olarak çağrılır, düğmeyle çalıştırılan bir makro değildir.- Aralik: Benzersiz değerlerin aranacağı hücre aralığıdır. Fonksiyon boş olmayan hücreleri tek tek dolaşır ve her değeri bir Collection nesnesine anahtar olarak ekler. Aynı değer ikinci kez eklenemediği için tekrarlar elenir.
- Kriter: 0 girilirse benzersiz değerlerin toplam adedi döner. 1, 2, 3 gibi bir sıra numarası girilirse listedeki o sıradaki benzersiz değer döner. Sıra numarası adetten büyükse sonuç boş kalır.
- Fonksiyon Application.Volatile ile işaretlidir; çalışma sayfasında her hesaplamada yeniden çalışır.
- Kodda dosya silme, dışarıya bağlantı gibi zararlı bir işlem yoktur.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Kaynak verileri A sütununa girin veya mevcut örnek verileri değiştirin.
- Benzersiz değerlerin adedi için sonuç hücresine fonksiyonu Kriter 0 olarak yazın:
=Benzersiz(A1:A6;0) - Benzersiz değerleri sırayla almak için Kriter yerine 1, 2, 3 gibi sıra numarası verin. Aşağıdaki formül birinci benzersiz değeri getirir:
=Benzersiz(A1:A6;1) - Fonksiyonu başka bir dosyada kullanmak için Module1 içindeki kodu o dosyanın VBA projesine kopyalayın ve dosyayı .xlsm olarak kaydedin.