9,23456 sayısını iki hane yuvarlama hatası

Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
Merhabalar.
Excel de yuvarlama hatası çözülmüştür.
Sorun:
Excel de örnek olarak 9,23456 vb sayıları yuvarla(9,23456;2)=9,23
yabancı kaynaklar vs. araştırmama rağmen bir sonuç bulamadım.
makro denedim olmuyor, duyarlılık görünüm vs hikaye.
yıllardır böyle 97-2003...2016 ve hala soruna çözüm yok.

Çözüm?
Korhan Ayhan
Ömer BARAN
Teşekkürler.

=IF(AND(LEN(MID(A1;1+FIND(",";A1);99))-4=LEN(1*RIGHT(A1;LEN(MID(A1;1+FIND(",";A1);99))-4));1*RIGHT(A1;LEN(MID(A1;1+FIND(",";A1);99))-4)>1*REPT(4;LEN(1*RIGHT(A1;LEN(MID(A1;1+FIND(",";A1);99))-4))));ROUNDUP(A1;4);ROUNDDOWN(A1;4))

İdris Bey’in çözümü.
Bu noktadan sonra sıkıntı yaşarsanız, yazınız ama ben cevap verebilecek beceride olmasam da Moderatörler var. Teşekkürler “excel.web” ve Sn. İdris SERDAR
 
Son düzenleme:
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
9,24
kendimce kod yazamadığım için, Yuvarla(..., Yuvarla (... sıra ile iç içe bir çözüm buldum ama sayı 8,11444444444444444444444444444444446 gibi bir rakam olunca iş içinden çıkılmaz hal alıyor. yüzlerce hesap kaleminde uğraşmak zorunda kalıyorsunuz. (özellikle parasal tutar işlemlerinde)

sorun matematiksel hata olması. yuvarlama işlemini son haneden alarak öne çekememesi.
ilk mesajda yazdığım sayıyı önce virgülden sonra 4, sonra 3, sonra 2 yaptığınız zaman doğruyu elde edebiliyorsunuz.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
YUKARIYUVARLA fonksiyonu işinize yarayabilir...
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
9,24 .................
ilk mesajda yazdığım sayıyı önce virgülden sonra 4, sonra 3, sonra 2 yaptığınız zaman doğruyu elde edebiliyorsunuz.
Aşağıdaki formülü kullanabilirsiniz.
Sayının A1 hücresinde olduğu dşünüldü.
.
Kod:
=TAVANAYUVARLA([B][COLOR="blue"]A1[/COLOR][/B];0[B][COLOR="red"],01[/COLOR][/B])
 
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
teşekkürler zaman ayırdığınız için.
ömer bey.
=TAVANAYUVARLA(9,23456;0,01) = 9,24 doğru.
=TAVANAYUVARLA(9,23333;0,01) = 9,24 yanlış. 9,23 doğrusu.
benim bahsetmek istediğim. matematiksel hata ve bunu excel aşamıyor.
yüzlerce hesap satırında ya tek tek kuruşları kontrol etmeniz lazım (ki ben öyle yapmak zorunda kalıyorum.)

yada bir satırda Tavanayuvarla, diğerinde yuvarla, bir başkasında Aşağı/yukarı vs.
önemli olan matematiksel doğru olan Yuvarla(9,23456;2) = 9,24 sonucunu her satır için yakalayabilmek.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

Örnek belge eklemiyorsunuz, birbirinden farklı örnek de göremedim.

Aşağıdaki formül istediğiniz sonucu verir.
.
Kod:
=YUVARLA(A1;2)+(YUVARLA(MOD(A1;0,001);3)*10)
 
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
http://www.dosya.tc/server7/kdtuyx/BFTCall.xlsx.html
http://www.dosya.tc/server7/kdtuyx/HIZMET_BAZ.xlsx.html

İki farklı örnek. bftcall dosyasında alt kısma sorunu yazdım.
hizmet baz dosyasında sarı boyalı hücreler işlem esnasında en fazla kuruş hatası verenler.
teşekkürler ilginize.
ama daha önce de yazdığım gibi bu excel de sağlam bir matematiksel hata.
sayıyı yuvarlarken en sondan sizin istediğiniz haneye gelmiyor.
6,12444444444444444444444447 = 6,13 yapmıyor. 6,12 sonucunu size veriyor.

support.office de yazdım nafile.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İsteğe göre fonksiyon yazılarak sorun çözülebilir.
 
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
yazılacak her fonk. ve / veya formül Ömer bey'in örnekleri, sizin bahsettiğiniz gibi Yukarıyuvarla vb. gibi sadece ilgili hücreyi kapsıyor.
örnek: (sayılar ve formüller örnekleme için herhangi farklı bir sayı olabilir.)
=YUVARLA(9,23456;2)+(YUVARLA(MOD(9,23456;0,001);3)*10) =9,24 doğru. bir alt satırda ;
=YUVARLA(9,234456;2)+(YUVARLA(MOD(9,234456;0,001);3)*10) =9,23 yanlış. alt alta çok fazla hücre içeren bir hesapta her hücreye özel ilgi alaka göstermeniz gerekecek.

Not: işin garip tarafı hesap makinesi de (virgülden sonra 2 ye getirip) yaparsanız 9,23456*1=9,23 sonucu veriyor.:) Nerede benim Fx5500 üm.
 
Son düzenleme:
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
İdris Bey.
teşekkürler. emeğinize.
gördüğüm en orjinal eğer fonksiyonlarından biri olmuş. (aşağı,yukarıyuv, metinden sayıya ne varsa cem etmişsizin) saygılar.
14,40008=14,41 de ki hatayı çözemedim. (ne sorunluymuşsun arkadaş demeyin:) )

