"0" değerleri belirli kurala göre toplama

Katılım
23 Haziran 2023
Mesajlar
7
Excel Vers. ve Dili
Excel 2013

TARİH

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

AD SOYAD

19

338

20

244

236

254

250

279

319

36

77

93

91

0

0

94

152

23

148

220

142

17

158

43

222

102

301

94

0

0

0



Merhabalar ;

Yapmak istediğim özetle tablonun tersinden başlayarak sağdan sola sıfır değerlerini toplamak. Fakat şart olarak sıfırdan büyük olan bir değer gelince saymayı bırakmak. Tabloda 31 ila 29 arasında toplam 3 adet sıfır var. 14-15 değerlerindeki sıfırların dahil edilmemesini istiyorum. Yardımcı olabilirseniz sevinirim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,353
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sonuç olarak ne bekliyorsunuz?
Ayın 28'inde sayma durdu. Kod, Formül Ne yapacak?
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
... sağdan sola sıfır değerlerini toplamak.
Merhaba,
Forumumuza hoş geldiniz.
"...sıfır değerlerini toplamak.." sıfır sonucunu verir.
Sorunuzdan sıfır değerlerini toplamak değil, sondan başa doğru saymak ve 3 sonucunu almak istediğinizi anladım.
Buna göre;
Sorunuzdaki "TARİH" ifadesinin A1 hücresinde olduğunu varsayarak aşağıdaki VBA kodu istediğiniz sonucu verecektir.
C++:
Sub Say()
For i = 32 To 2 Step -1
    If Cells(2, i) <> 0 Then Exit For
    s = s + 1
Next
    MsgBox s & " adet sıfır var."
End Sub
 
Katılım
23 Haziran 2023
Mesajlar
7
Excel Vers. ve Dili
Excel 2013
Merhaba,
Forumumuza hoş geldiniz.
"...sıfır değerlerini toplamak.." sıfır sonucunu verir.
Sorunuzdan sıfır değerlerini toplamak değil, sondan başa doğru saymak ve 3 sonucunu almak istediğinizi anladım.
Buna göre;
Sorunuzdaki "TARİH" ifadesinin A1 hücresinde olduğunu varsayarak aşağıdaki VBA kodu istediğiniz sonucu verecektir.
C++:
Sub Say()
For i = 32 To 2 Step -1
    If Cells(2, i) <> 0 Then Exit For
    s = s + 1
Next
    MsgBox s & " adet sıfır var."
End Sub

Teşekkürler VBA olarak doğru sonuca ulaşılıyor evet ama istediğim formül. Alt alta verilerim olacak.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Başlıklar A1:AG1 aralığında ve veriler bunun altındaki satırlardaysa, 2. satır için;

Kod:
=31-LOOKUP(2;1/($A2:$AG2>0);$A$1:$AG$1)

Türkçe Excel için LOOKUP yerine ARA kullanın....

.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Teşekkürler VBA olarak doğru sonuca ulaşılıyor evet ama istediğim formül. Alt alta verilerim olacak.
Merhaba,
Formül konusunu üstat halletmiş.
Yukarıdaki VBA kodunun isteğinize uyarlanmış (alt alta verileriniz için) hali de aşağıdadır.
C++:
Sub Say()
For j = 2 To Cells(Rows.Count, "A").End(3).Row
    s = 0
    For i = 32 To 2 Step -1
        If Cells(j, i) <> 0 Then Exit For
        s = s + 1
    Next i
    Cells(j, 33) = s
Next j
    MsgBox "Sonuçlar AG sütununda listelenmiştir."
End Sub
 
Son düzenleme:
Katılım
23 Haziran 2023
Mesajlar
7
Excel Vers. ve Dili
Excel 2013
Başlıklar A1:AG1 aralığında ve veriler bunun altındaki satırlardaysa, 2. satır için;

Kod:
=31-LOOKUP(2;1/($A2:$AG2>0);$A$1:$AG$1)

Türkçe Excel için LOOKUP yerine ARA kullanın....

.

Emeğiniz için teşekkür ederim. Fakat çalışmıyor.
 
Katılım
23 Haziran 2023
Mesajlar
7
Excel Vers. ve Dili
Excel 2013
Merhaba,
Formül konusunu üstat halletmiş.
Yukarıdaki VBA kodunun isteğinize uyarlanmış (alt alta verileriniz için) hali de aşağıdadır.
C++:
Sub Say()
For j = 2 To Cells(Rows.Count, "A").End(3).Row
    s = 0
    For i = 32 To 2 Step -1
        If Cells(j, i) <> 0 Then Exit For
        s = s + 1
    Next i
    Cells(j, 33) = s
Next j
    MsgBox "Sonuçlar AG sütununda listelenmiştir."
End Sub

Çok teşekkür ederim emeğinize sağlık. Formül olarak ulaştığımda daha mutlu olacağım. Emeklerinize sağlık
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,605
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Safa yapınızı tam olarak bilemediğimiz ve Excel dilini belirtmediğiniz için tahmini olarak;
Haluk üstadın formülünü AG2 hücresine aşağıdaki şekilde yazarak dener misiniz?
Kod:
=31-ARA(2;1/($A2:$AF2>0);$A$1:$AF$1)
 
Katılım
23 Haziran 2023
Mesajlar
7
Excel Vers. ve Dili
Excel 2013
Merhaba,
Safa yapınızı tam olarak bilemediğimiz ve Excel dilini belirtmediğiniz için tahmini olarak;
Haluk üstadın formülünü AG2 hücresine aşağıdaki şekilde yazarak dener misiniz?
Kod:
=31-ARA(2;1/($A2:$AF2>0);$A$1:$AF$1)

"EVET" bu oldu çalışıyor. Herkesin emeğine sağlık çok teşekkür ederim. :))
 
Üst