• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Bir sütunda tekrar eden verileri sayma

  • Konbuyu başlatan Konbuyu başlatan faze55
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Temmuz 2012
Mesajlar
21
Excel Vers. ve Dili
excel 2007
Arkadaşlar selamlar,
Bir sütünda diyelim ki alt alta 500 den fazla verimiz var. Ve bunlarda Şehir isimlerinden oluşsun. bu A sütununda bu alt alta 500 verinin içerisinde diyelimki 15 adet istanbul, 50 adet ankara, 25 adet izmir, 28 adet Bursa, 125 adet Samsun, 88 adet Antalya vb şekilde karışık olarak yazılı isimler olsun. Ancak ben bu adetleri bu 500 satır içerisinde elbetteki ne kadar olduğunu bilmiyorum. Ve Excelde bu sütünda bir formül ile yandaki sütuna, İstanbul dan, İzmirden, Ankaradan kaç kere yazılı olduğunu bana sayı ile gösterecek bir formül varmıdır varsa nedir. İlgilenen arkadaşlara şimdiden çok teşekkürler. Emeğe teşekkür.
 
Kodu bir modüle yapıştırıp çalıştır.
Kod:
Sub Kelime_Frekanslarini_Bul()
    Dim col As Collection
    Dim i As Integer
    Dim y As Integer
    Dim vCml As Variant
    Dim arr() As String
    Dim rng As Range

    Columns("E:F").ClearContents

    Set col = New Collection

    Application.Calculation = xlCalculationManual

    On Error Resume Next

    For i = 2 To Cells(65536, 1).End(xlUp).Row
        For Each vCml In Split(Cells(i, 1), " ")
            col.Add CStr(vCml), CStr(vCml)
            If Err <> 0 Then
                Set rng = Columns("E").Find(CStr(vCml), Lookat:=xlWhole)
                rng.Offset(0, 1) = rng.Offset(0, 1) + 1
                Err = 0
            Else
                y = y + 1
                Cells(y, "E") = CStr(vCml)
                Cells(y, "F") = 1
            End If
        Next
    Next i
    Range("E1:F" & Cells(65536, "F").End(xlUp).Row).Sort _
                        Key1:=Range("F1"), _
                            Order1:=xlDescending

    Application.Calculation = xlCalculationAutomatic

    Set col = Nothing
End Sub
 
Merhaba
Formül ile yapmak için

Şehirlerin olduğu verileri başka bir sütuna kopyalayıp veri>yinelenenleri kaldır yaptıktan sonra (bunu makro kaydı ile otomatikleştirebilirsiniz) Eğersay fonksiyonunu ile sonuca gidebilirsiniz.
 
ÖZET TABLO - PIVOT TABLE ile kolaylıkla ve çok hızlı bir şekilde yapabiirsiniz.
 
Kod:
=EĞERSAY(A:A;"İSTANBUL")
veya a sütünundaki b sütununa yenilenleri kaldırarak kopyalar
Kod:
=EĞERSAY(A:A;B1)
c hücresine yapıştırır aşağı doğru çekersiniz.
 
İlgilenen ve cevap yazan tüm arkadaşlara teşekkürler, ancak benim almak istediğim sonuç üstte yazılanlarla olmuyor. Şöyleki ben eğer say formülü ile aratsam aratacağım isimleri o formüle tek tek girmem gerekiyor. Ben böyle her ili tek tek yazarak saydırmak istemiyorum. Ben tek bir sütunda alt alta mecvut 500 satırlık veri içerisinden formül veya modül her ne ise bana bir şekilde bir defada, o tüm sütundaki veri içerisinde aynı veriden örneğin İstanbuldan kaç tane var, Ankaradan kaç tane var, İzmirden kaç tane var bunları tek tek çıkartıp hesaplayarak bir sütunda veya nereye çıkaracaksa orada bana bu dökümü vermeli. Mesela ( İstanbul 53, Adana 25, Ankara 36, Van 4, Erzurum 1 ) vb. gibi. Ayrıca bu iş excel ile de oluyormu bunuda bilmiyorum tabii.
İlaveten çözümü bir acemiye anlatır gibi biraz etraflıca anlatırsanız sevinirim. Mesala bir arkadaşın yazdığı gibi Özet tablo, pivot tablo nedir nasıldır nerede bulunur bunları bilmiyorum doğrusu.
 
