Firma Sayısını Bulma.

Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Excel web ailesine selamlar

merhaba b3-b100 arası tekrarlayabilen metinlerim var.tekrarları hariç tutup sayılmalarını istiyorum.sonuç e1 deki gibi görüntülensin.

örnek ektedir.

herkese iyi günler
 

Ekli dosyalar

Katılım
16 Temmuz 2014
Mesajlar
74
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
13-04-2024
Merhaba, metinler A1'den başlasın sonuçlar D1 e yazılacak:

Kod:
Sub TekrarlariHariçTutupSay()

    Dim ws As Worksheet
    Dim rng As Range
    Dim dict As Object
    Dim cell As Range
    Dim firma As String
    Dim count As Integer
    
    ' Çalışmak istediğiniz çalışma sayfasını belirtin
    Set ws = ThisWorkbook.Sheets("Sayfa1") ' Sheet1 yerine kullanmak istediğiniz sayfa adını yazın
    
    ' Çalışma sayfasındaki veri aralığını belirtin
    Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.count, 1).End(xlUp).Row)
    
    ' Bir sözlük (dictionary) nesnesi oluşturun
    Set dict = CreateObject("Scripting.Dictionary")
    
    ' Sözlüğe tekrarlı firmaları ekleyin
    For Each cell In rng
        firma = cell.Value
        If Not dict.exists(firma) Then
            dict(firma) = 1
        End If
    Next cell
    
    ' Sözlükteki firmaların sayısını hesaplayın
    count = dict.count
    
    ' Sonucu D1 hücresine yazdırın
    ws.Range("D1").Value = "Firma Sayısı: " & count
    
End Sub
 
Katılım
16 Temmuz 2014
Mesajlar
74
Excel Vers. ve Dili
2010 TR
Altın Üyelik Bitiş Tarihi
13-04-2024
Şu formül de iş görür fakat sütun olarak seçmeyin, veri nerede başlıyor nerede bitiyor ise o şekilde seçilmeli:

Kod:
="Firma_Sayısı:" & (TOPLA.ÇARPIM(1/EĞERSAY(A1:A38;A1:A38)))
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Kod:
="Firma Sayısı: " &TOPLA.ÇARPIM((B3:B100<>"")/EĞERSAY(B3:B100;B3:B100&""))
şeklinde yazarsak son hücre adresinden bağımsız çalışır.
 
Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Şu formül de iş görür fakat sütun olarak seçmeyin, veri nerede başlıyor nerede bitiyor ise o şekilde seçilmeli:

Kod:
="Firma_Sayısı:" & (TOPLA.ÇARPIM(1/EĞERSAY(A1:A38;A1:A38)))
Teşekkürler son hücreyle bağımlı sanırım.
 
Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Kod:
="Firma Sayısı: " &TOPLA.ÇARPIM((B3:B100<>"")/EĞERSAY(B3:B100;B3:B100&""))
şeklinde yazarsak son hücre adresinden bağımsız çalışır.
bağımsız olması güzel hocam.daha kullanışlı .. teşekkürler.
 
Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Merhaba, metinler A1'den başlasın sonuçlar D1 e yazılacak:

Kod:
Sub TekrarlariHariçTutupSay()

    Dim ws As Worksheet
    Dim rng As Range
    Dim dict As Object
    Dim cell As Range
    Dim firma As String
    Dim count As Integer
   
    ' Çalışmak istediğiniz çalışma sayfasını belirtin
    Set ws = ThisWorkbook.Sheets("Sayfa1") ' Sheet1 yerine kullanmak istediğiniz sayfa adını yazın
   
    ' Çalışma sayfasındaki veri aralığını belirtin
    Set rng = ws.Range("A1:A" & ws.Cells(ws.Rows.count, 1).End(xlUp).Row)
   
    ' Bir sözlük (dictionary) nesnesi oluşturun
    Set dict = CreateObject("Scripting.Dictionary")
   
    ' Sözlüğe tekrarlı firmaları ekleyin
    For Each cell In rng
        firma = cell.Value
        If Not dict.exists(firma) Then
            dict(firma) = 1
        End If
    Next cell
   
    ' Sözlükteki firmaların sayısını hesaplayın
    count = dict.count
   
    ' Sonucu D1 hücresine yazdırın
    ws.Range("D1").Value = "Firma Sayısı: " & count
   
End Sub
anladım makro butonlu hali.teşekkür ederim.
 
Üst