KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de atanan olasılıklara göre rastgele değer nasıl oluşturulur?

YazarSun Değiştirme Tarihi

Excel ile çalışırken, belirli temel olasılıkları yansıtan rastgele değerler oluşturmanız gerekebilir. Örneğin, aşağıdaki ekran görüntüsünde gösterildiği gibi, çeşitli olası sonuçları ve bunlara karşılık gelen olasılıkları içeren bir tablonuz olduğunu varsayalım.
örnek veri

Bu senaryo, iş simülasyonları, proje modellemesi ve eğitim amaçları için yaygındır; burada rastgele seçimin, verileriniz tarafından belirlenen olasılığı veya sıklığı doğru şekilde yansıtmak istenir.

Tipik ihtiyaçlar ve kullanım örnekleri şunlardır:

  • Anket yanıtlarını veya müşteri seçimlerini, belirli yanıtların daha olası olacak şekilde simüle etme.
  • Olasılık kavramlarını öğretmek amacıyla test veri kümeleri oluşturun veya rastgele çekilişler yapın.
  • Her seçeneğin bilinen bir şansa sahip olduğu seçim süreçlerini otomatikleştirin.
  • Oyun tasarımı ve risk analizinde sonuçların belirli olasılık dağılımlarına dayanması gerekir.

Aşağıda, Excel’de atanan olasılıklara göre rastgele değerler oluşturmanın birkaç yöntemi yer almaktadır: standart formüllere dayalı teknikler, gelişmiş VBA otomasyonu ve Excel’in yerleşik Veri Analizi Araçları eklentisi.


Olasılığa göre rastgele değer oluştur

Excel, belirtilen olasılıklara göre rastgele değerler oluşturmak için erişilebilir bir formül tabanlı çözüm sunar. Bu yöntem hızlı görevler için idealdir, çalışma sayfaları içinde tamamen çalışır ve ek kurulum gerektirmez.

Başlamadan önce, değerlerinizin tek bir sütunda (A2:A8) ve karşılık gelen olasılıklarının (0 ile 1 arasında ondalık olarak ifade edilir) hemen yanındaki sütunda (B2:B8) listelendiğinden emin olun. Doğruluk açısından bu olasılıkların toplamı 1’e eşit olmalıdır. Bu çözüm, yönetilebilir sayıda değere sahip tablolar için idealdir.

1.In an adjacent column (beginning at C2), kümülatif olasılıkları hesaplamak için aşağıdaki formülü girin:

=SUM($B$2:B2)

Ardından, bu formülü tüm değerlerinizi kapsayacak şekilde aşağı doğru sürükleyin. Böylece her değer için kümülatif aralıklar oluşturmuş olursunuz ve bir rastgele sayıyı belirli bir sonuca eşlemeniz kolaylaşır.
kümülatif yüzdeyi hesaplamak için bir formül kullanın

2.Herhangi bir boş hücreye (örneğin D2), olasılık dağılımınıza göre rastgele bir değer döndürmek için aşağıdaki formülü girin:

=INDEX(A$2:A$8,COUNTIF(C$2:C$8,"<="&,RAND())+1)

Rastgele bir değer görüntülemek için Enter tuşuna basın. Her F9 tuşuna bastığınızda (yeniden hesaplama) veya çalışma sayfasındaki veriler değiştiğinde yeni bir sonuç görünür.
kümülatif yüzdeler temelinde rastgele seçilmiş bir değer oluşturmak için bir formül uygulayın

İpuçları ve Önlemler:

  • B sütunundaki olasılıkların adil dağılımını sağlamak için toplamları tam olarak 1’e (veya yüzdeler kullanıyorsanız %100’e) eşit olmalıdır; ancak formüllerde bunları ondalık sayıya dönüştürün.
  • Bu teknik, kısa listeler için en uygundur; onlarca hatta yüzlerce değere sahipseniz performans düşebilir ve bakım zorlaşabilir.
  • Birden çok çekiliş için rastgele seçimi tekrarlamanız gerekiyorsa (örneğin, simüle edilmiş sonuçlardan oluşan bir toplu işlem oluşturmak gibi), son formülü aşağıya veya yanındaki bir aralığa kopyalayın.
  • Boş satırlara ve eşleşmeyen aralıklara dikkat edin; bunlar hatalara veya beklenmedik sonuçlara yol açabilir.

Hata hatırlatıcısı: #REF! veya #VALUE! hatası alırsanız, kümülatif olasılık sütununuzun veri uzunluğunuzla eşleştiğinden ve tüm olasılıkların geçerli sayısal değerlerden oluştuğundan emin olun.

kutools for excel yapay zekâ ekran görüntüsü

