YUVARLA ??

Katılım
16 Nisan 2005
Mesajlar
353
Selam arkadaşlar

sayıların toplamını (1-5) arasında rastgele yuvarlamak olabilirmi ??

Ã?R:
9,50 +4,70 =14,30
2,5 + 0 = 2,80
4,5 + 4,00 = 8,60
4,80 + 0 = 5,20

ve
ve
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
İyi de sayın nihatjeoloji,

2,5'i 2,8'e nasıl yuvarladınız?Benim bildiğim sayı 2,55 ise 2,3'e yuvarlanır ama siz yuvarlamamış silindir gibi ezmişsiniz.Gerçi matematik bilgim pek iyi değildir ama yanlış biliyorsam BİRİ BENİ UYARSIN :hihoho: :hihoho:
 
Katılım
16 Nisan 2005
Mesajlar
353
sevgili bedersu

pardon zannetim gören hemen anlar topama sonucu yuvarlanmış...

yukarıda verdiğim örnekte rastgele yuvarlanmış hali :D

tekrar yazıyorum
Ã?R:
9,50 +4,70 =14,20-------------14,30 rastgele yuvarlansın
2,5 + 0 = 2,5-------------------2,70 rastgele yuvarlansın
4,5 + 4,00 = 8,50 ......
4,80 + 0 = 5,80 .........
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Sanırım toplama sonucuna 0,1 - 0,5 arasındaki değerlerden rasgele ekleme yapılmasını istiyorsunuz.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
merhaba sayın nihatjeoloji;

Aşağıdaki kodlarda A1 hücresine yazdığınız değere 0,1 ile 0,5 arasında rastgele değerler eklenmektedir.Buradan yola çıkarak istediğinizi yapabilirsiniz sanırım:

Sub ekle()

a = Int(5 * Rnd)
If a = 0 Then End
a = "0," & a
[a1] = [a1] + a

End Sub
 
Katılım
16 Nisan 2005
Mesajlar
353
syn bedersu

pardon kusura bakmayın galiba ben yanlış anlatın..

tekrar örnek vereceğim

B1=5,70 ise
C1=0 ise
A1=[=TOPLA(B1:C1)] Demişim ve sonuç (5,70)

ve

B2=3,20 ise
C2=4,00 ise
A2=[=TOPLA(B2:C2)] Demişim ve sonuç (7,20)

ve
A3
A4
.....
....
....

işte bu şekilde toplama sonuçları yuvarlansın (1-5)arasında
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
sayın nihatjeoloji,

Bu 1 ve 5 'ten kastınız A1 'den A5 ' e kadar olan hücre aralığı mı?Yani bu aralıktaki toplamları mı yuvarlamak istiyorsunuz?Eğer öyleyse aşağıdaki kodları deneyin.bu da olmadıysa Vallaha anlamadım :(

Sub yuvarla()
For i = 1 To 5
Range("A" & i) = Round((Range("B" & i)) + (Range("C" & i)), 2)
Next
End Sub
 
Katılım
16 Nisan 2005
Mesajlar
353
syn bedersu bu konu ile ilgilendiğiniz için teşekkür ederim

hayır hayır

1-5 arasında yani

1'nci tolama işleminde

B1=5,70 ise
C1=0 ise
A1=[=TOPLA(B1:C1)] Demişim ve sonuç (5,70) ise

bu sonuça ya(+0,3) eklensin veya (+0,4) eklensin yada (+0,5) eklensin. yani excel bunu otomatik olarak yapsın

sonuç olarak verdeğim örnekte sonuç (6,10) olabilir veya (5,90) olabilir......ve ve yani excel bunu otomatik olarak yapabilirmi





ayrı yarı yuvarlansın
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Tamam şimdi oldu.Aslında aşağıda yazdığım kodlara bakınca ne kadar basit olduğunu anlayacaksınız.İlk mesajımla son mesajımı birleştirdim sadece.Bir inceleyin.

Sub yuvarla()
For i = 1 To 5

a = Int(5 * Rnd)
If a = 0 Then a = 1
a = "0," & a

Range("A" & i) = Range("B" & i) + Range("C" & i) + a
Next i

End Sub
 
Katılım
16 Nisan 2005
Mesajlar
353
syn bedersu
çok çok sağolun

evet bu fakat ufak bir not sonuçlanması için makro çalıştır tıklıyorum sonuçlanıyor. ama hemen sonuç vermesi için ne yapmam lazım.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

Sayfanın kod kısmına lopyalayın
Sn.Bedersu'nun kodları çalışacaktır.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$B$1" Or Target.Address = "$C$1" Then yuvarla

End Sub

Yanlız buarada a1'den a5 kadar yapılmış, b ve c ye sayı girdikten sonra ,yani en son c5 sayı girdiğinizde kod çalışması daha normal değilmi eğer öyle düşünürseniz

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$C$5" Then yuvarla

End Sub
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
merhaba,

Sayın zafer'in kodlarını da kullanarak:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
For i = 1 To 5
If Target.Address = "$B$" & i Or Target.Address = "$C$" & i Then
a = Int(5 * Rnd)
If a = 0 Then a = 1
a = "0," & a

Range("A" & i) = Range("B" & i) + Range("C" & i) + a
End If


Next i
End Sub

Sanırım bu şekilde daha iyi olur.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Elhamdülillah.Vallaha sizden çok sevindim sayın nihatjeoloji;çünkü artık bende mi bir problem var,ben mi anlamıyorum demeye başlamıştım.Ama Hatice'ye değil neticeye bakmak lazım değil mi?Çok şükür bunu da hallettik hep beraber.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
:hey: :arkadas:
 
Üst