Sn. faze55 bir örnek dosya koysaydınız keşke, 6.mesajını okudum benim 2.mesajda verdiğim kodlar sizin a sütununda yazılı olan şehirlerin ismini E sütununda kaç tane olduğunu da F sütununda veriyor, a sütununda yazılı olan şehir isimleri bir cümle içinde mi geçiyor ne anlayamadım. örnek dosya koysaydınız çoktan cevabınız gelmiş olacaktı.
 
Sn. faze55 bir örnek dosya koysaydınız keşke, 6.mesajını okudum benim 2.mesajda verdiğim kodlar sizin a sütununda yazılı olan şehirlerin ismini E sütununda kaç tane olduğunu da F sütununda veriyor, a sütununda yazılı olan şehir isimleri bir cümle içinde mi geçiyor ne anlayamadım. örnek dosya koysaydınız çoktan cevabınız gelmiş olacaktı.

Tahsin Arat Hocam. Makro yapmayı bilmediğim için senin çözümü atlamıştım doğrusunu istersen. Bu açıklaman üzerine Makro konusunu biraz araştırıp öğrendikten sonra senin fromülü denedim. Arkadaş tamda istediğim şekilde sonuçları E ve F sürunlarına döktü yaww... Bu formülü ilgilenen arkadaşlarda kaydetsin çok işe yarayışlı. Çok teşekkürler Üstadım...
 
merhaba,

aynı excel dosyasında yinelenen değerlere kaçıncı kez olduğu ile ilgili numaralandırma nasıl yapılır
 
Kodu bir modüle yapıştırıp çalıştır.
Kod:
Sub Kelime_Frekanslarini_Bul()
    Dim col As Collection
    Dim i As Integer
    Dim y As Integer
    Dim vCml As Variant
    Dim arr() As String
    Dim rng As Range

    Columns("E:F").ClearContents

    Set col = New Collection

    Application.Calculation = xlCalculationManual

    On Error Resume Next

    For i = 2 To Cells(65536, 1).End(xlUp).Row
        For Each vCml In Split(Cells(i, 1), " ")
            col.Add CStr(vCml), CStr(vCml)
            If Err <> 0 Then
                Set rng = Columns("E").Find(CStr(vCml), Lookat:=xlWhole)
                rng.Offset(0, 1) = rng.Offset(0, 1) + 1
                Err = 0
            Else
                y = y + 1
                Cells(y, "E") = CStr(vCml)
                Cells(y, "F") = 1
            End If
        Next
    Next i
    Range("E1:F" & Cells(65536, "F").End(xlUp).Row).Sort _
                        Key1:=Range("F1"), _
                            Order1:=xlDescending

    Application.Calculation = xlCalculationAutomatic

    Set col = Nothing
End Sub

Bu makro benimde çok işime yarayacak. Faka ufak bir sorunum var. Hücrede boşlukla ayrılmış bir veri var ise bu veriyi de ayrı olarak sayıyor. Mesela hücrede Ankara İstanbul yazıyorsa her bir şehiri ayrı sayıyor. Benim yapmak istediğim her bir hücredeki veriyi aralarında boşluk olsa da tek olarak sayabilmesi. Bunu nasıl yapabilirim?

Teşekkür ederim.
 
Kodu bir modüle yapıştırıp çalıştır.
Kod:
Sub Kelime_Frekanslarini_Bul()
    Dim col As Collection
    Dim i As Integer
    Dim y As Integer
    Dim vCml As Variant
    Dim arr() As String
    Dim rng As Range

    Columns("E:F").ClearContents

    Set col = New Collection

    Application.Calculation = xlCalculationManual

    On Error Resume Next

    For i = 2 To Cells(65536, 1).End(xlUp).Row
        For Each vCml In Split(Cells(i, 1), " ")
            col.Add CStr(vCml), CStr(vCml)
            If Err <> 0 Then
                Set rng = Columns("E").Find(CStr(vCml), Lookat:=xlWhole)
                rng.Offset(0, 1) = rng.Offset(0, 1) + 1
                Err = 0
            Else
                y = y + 1
                Cells(y, "E") = CStr(vCml)
                Cells(y, "F") = 1
            End If
        Next
    Next i
    Range("E1:F" & Cells(65536, "F").End(xlUp).Row).Sort _
                        Key1:=Range("F1"), _
                            Order1:=xlDescending

    Application.Calculation = xlCalculationAutomatic

    Set col = Nothing
End Sub

hocam diyelim ki şehirlerin yanında sayı yazıyor ve biz bu sayıları toplamak istiyoruz ama tarih tarih bi satırda ankaranın yanında 20 13.03.2020 yazıyor bi satırda ankara 30 14.03.2020 yazıyor biz bunu tek bi satırda şubat ayında ankara 50 yazdırabilir miyiz?
 
hocam diyelim ki şehirlerin yanında sayı yazıyor ve biz bu sayıları toplamak istiyoruz ama tarih tarih bi satırda ankaranın yanında 20 13.03.2020 yazıyor bi satırda ankara 30 14.03.2020 yazıyor biz bunu tek bi satırda şubat ayında ankara 50 yazdırabilir miyiz?
şöyle ki a sütünunda ankara istanbul izmir karışık yazıyor b sütununda sayı yazıyor c sütununda tarih yazıyor.
biz bunu ankara şubat 50 mart 30 istanbul şubat 25 mart 60 izmir şubat 45 mart 70 tarzında başka bi sütunda gösterebilir miyiz?
 
Kod:
=EĞERSAY(A:A;"İSTANBUL")
veya a sütünundaki b sütununa yenilenleri kaldırarak kopyalar
Kod:
=EĞERSAY(A:A;B1)
c hücresine yapıştırır aşağı doğru çekersiniz.

Merhabalar ,
Bir satırda yan yana kaç tane "x" yineleniyor nasıl formülize edebilirim ?
 
Bir deneme dosyası hazırladım. Macro olarak yukarıda sayın @tahsinanarat 'ın hazırlamış olduğu macroyu kullandım. Kendim de formülle yan tarafa basit iki tablo yaptım. Tablonun birisi başlayanları saymakta diğeri ise içerenleri saymaktadır. İnşallah işinizi görür.
 

Ekli dosyalar

Son düzenleme:
Arkadaşlar selamlar,
Bir sütünda diyelim ki alt alta 500 den fazla verimiz var. Ve bunlarda Şehir isimlerinden oluşsun. bu A sütununda bu alt alta 500 verinin içerisinde diyelimki 15 adet istanbul, 50 adet ankara, 25 adet izmir, 28 adet Bursa, 125 adet Samsun, 88 adet Antalya vb şekilde karışık olarak yazılı isimler olsun. Ancak ben bu adetleri bu 500 satır içerisinde elbetteki ne kadar olduğunu bilmiyorum. Ve Excelde bu sütünda bir formül ile yandaki sütuna, İstanbul dan, İzmirden, Ankaradan kaç kere yazılı olduğunu bana sayı ile gösterecek bir formül varmıdır varsa nedir. İlgilenen arkadaşlara şimdiden çok teşekkürler. Emeğe teşekkür.
Selamlar,
Makro ya da pivot tablo kullanmadan sadece formül ile bu işlemi yapmak istiyorsanız şöyle bir seçeneğiniz de var:
İngilizce:
Kod:
=SUMPRODUCT((A1:A600<>"")/COUNTIF(A1:A600;A1:A600&""))
Türkçe:
Kod:
=TOPLA.ÇARPIM((A1:A600<>"")/EĞERSAY(A1:A600;A1:A600&""))

Aralığı A1:A600 olarak tanımladım. Kendi verinizin bulunduğu aralığa göre düzenlenerek kullanılabilir.
 
Merhabalar

Benimde buna benzer bir listem var R3 sayfasındaki g sutunünda isimler var ( revire gelenlerin listesi )ben R4 sayfasındaki grafiğin alt kısmına revire en çok gelen 5 kişinin ID ismini birim ve görevini yazdırmak istiyorum konu hakkında yardımcı olabilir misiniz dosya linki
 
Arkadaşlar merhaba,
Eski bir konu ama yazayım dedim.
Bir satırda her bir hücrede 110211102100111111 bu şekilde sayılar var burada 1 sayısının kaçar defa peş peşe tekrar ettiğini veya yan yana geldiğini nasıl bulabilirim? Yani en fazla 6 defa ondan son 3 defa ondan sonra 2 defa ondan sonra 1 defa yan yana geldiğini nasıl bulabilirim?
 
Geri
Üst