KUTOOLS AI ile Excel'in Sihirli Gücünü Açığa Çıkarın

  • Akıllı Yürütme: Hücre işlemlerini gerçekleştirin, verileri analiz edin ve hepsi basit komutlarla çalışan grafikler oluşturun.
  • Özel formüller: İş akışlarınızı kolaylaştırmak için özelleştirilmiş formüller oluşturun.
  • VBA Kodlama: VBA kodlarını zahmetsizce yazın ve uygulayın.
  • Formül Yorumlama: Karmaşık formülleri kolayca çözmek artık çok daha basit!
  • Metin Çevirisi: Elektronik tablolarınızda dil bariyerlerini aşın.
Excel yeteneklerinizi yapay zekâ destekli araçlarla geliştirin.Şimdi İndirinve hiç deneyemediğiniz bir verimlilik yaşayın!

VBA: Atanan olasılıklarla rastgele değerler oluştur

Daha fazla otomasyon gerektiren ya da büyük miktarda rastgele değer (örneğin binlerce örnek) üretmek isteyen kullanıcılar için Excel VBA, çalışma sayfası formüllerine kıyasla daha hızlı ve esnek bir çözüm sunar. Bu yöntem, özellikle büyük veri kümeleri üzerinde çalışırken veya simülasyonlar için toplu rastgele sonuçlar oluştururken oldukça etkilidir.

1.Geliştirici Araçları>Visual Basicbölümüne gidin, ardından VBA penceresinde Ekle>Modülseçeneğine tıklayıp aşağıdaki kodu modüle yapıştırın:

Sub GenerateRandomWithProbability()
    Dim rngValues As Range
    Dim rngProbs As Range
    Dim n As Long
    Dim i As Long
    Dim cumProbs() As Double
    Dim valList() As Variant
    Dim randNum As Double
    Dim resultRange As Range
    Dim idx As Long
    
    ' On Error, ignore
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    ' Select values
    Set rngValues = Application.InputBox("Select values range", xTitleId, Type:=8)
    
    ' Select probabilities
    Set rngProbs = Application.InputBox("Select probabilities range", xTitleId, Type:=8)
    
    ' Number of random values to generate
    n = Application.InputBox("Number of random values to generate", xTitleId, "10", Type:=1)
    
    ' Where to output
    Set resultRange = Application.InputBox("Select output start cell", xTitleId, Type:=8)
    
    If rngValues.Rows.Count <> rngProbs.Rows.Count Then
        MsgBox "Values and probabilities range must be the same size.", vbExclamation
        Exit Sub
    End If
    
    ReDim cumProbs(1 To rngValues.Count)
    ReDim valList(1 To rngValues.Count)
    
    ' Calculate cumulative probabilities
    cumProbs(1) = rngProbs.Cells(1, 1).Value
    valList(1) = rngValues.Cells(1, 1).Value
    
    For i = 2 To rngValues.Count
        cumProbs(i) = cumProbs(i - 1) + rngProbs.Cells(i, 1).Value
        valList(i) = rngValues.Cells(i, 1).Value
    Next i
    
    ' Generate random results
    For i = 1 To n
        randNum = Rnd
        For idx = 1 To UBound(cumProbs)
            If randNum <= cumProbs(idx) Then
                resultRange.Cells(i, 1).Value = valList(idx)
                Exit For
            End If
        Next idx
    Next i
End Sub

2. VBA penceresinde, kodu çalıştırmak için Çalıştır düğmesi çalıştır düğmesine tıklayın. Sırayla değerlerinizin aralığını, olasılıkların aralığını, oluşturmak istediğiniz rastgele değer sayısını ve çıktı başlangıç hücresini seçmeniz istenecektir. Makro, hedef hücreleri atanan olasılıklarınıza göre rastgele değerlerle hızla dolduracaktır.

  • Bu süreci daha büyük veri kümeleri için de tekrarlayabilir ve çıktı sütununu herhangi bir sayfada özelleştirebilirsiniz.
  • Olasılık aralığınız 1’e çok yakın değilse, kod dağılımı çarpık olabilir; varsayımlarınızı her zaman doğrulayın.
  • Bu çözüm, otomatik örnekleme, simülasyon ve yeniden üretilebilir toplu üretim için ilk tercihtir.

İpuçları: Değerlerinizi ve olasılıklarınızı bitişik ve açıkça hizalanmış şekilde tutun. VBA işlemleri Geri Al ile geri alınamadığı için, makroyu çalıştırmadan önce çalışmalarınızı mutlaka kaydedin.


İlgili Makaleler:

En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Dikey Arama (VLookup)  |  Çoklu Değerli Dikey Arama (VLookup)  |   Birden Fazla Sayfada Dikey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste…
Sütun Yöneticisi:Belirli Sayıda Sütun Ekle|Sütunları Taşı|Gizli Sütunların Görünürlük Durumunu Aç/Kapat|Aralıkları ve Sütunları Karşılaştır…
Öne Çıkan Özellikler:Izgara Odaklama   |  Tasarım Görünümü   |Gelişmiş formül çubuğu   | Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En Çok Kullanılan 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ başka dillerde de desteklenir!

Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!

Tüm Kutools eklentileri — tek bir kurulum dosyasında!

Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar