metin içindeki sayıları sayma

Katılım
26 Mart 2008
Mesajlar
22
Excel Vers. ve Dili
excel 2000
A1 3-5-8-9-12
A2 2-7-9-10
A3 1-3

hücrelerin içindeki - işareti ile ayrılmış sayıları sayabilirmiyiz.
Örnek 1 1 adet
2 1 adet
3 2 adet

=EĞERSAY(A1:A3;"*"&1&"*") formulü ile saymayı yaptırdım fakat 1 sayısı hem 10 hemde 11 de olduğu için sonucunu hatalı alıyorum 2,3,4 gibi sayıları o sayılarla başlayan başka sayı olmadığından doğru sonuç veriyor.
 

Korhan Ayhan

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

"A" sütununda verileriniz olduğunu varsayarsak;

C1 hücresinde saydırmak istediğiniz değer girin.

D1 hücresine aşağıdaki formülü uygulayın.

Kod:
=TOPLA.ÇARPIM(--ESAYIYSA(MBUL("-"&C1&"-";"-"&$A$1:$A$1000&"-")))
 
Katılım
26 Mart 2008
Mesajlar
22
Excel Vers. ve Dili
excel 2000
çok çok teşekkür ederim baya uğraşmış çözememiştim elinize sağlık
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Korhan hocam hücrede aynı sayıdan iki tane olursa saymıyor.Yapmak için uğraştım ama olmadı.
 
Katılım
4 Ocak 2010
Mesajlar
2,074
Excel Vers. ve Dili
OFFICE 2007 PRO TR - Win7 X64
Altın Üyelik Bitiş Tarihi
18.06.2019
Merhaba,


Kendimce bir şeyler yaptım inceleyebilirmisiniz.
 

Ekli dosyalar

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Vedat bey merhaba,

Aynı hücrede iki kere aynı değer geçerse onu saymıyor.
 
Katılım
4 Ocak 2010
Mesajlar
2,074
Excel Vers. ve Dili
OFFICE 2007 PRO TR - Win7 X64
Altın Üyelik Bitiş Tarihi
18.06.2019
Merhabalar,

İstemiş olduğunuz şekilde formülü buldum ama küçük bir sıkıntı ile karşılaşıyorum.

Şöyleki 2 rakamı sayıya aynı zamanda 12 rakamını gördüğün burda 2 rakamını sayıyo..

Takıldığım nokta..

Sizde müsayitseniz bi bakabilirmisiniz bu konu kafama takıldı

Dizi Formül,

Kod:
=TOPLA(UZUNLUK($A$2:$A$8)-UZUNLUK(YERİNEKOY($A$2:$A$8;E1;"")))/UZUNLUK(E1)
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Merhabalar,
Deneyiniz.
Kod:
=TOPLA.ÇARPIM(UZUNLUK("-"&A1:A10&"-")-
  UZUNLUK(YERİNEKOY("-"&A1:A10&"-";"-"&C1&"-";"")))/
    (UZUNLUK(C1)+2)
Arayacağımız kriter C1 hücresinde olması gerekmektedir.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Aşağıdaki formülde hücrede mükerrer geçenlerde dahil c1'deki değer kaç defa geçtiyse buluyor ama bunuda topla.çarpım ile bütün hücrelere yapamadım. Sadece bir hücre için geçerli, ondan sonra çıkan sonuçları başka bir hücrede toplamak gerekiyor.

=TOPLA(EĞER(SIKLIK(EĞER(ESAYIYSA(MBUL("-"&$C$1&"-";"-"&A1&"-";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))));MBUL("-"&$C$1&"-";"-"&A1&"-";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))));EĞER(ESAYIYSA(MBUL("-"&$C$1&"-";"-"&A1&"-";SATIR(DOLAYLI("1:"&UZUNLUK(A1)))));MBUL("-"&$C$1&"-";"-"&A1&"-";SATIR(DOLAYLI("1:"&UZUNLUK(A1))))))>0;1))
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhabalar,
Deneyiniz.
Kod:
=TOPLA.ÇARPIM(UZUNLUK("-"&A1:A10&"-")-
  UZUNLUK(YERİNEKOY("-"&A1:A10&"-";"-"&C1&"-";"")))/
    (UZUNLUK(C1)+2)
Arayacağımız kriter C1 hücresinde olması gerekmektedir.
Sayın bzace merhaba,

Değer hücrede 3 defa geçerse hesaplamıyor.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhabalar,

İstemiş olduğunuz şekilde formülü buldum ama küçük bir sıkıntı ile karşılaşıyorum.

Şöyleki 2 rakamı sayıya aynı zamanda 12 rakamını gördüğün burda 2 rakamını sayıyo..

Takıldığım nokta..

Sizde müsayitseniz bi bakabilirmisiniz bu konu kafama takıldı

