=0/0 hatası

Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
merhabalar

excelde a1 hücresinde 0, b1 hücresinde 0 değeri varsa c1 hücresine formül olarak =a1/b1 formülü uygulammışsam #SAYI/0! hatası geliyor hücreye.

ben bunu makro kod ile yazsam Range("c1") = (Range("a1") / Range("b1")) bu sefer makro hata veriyor.

bu makro kodunda hata vermemesi için nasıl bir şey yazmam gerekir bilgilerinizi rica ederim
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,311
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2026
Bu aslında excel değil matematik konusu. 0/0 yani sıfırı sıfıra bölmek mantıksal hata verir. O yüzden hata mesajı veriyor. Aynı şekilde herhangi sayıyı sıfıra bölmek de mantıksal hata verir. Ancak sıfırı bir sayıya böldüğünüzde sonuç sıfır olacaktır. Şöyle ki.
0/0=#SAYI/0!
1/0=#SAYI/0!
0/1=0
Şeklinde olacaktır.
Saygılarımla.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,717
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Formül ile sonuç alınmak istendiğinde ;

C1=EĞERHATA(TOPLA(A1/B1);0)

Bu durumda C1; 0 olur, formülde 0 yerine "" yazarsanız, C1 ; BOŞ gözükür,

Makronuzuda buna göze düzenleyebilir siniz,

Teşekkür ederim.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
çok teşekkürler üstadım. formülle uygulayınca oldu fakat işi makroya dökmeye gelince yapamadım. hata veriyor sürekli

makro olarak şöyle bir şey yazdım ama işlemiyor
Range("c1") = WorksheetFunction.IfError(WorksheetFunction.Sum(Range("a1") / Range("b1")), 0)

ayrıca bir sorum daha olacak
şimdi ben bu a1b1 c1 hücrelerini temsili verdim.

a1:U21 hücre aralığında bu tip hesaplama olan hücreler var.
bazıhücrelere manuel girilen bir değere göre bazı hücrelerde bölme işlemi yapılıyor
tüm bu hücrelerde olabilecek herhangi bir 0/0 hatasına karşı o hücrelere ilişkin hücrelerine 0 ve 0 yazılmış ise bölme işlemini 0 olarak gösterme durumunu nasıl yapabiliriz.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,717
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Anılan hücre aralığında, bölme işlemi yapılarak sonuç alınacak hücreler belli ise, önerilen formül o hücrelere tatbik edile bilir,

Farklı bir çözüm için, önerim ;

İstenilen sonuçları elle girilmiş, örnek bir dosyayı her hangi bir dosya yükleme sitesine yükleyip, linki burada paylaşmanızdır.

Teşekkür ederim.
 
Katılım
8 Eylül 2008
Mesajlar
950
Excel Vers. ve Dili
2016 İngilizce
merhabalar

aşağıdaki linkte örnek dosyayı yükledim

sarı renk ile blokladığım hücreler bölme işleminin yapıldığı hücreler.

bu hücrelerde bölen değeri sıfırdan farklı ise zaten sorun yok bölüm sonucunu yazıyor.

ama bölen 0 ise #SAYI/0! hatasını veriyor

fakat bu dosya içerisindeki formüller mevcut

ben bu matemtiksel formülleri makro düzeneğine aktardım. makro kod düzeneğimde aşağıda olup ben bu 0 a bölüm varsa bu bölme olan hücrelerde yazılacak değerin 0 olmasını istiyorum


Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)


[b10] = WorksheetFunction.Sum([b3:b9])
[b19] = WorksheetFunction.Sum([b12:b18])
[b21] = WorksheetFunction.Sum([b10, b19])

[c10] = WorksheetFunction.Sum([c3:c9])
[c19] = WorksheetFunction.Sum([c12:c18])
[c21] = WorksheetFunction.Sum([c10, c19])

[d10] = WorksheetFunction.Sum([d3:d9])
[d19] = WorksheetFunction.Sum([d12:d18])
[d21] = WorksheetFunction.Sum([d10, d19])

[f10] = WorksheetFunction.Sum([f3:f9])
[f19] = WorksheetFunction.Sum([f12:f18])
[f21] = WorksheetFunction.Sum([f10, f19])

[g10] = WorksheetFunction.Sum([g3:g9])
[g19] = WorksheetFunction.Sum([g12:g18])
[g21] = WorksheetFunction.Sum([g10, g19])

[I10] = WorksheetFunction.Sum([I3:I9])
[I19] = WorksheetFunction.Sum([I12:I18])
[I21] = WorksheetFunction.Sum([I10, I19])

[j10] = WorksheetFunction.Sum([j3:j9])
[j19] = WorksheetFunction.Sum([j12:j18])
[j21] = WorksheetFunction.Sum([j10, j19])

