• Bir süredir maillerde yaşanan sorunlar giderilmiştir. Şifremi unuttum yaparak şifrelerinizi mailinizden alabilirsiniz.

  • Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Yuvarlama Ne Şekilde Olabilir

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

incsoft

Yeni Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
13 Eki 2021
Mesajlar
133
Çözümler
1
Aldığı beğeni
15
Excel V
Office 2019 TR
Konuyu Başlatan
Arkadaşlar sarı sütündaki formüllü değerleri yeşil sütunda belirttiğim değerler gibi ne şekilde yuvalama yapabilirim? A sütununda tüm hücreler her zaman dolu olmayabilir. Mesela bazen 4 bazen 6 bazen hepsi dolu olabilir.
 

Ekli dosyalar

  • yuvarlama.xlsm
    10.7 KB · Gösterim: 3
Çözüm
Eğer üst mesajımda 2 nolu Not olarak yazdığım olay, geçerli ise, yani SARI alan olmayacaksa
çözüm aşağıdaki gibi olabilir. Formül doğal olarak uzadı. Ayrıca Sarı alandaki hesaplama formülün içerisine yazıldı, ama, tekrar tekrar hesaplatılmakta.

Not : Ben Excel365 ile yaptığımdan formülü dizi formül olarak girmek gerekmiyor. Excel2019 da DİZİ formül olarak girmek gerekiyor. CTRL+SHIFT+ENTER ile C2 hücresine formül girilir ve C2 hücresi aşağıya doğru kopyalanır.
057.png

Ekleme : 20.02.2023 22:20
Dosyayı eklemeyi unutmuşum. Dosya eklendi.
Merhaba yuvarlamanın mantığı küsüratları görmezden gelmektir. Hem yuvarlama yapılsın hem de genel toplam ile birebir uyuşsun gibi bir durum olamaz. Küsüratı görmezden gelmek yani yuvarlamak bunu gerektirir.. Ama genel toplamda küsüratlar birebir toplanmış olur..

En mantıklı çözüm Sn. userx in de belirttiği gibi

YUVARLA(A2*$D$2;0)

Yada

KYUVARLA(A2*$D$2;1) dir.
 
Son hücrenin hangisi olduğunu bilsem mesela =C2-TOPLA(B2:B8) şeklinde yaparım ancak bazen B8 e kadar dolu oluyor bazende dediğim gibi B4 ya da B6
 
Selamlar,
Formülle BELKİ şöyle yapılabilir....
(Olası durumları deneme yapamadım. Siz denersiniz..)

026.png
 

Ekli dosyalar

  • yuvarlama.xlsm
    11.5 KB · Gösterim: 1
Bende gayet güzel çalışıyor.
Siz çalışmayan, hata olan dosyayı ekleyin.

Not :
1 - Açıklamada da yazdım. Formüller DİZİ Formüldür. Yani CTRL+SHIFT+ENTER ile girilmelidir. Eğer sadece ENTER ile girdiyseniz (ki bunu formül çubuğunda formülün önünde ve sonunda { } parantezlerinin olup olmamasından anlayabilirsiniz) HATA vermesi doğaldır.
2 - Resimden gördüğüm kadarıyla, B kolonundaki SARI alanlar silinmiş. Verilen formülde, B kolonu Referans alınmakta ve o kolonu da bulamayınca HATA vermesi kaçınılmazdır. Yeniden formül yazmak gerekir. Ben Yeşil alana B kolonu referans alınacak şekilde formüle etmiştim. Demek ki, yanlış yorumlamışım.
 
Eğer üst mesajımda 2 nolu Not olarak yazdığım olay, geçerli ise, yani SARI alan olmayacaksa
çözüm aşağıdaki gibi olabilir. Formül doğal olarak uzadı. Ayrıca Sarı alandaki hesaplama formülün içerisine yazıldı, ama, tekrar tekrar hesaplatılmakta.

Not : Ben Excel365 ile yaptığımdan formülü dizi formül olarak girmek gerekmiyor. Excel2019 da DİZİ formül olarak girmek gerekiyor. CTRL+SHIFT+ENTER ile C2 hücresine formül girilir ve C2 hücresi aşağıya doğru kopyalanır.
057.png

Ekleme : 20.02.2023 22:20
Dosyayı eklemeyi unutmuşum. Dosya eklendi.
 

Ekli dosyalar

  • yuvarlama_1.xlsm
    10.6 KB · Gösterim: 2
Son düzenleme:
Çözüm
Ben teşekkür ediyorum.
Yardımcı olabildiysem ne mutlu.

Yine de bir konuyu yazmak istiyorum.

365 kullandığım için, yazdığım bazı dizi formüllerin, diğer versiyonlarda çalışmadığı yönünde geri dönüşler alıyorum.
Deneme şansım da olmadığı için, bazen, uzunca formül kullanarak cevap yazmaya çalışıyorum.

Bu formülde de, formülün ilk kısmı direkt olarak, EĞERHATA ile sarılarak yapılabilir, ancak, sizin versiyonda çalışması konusunda problem yaratır mı emin olamıyorum.

Yani formül şöyle olabilir.
=EĞER($A2="";"";TAMSAYI($A2*$B$2/TOPLA($A$2:$A$9))+EĞERHATA(MOD($A2*$B$2/TOPLA($A$2:$A$9);1)-SATIR()/10^6>=BÜYÜK(EĞERHATA(MOD(EĞER($A$2:$A$9="";"";$A$2:$A$9*$B$2/TOPLA($A$2:$A$9));1)-SATIR($A$2:$A$9)/10^6;0);YUVARLA(TOPLA(EĞERHATA(MOD(EĞER($A$2:$A$9="";"";$A$2:$A$9*$B$2/TOPLA($A$2:$A$9));1);0));0));0))

Çalışmazsa da, anlamını yazayım..
BÜYÜK işleviyle, yukarı / aşağı yuvarlama parametresi bulunuyor. Örneğin 0,425 bulunuyorsa 0,425 den büyük olanlar Yukarı yuvarlanıyor, küçük olanlar Aşağı yuvarlanıyor. (Not :Bu yukarı/aşağı yuvarlanmalarda, 0,425 olup da tekrarlı verilerin de ayrıca hesaplanması gerekiyor. Kaçı aşağı /kaçı yukarı) Burada YUVARLA(TOPLA(EĞERHATA(MOD(EĞER($A$2:$A$9="";"";$A$2:$A$9*$B$2/TOPLA($A$2:$A$9));1);0));0)) kısmında da Ondalık sayıların toplamı alınarak BÜYÜK işlevinde, kaçıncı Büyük olduğu hesaplanıyor.
Eğer ki, Verileri katsayı ile çarptığınızda Ondalık kısım hiç olmuyor ve tamamı Tamsayı elde ediliyorsa, bu durumda MOD Toplam = 0 olup, BÜYÜK işlevi Hata veriyor. İşte bu hatanın önüne geçilmesi, tamamı tamsayı ise 0 olması gerekiyor. Bu olay bunun için yazıldı.
EĞERHATA ile çözümleniyor. Dizi formül olduğundan sizde çalışıp çalışmadığından emin olamıyorum.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst