Soru? Tekrarlanan kelimeler ve kaçar tane olduğu

Katılım
26 Ekim 2023
Mesajlar
21
Excel Vers. ve Dili
Excel 2016 - Türkçe
Merhaba değerli hocalarım,
excel tablosunun bir sütununda yer alan aynı veya farklı kelimeleri saymasını ve bu kelimelerin kaçar tane olduğunu söylemesini istiyorum.
örneğin B sütununda 1.000'den fazla satırda yer alan kelimeleri;

elma: 5
armut: 8
ayva: 103
şeklinde listeleyecek.
Ben "eğersay" ile bir şeyler yapmaya çalıştım fakat olmadı.
Yardımcı olabilirseniz çok müteşekkir olurum.

VBA da olabilir.
 
Katılım
11 Temmuz 2024
Mesajlar
326
Excel Vers. ve Dili
Excel 2021 Türkçe
Merhabalar, deneyip sonucu paylaşabilir misiniz;

=EĞERSAY($B$2:$B$1001, D2)
 

Trilenium

Destek Ekibi
Destek Ekibi
Katılım
16 Eylül 2008
Mesajlar
1,291
Excel Vers. ve Dili
Microsoft Office 2019 English
Formül yerine Pivot table kullansanız daha rahat edersiniz.
 

mustafa1205

Altın Üye
Katılım
23 Ekim 2010
Mesajlar
1,333
Excel Vers. ve Dili
Office 2016 / 64 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
18-07-2026
Örnek Dosya Eklerseniz daha kolay ve çabuk cevap bulabilirsiniz
 

tugkan

Altın Üye
Katılım
6 Kasım 2004
Mesajlar
481
Excel Vers. ve Dili
Excel 2016
Türkçe 64 BIT
Altın Üyelik Bitiş Tarihi
16-10-2025
Merhaba değerli hocalarım,
excel tablosunun bir sütununda yer alan aynı veya farklı kelimeleri saymasını ve bu kelimelerin kaçar tane olduğunu söylemesini istiyorum.
örneğin B sütununda 1.000'den fazla satırda yer alan kelimeleri;

elma: 5
armut: 8
ayva: 103
şeklinde listeleyecek.
Ben "eğersay" ile bir şeyler yapmaya çalıştım fakat olmadı.
Yardımcı olabilirseniz çok müteşekkir olurum.

VBA da olabilir.
Bu işlemi yapmak için hem Excel formülleri hem de VBA kullanarak çözüm sunabilirim. İstersen önce formülle başlayalım, ardından VBA ile çözümü de sunabilirim.

Formülle Çözüm (PivotTable Yöntemi)
  1. PivotTable Kullanarak:
    • Tablonuzda herhangi bir hücreyi seçin.
    • Menüden Ekle > PivotTable seçeneğini tıklayın.
    • PivotTable’ı yeni bir sayfaya ekleyin.
    • B Sütununu satır alanına (Row Labels) ve yine B Sütununu değerler alanına (Values) ekleyin.
    • Değerler alanında, Toplam yerine Say (Count) işlemini seçin.
Bu adımlar sonucunda her kelimenin kaç kere geçtiğini listeleyebilirsiniz.

VBA ile Çözüm
Eğer VBA ile yapmak istiyorsanız, aşağıdaki makro her bir benzersiz kelimeyi sayar ve sonuçları başka bir sayfaya yazdırır:

Kod:
Sub KelimeSayaci()
    Dim kelimeDic As Object
    Dim sonSatir As Long
    Dim i As Long
    Dim kelime As String
    Dim ws As Worksheet
    Dim wsSonuc As Worksheet
    
    ' Sözlük oluştur (benzersiz kelimeleri saymak için)
    Set kelimeDic = CreateObject("Scripting.Dictionary")
    
    ' Çalışılan sayfa
    Set ws = ThisWorkbook.Sheets("Sayfa1") ' Sayfa adını ihtiyacınıza göre değiştirin
    
    ' Son satırı bul
    sonSatir = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
    
    ' Kelimeleri say
    For i = 1 To sonSatir
        kelime = ws.Cells(i, "B").Value
        If kelimeDic.exists(kelime) Then
            kelimeDic(kelime) = kelimeDic(kelime) + 1
        Else
            kelimeDic.Add kelime, 1
        End If
    Next i
    
    ' Sonuçları başka bir sayfaya yazdır
    Set wsSonuc = ThisWorkbook.Sheets.Add
    wsSonuc.Name = "Kelime Sonuçları"
    
    wsSonuc.Cells(1, 1).Value = "Kelime"
    wsSonuc.Cells(1, 2).Value = "Adet"
    
    i = 2
    For Each kelime In kelimeDic.Keys
        wsSonuc.Cells(i, 1).Value = kelime
        wsSonuc.Cells(i, 2).Value = kelimeDic(kelime)
        i = i + 1
    Next kelime
