Aynı sütunda alt alta dolu hücre sayma

Reo41

Altın Üye
Katılım
24 Aralık 2013
Mesajlar
91
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 Tr / En
Altın Üyelik Bitiş Tarihi
15-11-2027
Merhaba arkadaşlar. Benim sorum şöyle :

C sütununda alt alta aralıksız 3 defa ve daha fazla RAPORLU yazıyorsa; K34 hücresine, tekrarlandığı satır sayısı ile işlem yaptırmak istiyorum.
Örneğin;

RAPORLU
RAPORLU
RAPORLU
RAPORLU
RAPORLU

5 kere üst üste yazdığı için K34 hücresine 5x10
formülünü kullanmak istiyorum.
Yardımlarınızı bekliyorum
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırırsanız C sütununa "Raporlu" yazdıkça kontrol eder ve geriye doğru üstüste 3 ve daha fazla raporlu varsa K34 hücresinde belirttiğiniz işlemi yapar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
If Target.Row < 3 Then Exit Sub
If UCase(Target) <> "RAPORLU" Then Exit Sub
rapor = 1
For i = Target.Row - 1 To 1 Step -1
If UCase(Cells(i, "C")) <> "RAPORLU" Then
i = 1
Else
rapor = rapor + 1
End If
Next
If rapor >= 3 Then [K34] = rapor * 10

End Sub
 
Katılım
1 Eylül 2015
Mesajlar
63
Excel Vers. ve Dili
excel 2013 türkçe
Merhaba Reo41;

K34 hücresine bu formülü yapıştırınız.
Kod:
=EĞER(EĞERSAY(C:C;"RAPORLU")>=3;EĞERSAY(C:C;"RAPORLU")*10;0)
 

Reo41

Altın Üye
Katılım
24 Aralık 2013
Mesajlar
91
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 Tr / En
Altın Üyelik Bitiş Tarihi
15-11-2027
Merhaba Reo41;

K34 hücresine bu formülü yapıştırınız.
Kod:
=EĞER(EĞERSAY(C:C;"RAPORLU")>=3;EĞERSAY(C:C;"RAPORLU")*10;0)
carlosfatih hocam yardımın için teşekkür ederim fakat formülde şöyle bir sıkıntı var. üst üste sıralı 3 ve daha fazlası olursa işlem yapması gerekirken, sizin verdiğiniz formülde toplamda aralıklı da olsa 3 tane olduğunda formül çalışıyor. Bana 3 kere veya daha fazla üst üste arasında boşluk olmadan olduğunda çalışması lazım.
Teşekkür edeim
 

Reo41

Altın Üye
Katılım
24 Aralık 2013
Mesajlar
91
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 Tr / En
Altın Üyelik Bitiş Tarihi
15-11-2027
Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırırsanız C sütununa "Raporlu" yazdıkça kontrol eder ve geriye doğru üstüste 3 ve daha fazla raporlu varsa K34 hücresinde belirttiğiniz işlemi yapar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("C:C")) Is Nothing Then Exit Sub
If Target.Row < 3 Then Exit Sub
If UCase(Target) <> "RAPORLU" Then Exit Sub
rapor = 1
For i = Target.Row - 1 To 1 Step -1
If UCase(Cells(i, "C")) <> "RAPORLU" Then
i = 1
Else
rapor = rapor + 1
End If
Next
If rapor >= 3 Then [K34] = rapor * 10

End Sub

Yusuf44 hocam öncelikle tekrar merhaba ve teşekkür ederim yardımın için fakat benim makro hakkında bilgim yok denilecek kadar az. Yani formülünüz muhtemelen doğrudur fakat bunu macro açıp yerleştirdiğimde hata veriyor. Yardım ederseniz çok sevineceğim
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu kodu sayfanın kod bölümüne yapıştırmalısınız , modüle değil. Bunun için o sayfadayken ya Alt+F11 yapıp çıkan ekranda sol tarafta ilgili sayfayı bulup açın ya da sayfa açıkken sayfa sekmesine sağ tıklayıp kod görüntüle deyin ve açılan sayfaya yapıştırın. Daha sonra C sütununa veri girdikçe kontrol yapacaktır.
 

Reo41

Altın Üye
Katılım
24 Aralık 2013
Mesajlar
91
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 Tr / En
Altın Üyelik Bitiş Tarihi
15-11-2027
Bu kodu sayfanın kod bölümüne yapıştırmalısınız , modüle değil. Bunun için o sayfadayken ya Alt+F11 yapıp çıkan ekranda sol tarafta ilgili sayfayı bulup açın ya da sayfa açıkken sayfa sekmesine sağ tıklayıp kod görüntüle deyin ve açılan sayfaya yapıştırın. Daha sonra C sütununa veri girdikçe kontrol yapacaktır.

