Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Fonksiyonlar
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Fonksiyonlar Bir fonksiyonun, nasıl işlediğini veya aradığınız bir işleme uygun olup olmadığını bu başlık altında sorabilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 19-11-2016, 13:15   #1
tatarcık
 
Giriş: 16/11/2006
Mesaj: 142
Excel Vers. ve Dili:
excell 2003
Varsayılan puantaj dağıtımı

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
Eklenmiş Dosyalar
Dosya Türü: xlsx örnek .xlsx (9.0 KB, 28 Görüntülenme)

Bu mesaj en son " 19-11-2016 " tarihinde saat 15:04 itibariyle tatarcık tarafından düzenlenmiştir....
tatarcık Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-11-2016, 22:46   #2
mrwarrior
Altın Üye
 
Giriş: 26/01/2013
Şehir: Balıkesir
Mesaj: 132
Excel Vers. ve Dili:
Excel 2010 Türkçe
Varsayılan

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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
=EĞER(SÜTUN()<=$P$2;1,5;EĞER(15-SÜTUN()<=$Q$2;2,5;""))
mrwarrior Çevrimdışı   Alıntı Yaparak Cevapla
Eski 19-11-2016, 23:12   #3
tatarcık
 
Giriş: 16/11/2006
Mesaj: 142
Excel Vers. ve Dili:
excell 2003
Varsayılan

Alıntı:
mrwarrior tarafından gönderildi Mesajı Görüntüle
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
=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

Bu mesaj en son " 19-11-2016 " tarihinde saat 23:22 itibariyle tatarcık tarafından düzenlenmiştir....
tatarcık Çevrimdışı   Alıntı Yaparak Cevapla
Eski 29-11-2016, 22:01   #4
tatarcık
 
Giriş: 16/11/2006
Mesaj: 142
Excel Vers. ve Dili:
excell 2003
Varsayılan

Alıntı:
mrwarrior tarafından gönderildi Mesajı Görüntüle
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
=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
tatarcık Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-11-2016, 03:16   #5
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,475
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
=EĞER(SÜTUNSAY($A$1:A1)<=$P$2;1,5;2,5)
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-11-2016, 06:28   #6
sakman26
Altın Üye
 
Giriş: 31/01/2012
Şehir: Bursa
Mesaj: 2,440
Excel Vers. ve Dili:
Excel 2010 , Türkçe
Varsayılan

Alıntı:
tatarcık tarafından gönderildi Mesajı Görüntüle
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
'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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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..
Eklenmiş Dosyalar
Dosya Türü: xlsm tatarcık.xlsm (21.5 KB, 13 Görüntülenme)
Dosya Türü: xlsm IstenilenAdetRastgele_SA.xlsm (29.3 KB, 7 Görüntülenme)
__________________
Geri dönüşü olmayan mesajlarımı siliyorum.
sakman26 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-11-2016, 15:02   #7
SAVAŞ
 
Giriş: 26/10/2005
Şehir: ankara
Mesaj: 112
Excel Vers. ve Dili:
2003
Varsayılan

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
__________________
excel.tr.xp
SAVAŞ Çevrimdışı   Alıntı Yaparak Cevapla
Eski 30-11-2016, 16:25   #8
Ömer BARAN
Uzman
 
Giriş: 08/03/2011
Şehir: ANKARA / İSTANBUL
Mesaj: 9,475
Excel Vers. ve Dili:
Office 2013 TÜRKÇE
Varsayılan

Alıntı:
SAVAŞ tarafından gönderildi Mesajı Görüntüle
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.
.
__________________
.
☾✭ İnadına TÜRKÇE ✭☽

-- Sorunuzu, gerçek belgenizle aynı yapıda ve olması gereken sonuçların elle yazıldığı örnek belge ile destekleyiniz.
-- ALTIN ÜYELİK öneriyorum. / FORUM KURALLARInı mutlaka okuyunuz.
-- ALTIN ÜYE olmayanlar, örnek belgeyi dosya.tc, dosya.co gibi bir siteye yükleyip, belgeye erişim adresini verebilir.
-- Özel mesaj ile soru sormayınız. / Geri bildirimde bulunulmayan cevaplarımı siliyorum.
Ömer BARAN Çevrimdışı   Alıntı Yaparak Cevapla
Eski 01-12-2016, 00:18   #9
tatarcık
 
Giriş: 16/11/2006
Mesaj: 142
Excel Vers. ve Dili:
excell 2003
Varsayılan

Alıntı:
Ömer BARAN tarafından gönderildi Mesajı Görüntüle
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
=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
tatarcık Çevrimdışı   Alıntı Yaparak Cevapla
Eski 01-12-2016, 00:30   #10
tatarcık
 
Giriş: 16/11/2006
Mesaj: 142
Excel Vers. ve Dili:
excell 2003
Varsayılan

Alıntı:
sakman26 tarafından gönderildi Mesajı Görüntüle
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
'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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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ü
tatarcık Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 23:04


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Rampa- Rotary- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Çorlu Sürücü Kursu- Şişli Avukat- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kaplan Tekstil- Çorlu Perde- Çorlu Havuz- Makina- Danışmazlar-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden