BİR VERİ SÜTUNUNDA YER ALAN "," İLE AYRILMIŞ SAYISAL DEĞERLERDEN BENZERSİZ OLANLARI SAYMA

Katılım
14 Nisan 2009
Mesajlar
45
Excel Vers. ve Dili
2003-tr
Merhabalar
Benzersiz verilerin sayılması konusunda "https://www.excel.web.tr/" de yaptığım aramalarda bulduğum makro veya formüller, veri sütununda her bir satırdaki veriyi baz alarak benzersiz veri sayısını tespit ediyor.
Ancak aşağıda verdiğim örnek veride görüleceği üzere; benzersiz veri sayısını bulmak istediğim veriler bir veri sütunundaki hücrelerde yer alan "," ile ayrılmış sayısal değerlerden oluşmaktadır. Burada; her bir satırda, Kurum dosya numaralarına karşılık gelen ve "," ile ayrılmış olan bir veya birden fazla sayısal değer bulunmaktadır.
Örnek tabloda ulaşmak istediğim şey, benzersiz veri sayısıdır. Yani toplam kurum dosya sayısının tespit edilmesidir.
Teşekkürler.

KURUM DOSYA NO

12

42,42

63

63

63

63

63

63

63

63

63

117

117

117

117

117

117

117

117

117

117

117

127

127

128

139

141

152

152

152

152

152

152

152

152

159,300,111

159,10,12,17

166,5,88

180

180,1,2,3,77

180,90

180

185,1

185

189

191

194

194,194

194,194

194,194

194,194

194,194

194,194

194,194

194,194

194,194

194,194

196

203

203

203,203

203,203

227

227

239

239

239

239

239

239

239

239

239

239

239

239

239

239

241

241

241

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

248

282

282

282,282

282,282

282,282

282,282

282,282

282,282

282,282

282,282

300

300

308

308

308

308

308

308

308

308

308

308

308

312

319

320

331

331

334

334

334

350

350

350

350

350

350

350

350

350

350

351

351

351

142,163

185,185

353,353

353,353

353,353

353,353

353,353

353,353

377,321

377,321

377,321

377,321

385,388

399,379

399,379

399,379

399,379

399,379

241,286,286

241,286,286

241,286,286

241,286,286

241,286,286

68,67

90,92,90,92,90,92,90,92

 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Verilerin A sütununda ve 1. satırdan başladığı varsayılmıştır.

deneyiniz.

Kod:
Public Sub BenzersizAdedi()

    Dim i As Long
    Dim j As Integer
    Dim col As Collection
    Dim a As Variant
    Dim arr As Variant
    
    Application.ScreenUpdating = False
    
    arr = Range("A1:A" & Cells(Rows.Count, "A").End(3).Row).Value
    
    Set col = New Collection
    Range("B:D").ClearContents
    
    On Error Resume Next
    For i = LBound(arr, 1) To UBound(arr, 1)
        arr(i, 1) = Left(arr(i, 1), Len(arr(i, 1)) - 1)
            a = Split(arr(i, 1), ",")
            For j = 0 To UBound(a)
                col.Add a(j), a(j)
            Next j
    Next i
    On Error GoTo 0
    
    For i = 1 To col.Count
        Range("B" & i) = col(i)
    Next i
    
    Range("B1:B" & col.Count).Sort Key1:=[B1]
    Range("C1") = "Benzersiz Adet"
    Range("D1") = col.Count
    
    Application.ScreenUpdating = True
    
    MsgBox "Benzersiz Sayı Adedi : " & col.Count
    
End Sub
 
Son düzenleme:
Katılım
14 Nisan 2009
Mesajlar
45
Excel Vers. ve Dili
2003-tr
Merhabalar,
Teşekkürler ilgilendiğiniz için. Ama malesef istediğim sonucu alamadım, yada tam olarak istediğimi anlatamamış olabilirim.

EKRAN GÖRÜNTÜSÜ nü inceleyebilirmisiniz rica etsem.
İşlem sonucunda böyle bir sonuç almamız gerekiyordu.
Teşekkürler.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Adet istediğiniz için listelememiştim.

Kodu yeniden deneyiniz.
 
Katılım
14 Nisan 2009
Mesajlar
45
Excel Vers. ve Dili
2003-tr
Necdet bey istediğim tam olarak buydu.
Birde, sonuç değeri ekrana mesaj olarak değilde başka bir sayfadaki tabloya yazdıracaktım ama onu halledebilirim ben.
Çok teşekkür ediyorum.

 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,370
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Hücrelerin sonunda görünmeyen bir karakter var dolayısıyla çıkan sonuçlar yanlış.
Yukarıdaki kodları düzenledim, tekrar alınız.

Hücre sonundaki görünmeyen karakteri sildiremedim, bu saatte demek ki kafam çalışmıyor :), soldan fonksiyonu kullandım.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,242
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Biraz karalama yaptım.

Ofis 365 için formülle çözüm alternatif olsun.

C++:
=SIRALA(BENZERSİZ(--METİNBÖL(KIRP(YERİNEKOY(A2:A180;SAĞDAN(A2:A180;1);""));",");;0);;1)
 
Üst