[k10] = WorksheetFunction.Sum([k3:k9])
[k19] = WorksheetFunction.Sum([k12:k18])
[k21] = WorksheetFunction.Sum([k10, k19])

[l10] = WorksheetFunction.Sum([l3:l9])
[l19] = WorksheetFunction.Sum([l12:l18])
[l21] = WorksheetFunction.Sum([l10, l19])

[n3] = WorksheetFunction.Sum([j3, l3])
[n4] = WorksheetFunction.Sum([j4, l4])
[n5] = WorksheetFunction.Sum([j5, l5])
[n6] = WorksheetFunction.Sum([j6, l6])
[n7] = WorksheetFunction.Sum([j7, l7])
[n8] = WorksheetFunction.Sum([j8, l8])
[n9] = WorksheetFunction.Sum([j9, l9])
[n10] = WorksheetFunction.Sum([j10, l10])
[n12] = WorksheetFunction.Sum([j12, l12])
[n13] = WorksheetFunction.Sum([j13, l13])
[n14] = WorksheetFunction.Sum([j14, l14])
[n15] = WorksheetFunction.Sum([j15, l15])
[n16] = WorksheetFunction.Sum([j16, l16])
[n17] = WorksheetFunction.Sum([j17, l17])
[n18] = WorksheetFunction.Sum([j18, l18])
[n19] = WorksheetFunction.Sum([j19, l19])
[n21] = WorksheetFunction.Sum([n10, n19])

[m3] = WorksheetFunction.Sum([I3, k3])
[m4] = WorksheetFunction.Sum([I4, k4])
[m5] = WorksheetFunction.Sum([I5, k5])
[m6] = WorksheetFunction.Sum([I6, k6])
[m7] = WorksheetFunction.Sum([I7, k7])
[m8] = WorksheetFunction.Sum([I8, k8])
[m9] = WorksheetFunction.Sum([I9, k9])
[m10] = WorksheetFunction.Sum([I10, k10])
[m12] = WorksheetFunction.Sum([I12, k12])
[m13] = WorksheetFunction.Sum([I13, k13])
[m14] = WorksheetFunction.Sum([I14, k14])
[m15] = WorksheetFunction.Sum([I15, k15])
[m16] = WorksheetFunction.Sum([I16, k16])
[m17] = WorksheetFunction.Sum([I17, k17])
[m18] = WorksheetFunction.Sum([I18, k18])
[m19] = WorksheetFunction.Sum([I19, k19])
[m21] = WorksheetFunction.Sum([m10, m19])


[p3] = WorksheetFunction.Sum([b3, m3])
[p4] = WorksheetFunction.Sum([b4, m4])
[p5] = WorksheetFunction.Sum([b5, m5])
[p6] = WorksheetFunction.Sum([b6, m6])
[p7] = WorksheetFunction.Sum([b7, m7])
[p8] = WorksheetFunction.Sum([b8, m8])
[p9] = WorksheetFunction.Sum([b9, m9])
[p10] = WorksheetFunction.Sum([b10, m10])
[p12] = WorksheetFunction.Sum([b12, m12])
[p13] = WorksheetFunction.Sum([b13, m13])
[p14] = WorksheetFunction.Sum([b14, m14])
[p15] = WorksheetFunction.Sum([b15, m15])
[p16] = WorksheetFunction.Sum([b16, m16])
[p17] = WorksheetFunction.Sum([b17, m17])
[p18] = WorksheetFunction.Sum([b18, m18])
[p19] = WorksheetFunction.Sum([b19, m19])
[p21] = WorksheetFunction.Sum([b21, m21])

[q3] = WorksheetFunction.Sum([c3, n3])
[q4] = WorksheetFunction.Sum([c4, n4])
[q5] = WorksheetFunction.Sum([c5, n5])
[q6] = WorksheetFunction.Sum([c6, n6])
[q7] = WorksheetFunction.Sum([c7, n7])
[q8] = WorksheetFunction.Sum([c8, n8])
[q9] = WorksheetFunction.Sum([c9, n9])
[q10] = WorksheetFunction.Sum([c10, n10])
[q12] = WorksheetFunction.Sum([c12, n12])
[q13] = WorksheetFunction.Sum([c13, n13])
[q14] = WorksheetFunction.Sum([c14, n14])
[q15] = WorksheetFunction.Sum([c15, n14])
[q16] = WorksheetFunction.Sum([c16, n14])
[q17] = WorksheetFunction.Sum([c17, n14])
[q18] = WorksheetFunction.Sum([c18, n14])
[q19] = WorksheetFunction.Sum([c19, n19])
[q21] = WorksheetFunction.Sum([q10, q19])


