puantaj dağıtımı

Katılım
16 Kasım 2006
Mesajlar
157
Excel Vers. ve Dili
excell 2003
Altın Üyelik Bitiş Tarihi
28-12-2023
arkadaşlar ekli örnekte yapmak istediğim
P2 ve Q 2 hücresine herhangi bir rakam girdiğimde
A2 ve O2 hücresine P2-Q2 hücresine yazdığım rakam kadar dağıtım yaparak yazmasını istiyorum bu fonksiyonlar ile yapılabilir mi
bu konuda yardımlarınızı bekliyorum
ne diyeceğimi bilemediğimden
konunun başlığını puantaj dağıtım diye tanımladım
yanlış mı yere konu başlığı açtım bilemiyorum
zor bir soru değildir inşaallah
 

Ekli dosyalar

Son düzenleme:
Katılım
26 Ocak 2013
Mesajlar
232
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
26-11-2023
Tam anlayamadım. siz 7 ve 8 girdiğinizde neden 1,5 ve 2,5 olarak dağıttı?

mesela siz toplamları 15 olan iki sayı gireceksiniz? buna bağlı olarak rastgele p2 deki kadar 1,5 ve q2 deki kadar 2,5 mi girmesini istiyorsunuz?

a2 hücresine yazın ve o2 ye kadar uygulayın
Kod:
=EĞER(SÜTUN()<=$P$2;1,5;EĞER(15-SÜTUN()<=$Q$2;2,5;""))
 
Katılım
16 Kasım 2006
Mesajlar
157
Excel Vers. ve Dili
excell 2003
Altın Üyelik Bitiş Tarihi
28-12-2023
Tam anlayamadım. siz 7 ve 8 girdiğinizde neden 1,5 ve 2,5 olarak dağıttı?

mesela siz toplamları 15 olan iki sayı gireceksiniz? buna bağlı olarak rastgele p2 deki kadar 1,5 ve q2 deki kadar 2,5 mi girmesini istiyorsunuz?

a2 hücresine yazın ve o2 ye kadar uygulayın
Kod:
=EĞER(SÜTUN()<=$P$2;1,5;EĞER(15-SÜTUN()<=$Q$2;2,5;""))
sayın mrwarrior;
yardımlarınız için teşekkürler işte bu
1,5 ve 2,5 sabit o yüzden