Dizi Formül,

Kod:
=TOPLA(UZUNLUK($A$2:$A$8)-UZUNLUK(YERİNEKOY($A$2:$A$8;E1;"")))/UZUNLUK(E1)
Vedat bey dediğiniz gibi bir sorun var, hala uğraşıyorum.
 
Son düzenleme:
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Dener misiniz?
Kod:
=TOPLA.ÇARPIM(UZUNLUK(YERİNEKOY("-"&A1:A10&"-";"-";"--"))-
  UZUNLUK(YERİNEKOY(YERİNEKOY("-"&A1:A10&"-";"-";"--");
    "-"&C1&"-";"")))/(UZUNLUK(C1)+2)
Daxe Syán
 
Son düzenleme:

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
Merhaba

Bende farklı bir boyut getireyim konuya.
Makro ile array yolu ile çözmeye çalışırken split hata mesajı veriyor.Neden olabilir.
Kod:
Sub arry()
Dim arr() As Variant
        txt = WorksheetFunction.Substitute(Cells(1, "d"), "-", " ")
        'txt1 = "a-" & Cells(1, "d")
        ' arr = Split(txt, "-")
arr = Split(Range("d1"), "-")
                
 For i = LBound(arr) To UBound(arr)
 
 Cells(i + 1, "E") = arr(i)
 Next i
End Sub
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
kod ile çözüm A sütunundaki bilgileri B ve C sütununa aktarıyor.

Kod:
Sub Gruplandir()

ZBasla = TimeValue(Now)
zaman = Timer

sat = 1
say1 = 0
Range("b2:c" & Rows.Count).Clear

Cells(1, 3).Value = "Adet"
Cells(1, 2).Value = "Sayı"

ReDim ara1(Rows.Count): ReDim ara2(Rows.Count):

For j = 1 To Cells(Rows.Count, "a").End(3).Row

If UBound(Split(Cells(j, 1).Value, "-")) > 0 Then
hucre = Cells(j, 1).Value & "-"
deg1 = Split(hucre, "-")
For t = 1 To UBound(deg1)
say1 = say1 + 1
ara1(say1) = deg1(t - 1)
ara2(say1) = 1
Next t
End If
Next j

   
If say1 = 0 Then GoSub atla


        For r = 1 To say1
        aranan1 = ara1(r)

        deg2 = 0
        If ara2(r) = 1 Then
       
            For i = r To say1
            If ara1(i) = aranan1 Then
            deg2 = deg2 + 1
            ara2(i) = 0
            End If
            Next i
        
         sat = sat + 1
         Cells(sat, 3).Value = deg2
         Cells(sat, 2).Value = aranan1
       
     
        End If
        Next r
        
atla:
zBitis = TimeValue(Now)

MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & _
"İşlem süresi ; " & Format(Timer - zaman, "0.00") & Chr(10) & _
"Geçen Süre " & CDate(zBitis - ZBasla), vbInformation, " Sonuç Penceresi"

End Sub
 

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
kod ile çözüm A sütunundaki bilgileri B ve C sütununa aktarıyor.
Halit bey elinize sağlık kodlar çok güzel çalışıyor.
Sizce benim kodlarda ( arr = Split(txt, "-") ) neden tip13 hata mesaji veriyor.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe

mersilen

Destek Ekibi
Destek Ekibi
Katılım
31 Aralık 2009
Mesajlar
1,103
Excel Vers. ve Dili
excel 2007 türkçe
Excel Vers. ve Dili Ofis 2003
15 nolu mesajınızdaki tanımlamadan (değişken)
kaynaklanıyor
kırmızı yerleri silerek deneyiniz
D1 hücresindede veri olmalı
Teşekkürler,
hiç tanımlama yapmazsamda oluyormuş.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Bende KTF yapmak istedim ama aşağıdaki kodda 17-17-11 sadece bu kombinasyonda hatalı sonuç veriyor b ile if'deki değer aynı olmasına rağmen toplama işlemine giriyor. C1'deki değeri 17 varsayalım.

Kod:
Sub asd()
On Error Resume Next

son = Cells(Rows.Count, "A").End(3).Row
Dim c As String

c = Range("c1")
For t = 1 To son
For i = 1 To Len(Cells(t, "a")) - 1

Z = WorksheetFunction.Search("-" & c & "-", "-" & Cells(t, "a") & "-", i)

If Z <> Empty Then

If WorksheetFunction.Search("-" & c & "-", "-" & Cells(t, "a") & "-", i) <> b Then

k = k + 1
End If
End If

b = WorksheetFunction.Search("-" & c & "-", "-" & Cells(t, "a") & "-", i)

Next i
Next t
MsgBox k

On Error GoTo 0

End Sub
 
Üst