12,1238 için se =EĞER(1*SAĞDAN(A6;UZUNLUK(PARÇAAL(A6;1+BUL(",";A6);99))-2)>1*YİNELE(4;UZUNLUK(1*SAĞDAN(A6;UZUNLUK(PARÇAAL(A6;1+BUL(",";A6);99))-2)));YUKARIYUVARLA(A6;3);AŞAĞIYUVARLA(A6;3))

yaptığımda =12,123 yanlış verdi.

http://www.dosya.tc/server7/v4xanr/YUVARLAMA2.xlsx.html
hata verenleri sarıladım.
 
Son düzenleme:
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
aynı hata bir üst mesaj da eklediğim dosyaya bakarsanız sevinirim.

Bu konuyu bu kadar uzatmam da ki sebep şu; parasal işlerle uğraşanlar ki çok geniş bir kitle (ihale teklifleri, muhasebe vs. vs.) yıllardır karşıma çıkan bir sorun.
Amaç. rakam ne olursa olsun belirlenen ondalık hanesine matematiğe uygun sondan alarak yuvarla, işte excele kızdığım nokta.:)
Sizler için küçük ama benim için devasa bir adım olacak çözüme kavuşturursak.
Teşekkürler.

Şimdi gördüm.
virgül 3 ve 4 sekmeleri virgül den sonra 3, 4 rakamda hata verenler.
 
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
virgül 2 de meşhur 9,23456=9,23 hata
virgül 3 de. 9,23456 ve 12,1238 de hata,
virgül 4 de, 9,234567, 12,12347 , 12,12389, ve 14,40008 de hata.

kusura bakmayın zamanınızı alıyorum ve de hakkınızı helal edin.
 
Katılım
21 Nisan 2008
Mesajlar
21
Excel Vers. ve Dili
2003
çözülmüştür.
üstad emeğinize sağlık.
hata bulamayınca virgül 5 sekmesi yaptım orda bir hata buldum:) ama kim virgülden sonra 5 hane uğraşır o ayrı mesele ama bu benim işimi görür. çok teşekkürler.

office support a yine yazmıştım bu meseleyi bakalım onlardan gelecek cevabı da burada paylaşırım.

SAYGILAR.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
çözülmüştür.
üstad emeğinize sağlık.
hata bulamayınca virgül 5 sekmesi yaptım orda bir hata buldum:) ama kim virgülden sonra 5 hane uğraşır o ayrı mesele ama bu benim işimi görür. çok teşekkürler.

office support a yine yazmıştım bu meseleyi bakalım onlardan gelecek cevabı da burada paylaşırım.

SAYGILAR.
.

5'te formülü uygularken

Kod:
=IF(AND(LEN(MID(A1;1+FIND(",";A1);99))-4=LEN(1*RIGHT(A1;LEN(MID(A1;1+FIND(",";A1);99))-4));1*RIGHT(A1;LEN(MID(A1;1+FIND(",";A1);99))-4)>1*REPT(4;LEN(1*RIGHT(A1;LEN(MID(A1;1+FIND(",";A1);99))-4))));ROUNDUP(A1;4);ROUNDDOWN(A1;4))
formülde geçen -4'leri -5 yaparak deneyin.


.
 
Üst