peki sizin dediğiniz gibi toplamları 15 olan sayıyı nasıl dağıtım sağlaya biliriz
ben sütun foksiyonunu anlayamadım hiç kullanmadım
ben, EĞER($P$2>=1;1,5;EĞER(p2>=2;1,5) şeklinde denedim olmadı, bilen le bilmeyen arasındaki fark burada sağ olun
Not:Q2 VE P2 hücrelerini 0 (sıfır ) veya boş yaptığımda O2 hücresinde 2,5 sabit kalıyor boş bırakmıyor hücereyi
 
Son düzenleme:
Katılım
16 Kasım 2006
Mesajlar
157
Excel Vers. ve Dili
excell 2003
Altın Üyelik Bitiş Tarihi
28-12-2023
Tam anlayamadım. siz 7 ve 8 girdiğinizde neden 1,5 ve 2,5 olarak dağıttı?

mesela siz toplamları 15 olan iki sayı gireceksiniz? buna bağlı olarak rastgele p2 deki kadar 1,5 ve q2 deki kadar 2,5 mi girmesini istiyorsunuz?

a2 hücresine yazın ve o2 ye kadar uygulayın
Kod:
=EĞER(SÜTUN()<=$P$2;1,5;EĞER(15-SÜTUN()<=$Q$2;2,5;""))
sayın mrwarrior;
yapmış olduğunuz formül a2de iken sonuç veriyor yalnız formülün başlamasını h2den itibaren uygulamaya koyduğum zaman sonuç vermiyor (kod h2-o2 hücresi arası olacak)
üzerinde çalışma yaptım ama başaramadım. bu konuda yardımlarınızı bekliyorum
iyi çalışmalar
 

Ö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.
Merhaba.

Formülü aşağıdaki ile değiştirerek, hangi hücreden başlatırsanız başlatın sonuç alırsınız.
.
Kod:
=EĞER(SÜTUNSAY($A$1:A1)<=$P$2;1,5;2,5)
 
Katılım
31 Ocak 2012
Mesajlar
2,430
Excel Vers. ve Dili
Excel 2010 , Türkçe
Altın Üyelik Bitiş Tarihi
24.01.2019
sayın mrwarrior;
yapmış olduğunuz formül a2de iken sonuç veriyor yalnız formülün başlamasını h2den itibaren uygulamaya koyduğum zaman sonuç vermiyor (kod h2-o2 hücresi arası olacak)
üzerinde çalışma yaptım ama başaramadım. bu konuda yardımlarınızı bekliyorum
iyi çalışmalar
selam,
sorudan anladığım 7 adet 1,5 ve 8 adet 2,5 değerinin H2:O2 aralığında (8 adet hücre) rastgele olarak dağıtılması...

Hücre adedi 7 olsa rastgelearada fonksiyonu ile yapmak mümkün. Fakat 8 hücre olunca çok küçük bir ihtimal bile olsa 8 inin de 1,5 gelme olasılığı var.

İnternetten bir araştırma yapıp, bulduğum kodlardan hareketle KTF yapmaya çalıştım. Kontrol ettiğimde hata vermeden çalıştı. Ama çok da detaylı kontrol etmedim.

İki dosya ekliyorum. İlki istenilene cevap niteliğinde , ikincisi ise biraz daha genelleştirilmiş olarak , istenilen adette rastgele dağılım elde etmeye yönelik..

KTF :

Kod:
'Kodlar internetten alıntılanıp, KTF olarak uyarlanmıştır.

Function Rastgele(Alt As Long, Ust As Long, _
         Adet As Long) As Variant
    Dim i As Long, r As Long, t As Long
    
    ReDim iArr(Alt To Ust) As Long
    
    For i = Alt To Ust: iArr(i) = i: Next i
    For i = 1 To Adet
        r = Int(Rnd() * (Ust - Alt + 1 - (i - 1))) _
            + (Alt + (i - 1))
        t = iArr(r): iArr(r) = iArr(Alt + i - 1): _
            iArr(Alt + i - 1) = t
        Next i
    
    ReDim Preserve iArr(Alt To Ust + Adet - 1)
    
    Rastgele = iArr
End Function
istenilene cevap niteliğinde olan dosya için, yeniden üretmeye yönelik kod :

Kod:
Sub yenile()
Application.ScreenUpdating = False
    [sa].ClearContents
        With Range("sa")
            .FormulaArray = "=IFERROR(INDEX(puan,Rastgele(1,mak,adt)),"""")"
            .Value = .Value
        End With
    [adt].Select
Application.ScreenUpdating = True
End Sub
ve genelleştirilmiş olan için ise kod :

Kod:
Sub yenile()
Application.ScreenUpdating = False
    [Alan].ClearContents
        With Range("sa")
            .FormulaArray = "=IFERROR(INDEX(list,TRANSPOSE(Rastgele(1,mak,mak))),"""")"
            .Value = .Value
        End With
    [snc].Select
Application.ScreenUpdating = True
End Sub
Dosyalarda gerekli açıklamaları yapmaya çalıştım..
Umarım faydalı olur..
 

Ekli dosyalar

Katılım
27 Ekim 2005
Mesajlar
121
Excel Vers. ve Dili
2003
TOPLA.ÇARPIM(--(HAFTANINGÜNÜ(B4;E4;H4;K4;P4;U4;Z4;AD4;AK4;AN4;AQ4;AT4)=2);--(B4;E4;H4;K4;P4;U4;Z4;AD4;AK4;AN4;AQ4;AT4<>0)) bu formül neden çalışmadı yardım
 

Ö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.
TOPLA.ÇARPIM(--(HAFTANINGÜNÜ(B4;E4;H4;K4;P4;U4;Z4;AD4;AK4;AN4;AQ4;AT4)=2);--(B4;E4;H4;K4;P4;U4;Z4;AD4;AK4;AN4;AQ4;AT4<>0)) bu formül neden çalışmadı yardım
Merhaba.

Sorunuzun bu konu sayfasıyla bir ilgisini göremedim.

Gerçek belgenizle aynı yapıda ve içerisinde farklı seçeneklerin bulunduğu veriler olacak şekilde
bir örnek belgeyle destekleyerek yeni bir konu açmanızı öneriyorum.

Arada kalan hücrelerin durumunu da netleştirmenizde yarar var sanırım.
.
 
Katılım
16 Kasım 2006
Mesajlar
157
Excel Vers. ve Dili
excell 2003
Altın Üyelik Bitiş Tarihi
28-12-2023
Merhaba.

Formülü aşağıdaki ile değiştirerek, hangi hücreden başlatırsanız başlatın sonuç alırsınız.
.
Kod:
=EĞER(SÜTUNSAY($A$1:A1)<=$P$2;1,5;2,5)
sayın Ömer BARAN;
yardımlarınız için teşekkür ederim
Formülü örnek çalmaya uyguladım, p2 hücresine göre 1,5 olarak dağılım yapıyor ancak Q2 hücresindeki rakamı dikkate almıyor P2 hücresindeki rakamdan sonra kalan hücrelere 2,5 dağıtım yapıyor
normalde P2 ve Q2 hücresine verilen rakam kadar dağılım yapması gerekiyor
 
Katılım
16 Kasım 2006
Mesajlar
157
Excel Vers. ve Dili
excell 2003
Altın Üyelik Bitiş Tarihi
28-12-2023
selam,
sorudan anladığım 7 adet 1,5 ve 8 adet 2,5 değerinin H2:O2 aralığında (8 adet hücre) rastgele olarak dağıtılması...

Hücre adedi 7 olsa rastgelearada fonksiyonu ile yapmak mümkün. Fakat 8 hücre olunca çok küçük bir ihtimal bile olsa 8 inin de 1,5 gelme olasılığı var.

İnternetten bir araştırma yapıp, bulduğum kodlardan hareketle KTF yapmaya çalıştım. Kontrol ettiğimde hata vermeden çalıştı. Ama çok da detaylı kontrol etmedim.

İki dosya ekliyorum. İlki istenilene cevap niteliğinde , ikincisi ise biraz daha genelleştirilmiş olarak , istenilen adette rastgele dağılım elde etmeye yönelik..

KTF :

Kod:
'Kodlar internetten alıntılanıp, KTF olarak uyarlanmıştır.

Function Rastgele(Alt As Long, Ust As Long, _
         Adet As Long) As Variant
    Dim i As Long, r As Long, t As Long
    
    ReDim iArr(Alt To Ust) As Long
    
    For i = Alt To Ust: iArr(i) = i: Next i
    For i = 1 To Adet
        r = Int(Rnd() * (Ust - Alt + 1 - (i - 1))) _
            + (Alt + (i - 1))
        t = iArr(r): iArr(r) = iArr(Alt + i - 1): _
            iArr(Alt + i - 1) = t
        Next i
    
    ReDim Preserve iArr(Alt To Ust + Adet - 1)
    
    Rastgele = iArr
End Function
istenilene cevap niteliğinde olan dosya için, yeniden üretmeye yönelik kod :

Kod:
Sub yenile()
Application.ScreenUpdating = False
    [sa].ClearContents
        With Range("sa")
            .FormulaArray = "=IFERROR(INDEX(puan,Rastgele(1,mak,adt)),"""")"
            .Value = .Value
        End With
    [adt].Select
Application.ScreenUpdating = True
End Sub
ve genelleştirilmiş olan için ise kod :

Kod:
Sub yenile()
Application.ScreenUpdating = False
    [Alan].ClearContents
        With Range("sa")
            .FormulaArray = "=IFERROR(INDEX(list,TRANSPOSE(Rastgele(1,mak,mak))),"""")"
            .Value = .Value
        End With
    [snc].Select
Application.ScreenUpdating = True
End Sub
Dosyalarda gerekli açıklamaları yapmaya çalıştım..
Umarım faydalı olur..
sayın Sakman26;
yardımlarınız için teşekkürler
vba sız fonksiyonlu olabilir mi
yaklaşık 2000 kişilik liste var ben sadece isim karşılarına 5 tane 1,5 veya 8 tane 2,5 puan üzerinden dağılım yapmasını istiyorum acaba mümkün mü
 

Ö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.

Keşke birkaç satırlık (birbirinden farklı durumları örnekleyebilecek şekilde) örnek veri olsaydı.
Bir de aşağıdaki formülü deneyin isterseniz, belki istediğiniz budur.
Formül;
-- P sütunundaki sayı adetinde hücreye 1,5 yazar,
-- bundan sonra gelen Q sütunundaki sayı adetinde hücreye ise 2,5 yazar.
-- P+Q değeri 15'den az ise sağ tarafta boş hücreler bırakır.
.
Kod:
=EĞER(SÜTUNSAY($A$1:A1)<=$P2;1,5;EĞER(SÜTUNSAY($A$1:A1)<=$P2+$Q2;2,5;""))
 
Katılım
16 Kasım 2006
Mesajlar
157
Excel Vers. ve Dili
excell 2003
Altın Üyelik Bitiş Tarihi
28-12-2023
Tekrar merhaba.

Keşke birkaç satırlık (birbirinden farklı durumları örnekleyebilecek şekilde) örnek veri olsaydı.
Bir de aşağıdaki formülü deneyin isterseniz, belki istediğiniz budur.
Formül;
-- P sütunundaki sayı adetinde hücreye 1,5 yazar,
-- bundan sonra gelen Q sütunundaki sayı adetinde hücreye ise 2,5 yazar.
-- P+Q değeri 15'den az ise sağ tarafta boş hücreler bırakır.
.
Kod:
=EĞER(SÜTUNSAY($A$1:A1)<=$P2;1,5;EĞER(SÜTUNSAY($A$1:A1)<=$P2+$Q2;2,5;""))
Sayın Ömer Baran;
Teşekkür Ederim Yardımlarınız için.
Tam İstediğim Gibi Olmuş
İyi Çalışmalar
 
Üst