End Sub
Bu VBA kodu şu adımları izler:

  1. "Sayfa1" isimli sayfanın B sütunundaki kelimeleri tarar.
  2. Her bir kelimenin kaç kere tekrarlandığını sayar.
  3. Sonuçları yeni bir sayfada listeler.
Makroyu çalıştırmak için:

  1. Alt + F11 tuşlarına basarak VBA düzenleyicisini açın.
  2. Insert > Module seçeneğinden yeni bir modül ekleyin.
  3. Yukarıdaki kodu bu modüle yapıştırın.
  4. F5 tuşuna basarak makroyu çalıştırın.
Sonuçları yeni bir sayfada görebileceksiniz.

Her iki yöntem de işinizi görecektir!
 
Katılım
26 Ekim 2023
Mesajlar
21
Excel Vers. ve Dili
Excel 2016 - Türkçe
Bu işlemi yapmak için hem Excel formülleri hem de VBA kullanarak çözüm sunabilirim. İstersen önce formülle başlayalım, ardından VBA ile çözümü de sunabilirim.

Formülle Çözüm (PivotTable Yöntemi)
  1. PivotTable Kullanarak:
    • Tablonuzda herhangi bir hücreyi seçin.
    • Menüden Ekle > PivotTable seçeneğini tıklayın.
    • PivotTable’ı yeni bir sayfaya ekleyin.
    • B Sütununu satır alanına (Row Labels) ve yine B Sütununu değerler alanına (Values) ekleyin.
    • Değerler alanında, Toplam yerine Say (Count) işlemini seçin.
Bu adımlar sonucunda her kelimenin kaç kere geçtiğini listeleyebilirsiniz.

VBA ile Çözüm
Eğer VBA ile yapmak istiyorsanız, aşağıdaki makro her bir benzersiz kelimeyi sayar ve sonuçları başka bir sayfaya yazdırır:

Kod:
Sub KelimeSayaci()
    Dim kelimeDic As Object
    Dim sonSatir As Long
    Dim i As Long
    Dim kelime As String
    Dim ws As Worksheet
    Dim wsSonuc As Worksheet
   
    ' Sözlük oluştur (benzersiz kelimeleri saymak için)
    Set kelimeDic = CreateObject("Scripting.Dictionary")
   
    ' Çalışılan sayfa
    Set ws = ThisWorkbook.Sheets("Sayfa1") ' Sayfa adını ihtiyacınıza göre değiştirin
   
    ' Son satırı bul
    sonSatir = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
   
    ' Kelimeleri say
    For i = 1 To sonSatir
        kelime = ws.Cells(i, "B").Value
        If kelimeDic.exists(kelime) Then
            kelimeDic(kelime) = kelimeDic(kelime) + 1
        Else
            kelimeDic.Add kelime, 1
        End If
    Next i
   
    ' Sonuçları başka bir sayfaya yazdır
    Set wsSonuc = ThisWorkbook.Sheets.Add
    wsSonuc.Name = "Kelime Sonuçları"
   
    wsSonuc.Cells(1, 1).Value = "Kelime"
    wsSonuc.Cells(1, 2).Value = "Adet"
   
    i = 2
    For Each kelime In kelimeDic.Keys
        wsSonuc.Cells(i, 1).Value = kelime
        wsSonuc.Cells(i, 2).Value = kelimeDic(kelime)
        i = i + 1
    Next kelime
End Sub
Bu VBA kodu şu adımları izler:

  1. "Sayfa1" isimli sayfanın B sütunundaki kelimeleri tarar.
  2. Her bir kelimenin kaç kere tekrarlandığını sayar.
  3. Sonuçları yeni bir sayfada listeler.
Makroyu çalıştırmak için:

  1. Alt + F11 tuşlarına basarak VBA düzenleyicisini açın.
  2. Insert > Module seçeneğinden yeni bir modül ekleyin.
  3. Yukarıdaki kodu bu modüle yapıştırın.
  4. F5 tuşuna basarak makroyu çalıştırın.
Sonuçları yeni bir sayfada görebileceksiniz.

Her iki yöntem de işinizi görecektir!
Çok teşekkür ederim.
Şöyle bir hata alıyorum.
"Compile Error:
compile error for each control variable must be variant or object"
 
Katılım
26 Ekim 2023
Mesajlar
21
Excel Vers. ve Dili
Excel 2016 - Türkçe
Faydalı olabilir...

Çok teşekkür ederim. @tugkan hocamın mesajındaki adımları yaparak PİVOT TABLO olarak, ihtiyacım olanı hallettim.
Kendisine ve size çok teşekkür ederim.
Sizin paylaşımınızda da çok güzel bir anlatım var. Teşekkür ederim, eyvallah.
 
Üst