Range("d3") = (Range("C3") - Range("B3"))
Range("d4") = (Range("C4") - Range("B4"))
Range("d5") = (Range("C5") - Range("B5"))
Range("d6") = (Range("C6") - Range("B6"))
Range("d7") = (Range("C7") - Range("B7"))
Range("d8") = (Range("C8") - Range("B8"))
Range("d9") = (Range("C9") - Range("B9"))
Range("d10") = (Range("C10") - Range("B10"))

Range("E3") = (Range("C3") / Range("B3"))
Range("E4") = (Range("C4") / Range("B4"))
Range("E5") = (Range("C5") / Range("B5"))
Range("E6") = (Range("C6") / Range("B6"))
Range("E7") = (Range("C7") / Range("B7"))
Range("E8") = (Range("C8") / Range("B8"))
Range("E9") = (Range("C9") / Range("B9"))
Range("E10") = (Range("C10") / Range("B10"))

Range("r3") = (Range("q3") - Range("p3"))
Range("r4") = (Range("q4") - Range("p4"))
Range("r5") = (Range("q5") - Range("p5"))
Range("r6") = (Range("q6") - Range("p6"))
Range("r7") = (Range("q7") - Range("p7"))
Range("r8") = (Range("q8") - Range("p8"))
Range("r9") = (Range("q9") - Range("p9"))
Range("r10") = (Range("q10") - Range("p10"))
Range("r12") = (Range("q12") - Range("p12"))
Range("r13") = (Range("q13") - Range("p13"))
Range("r14") = (Range("q14") - Range("p14"))
Range("r15") = (Range("q15") - Range("p15"))
Range("r16") = (Range("q16") - Range("p16"))
Range("r17") = (Range("q17") - Range("p17"))
Range("r18") = (Range("q18") - Range("p18"))
Range("r19") = (Range("q19") - Range("p19"))
Range("r21") = (Range("q21") - Range("p21"))

Range("s3") = (Range("q3") / Range("p3"))
Range("s4") = (Range("q4") / Range("p4"))
Range("s5") = (Range("q5") / Range("p5"))
Range("s6") = (Range("q6") / Range("p6"))
Range("s7") = (Range("q7") / Range("p7"))
Range("s8") = (Range("q8") / Range("p8"))
Range("s9") = (Range("q9") / Range("p9"))
Range("s10") = (Range("q10") / Range("p10"))
Range("s12") = (Range("q12") / Range("p12"))
Range("s13") = (Range("q13") / Range("p13"))
Range("s14") = (Range("q14") / Range("p14"))
Range("s15") = (Range("q15") / Range("p15"))
Range("s16") = (Range("q16") / Range("p16"))
Range("s17") = (Range("q17") / Range("p17"))
'Range("s18") = Application.WorksheetFunction.IfError(Range("q18") / Range("p18"), 0)

Range("s19") = (Range("q19") / Range("p19"))
Range("s21") = (Range("q21") / Range("p21"))

Range("u3") = (Range("q3") / (Range("p3") * (23 / 30)))
Range("u4") = (Range("q4") / (Range("p4") * (23 / 30)))
Range("u5") = (Range("q5") / (Range("p5") * (23 / 30)))
Range("u6") = (Range("q6") / (Range("p6") * (23 / 30)))
Range("u7") = (Range("q7") / (Range("p7") * (23 / 30)))
Range("u8") = (Range("q8") / (Range("p8") * (23 / 30)))
Range("u9") = (Range("q9") / (Range("p9") * (23 / 30)))
Range("u10") = (Range("q10") / (Range("p10") * (23 / 30)))
Range("u12") = (Range("q12") / (Range("p12") * (23 / 30)))
Range("u13") = (Range("q13") / (Range("p13") * (23 / 30)))
Range("u14") = (Range("q14") / (Range("p14") * (23 / 30)))
Range("u15") = (Range("q15") / (Range("p15") * (23 / 30)))
Range("u16") = (Range("q16") / (Range("p16") * (23 / 30)))
Range("u17") = (Range("q17") / (Range("p17") * (23 / 30)))
'Range("u18") = "IFERROR(Sum(Range("q18") / (Range("p18") * (23 / 30)))
Range("u19") = (Range("q19") / (Range("p19") * (23 / 30)))
Range("u21") = (Range("q21") / (Range("p21") * (23 / 30)))


End Sub
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,405
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Burada problem paydanın sıfır olması olduğuna göre, bunu kontrol eden bir if sorgusu ile probleminizi çözebilirisiniz.
Mesela;
Kod:
If Range("B1") = 0 Then
    Range("C1") = 0
Else
    Range("C1") = Range("A1") / Range("B1")
End If
 
Üst