Yusuf44 hocam dediklerinizi uyguladım formül çalıştı fakat bazı eksiklikler var.

1- Formül 3 ten fazla üst üste "RAPORLU" yazınca çalışıyor fakat arada boşluk verip alt satırlarda tekrar 3 ten fazla "RAPORLU" yazınca ilkini unutup ikinci kez yazılanı baz alıyor. Benim istediğim ayrıca bunları toplaması,

2- Diyelim ki "RAPORLU" sayısını fazla girdim. Örneğin 5 satır, birini silip 4 satıra düşürdüğümde işlem yenilemiyor. 5 satırmış gibi görüyor, hepsini de silsem yine aynı duruyor,

3- Bir satırdaki "RAPORLU" yazısını kopyala-yapıştır yaptığımda veya hücrenin sağ alt kısmından tutup kürsörü aşağı doğru çektiğimde (yani alt hücrelere kopyaladığımda) kod çalışmıyor yani 3 ten fazla olmasına rağmen görmüyor,

4- Örneğin 3 satır "RAPORLU" yazdım ve 1 satır boşluk bıraktım ve tekrar (5. satıra) "RAPORLU" yazdım, burda bir sıkıntı yok işlem 3 olarak gözüküyor fakat aradaki boş bıraktığım 4. satırı da "RAPORLU" olarak doldurduğumda ise işlem 5 olması gerekirken 4 olarak gözüküyor,
Bunlar da düzelirse işimi tam olarak görecek.
İnşallah anlayacağınız şekilde anlatabilmişimdir. Dosyayı ekledim yardımcı olması açısından
Teşekkür ederim

http://s8.dosya.tc/server/wyzjre/GECE_ZAMMI.xlsx.html
 
Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Günaydın.

İlk mesajınızda bu durumların hiçbirinden bahsetmediğiniz için doğal olarak bunları dikkate almamıştım. Ne isterseniz onu yapmaya çalışıyoruz.

Yeni durumda maalesef istediklerinizin hiçbirini yapabileceğimi sanmıyorum, beni aşıyor. :(
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Her ne kadar bir önceki mesajda yapamayacağımı yazsam da çay içince zihnim açıldı herhalde, J sütununu yardımcı sütun olarak kullanarak aşağıdaki formülleri hazırladım :D :

J4 hücresine aşağıdaki formülü yazıp aşağıya doğru kopyalayın:

Kod:
=EĞER(YADA(VE(C4="raporlu";C3="raporlu";C5="raporlu");VE(C4="raporlu";C5="raporlu";C6="raporlu");VE(C4="raporlu";C3="raporlu";C2="raporlu"));BAĞ_DEĞ_SAY($J$3:J3)+1;"")
K34 hücresine aşağıdaki formülü yazın:

Kod:
=MAK(J4:J34)*10
 

Reo41

Altın Üye
Katılım
24 Aralık 2013
Mesajlar
91
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 Tr / En
Altın Üyelik Bitiş Tarihi
15-11-2027
Her ne kadar bir önceki mesajda yapamayacağımı yazsam da çay içince zihnim açıldı herhalde, J sütununu yardımcı sütun olarak kullanarak aşağıdaki formülleri hazırladım :D :

J4 hücresine aşağıdaki formülü yazıp aşağıya doğru kopyalayın:

Kod:
=EĞER(YADA(VE(C4="raporlu";C3="raporlu";C5="raporlu");VE(C4="raporlu";C5="raporlu";C6="raporlu");VE(C4="raporlu";C3="raporlu";C2="raporlu"));BAĞ_DEĞ_SAY($J$3:J3)+1;"")
K34 hücresine aşağıdaki formülü yazın:

Kod:
=MAK(J4:J34)*10

Yusuf bey öncelikle daha önceki mesajımda belirttiğim gibi macro bilgim yok denilecek kadar az olduğu için bu tür sıkıntıların çıkacağını da tahmin edemediğimden dolayı bu sıkıntıları size belirtemedim.
Emeğiniz için tekrardan teşekkür ederim fomül tam olarak istediğim gibi oldu. Bende bol bol çay içeceğim bundan sonra (ki zaten çok içerim) :D :D
Tekrardan emeğinize sağlık
 
Üst