Excel’de bir veri listesinden rastgele değerleri nasıl doldurabilirim?
Excel’de önceden tanımlanmış bir listeden rastgele değer seçmek, veri analizi, simülasyonlar, rastgele atama, örnekleme, test senaryoları ve daha fazlasında yaygın olarak kullanılan güçlü bir tekniktir. Ödül çekilişlerini simüle etmek, kalite güvencesi için rastgele test senaryoları oluşturmak ya da görevleri ekip üyelerine adil ve hızlı bir şekilde dağıtmak gibi pek çok durumda bu yöntemi kullanabilirsiniz. Excel’de bu işlemi otomatikleştirmek, manuel seçimlere göre iş akışınızı hem çok daha verimli hale getirir hem de hatalara karşı direnç kazandırır.
Bu kapsamlı kılavuz, tüm kullanıcılar için uygun olan doğrudan formül tabanlı yaklaşımlardan, VBA ile gelişmiş otomasyona ve hatta Kutools for Excel gibi özel kullanıcı dostu araçlara kadar bu hedefe ulaşmanız için çeşitli yöntemleri adım adım açıklar. Her yöntemin kendine özgü güçlü yönleri ve ideal kullanım senaryoları vardır; aşağıda bunlar analiz edilerek ihtiyacınız doğrultusunda en iyi çözümü seçmenize yardımcı olunmuştur.
Formüllerle bir veri listesinden rastgele değer doldurma
Bu bölümde, belirli bir listeden rastgele değerler doldurmak için birkaç pratik formül tabanlı yöntemi inceleyeceğiz. Bu çözümler ek kurulum gerektirmez ve Excel’in çoğu modern sürümünde kolayca uygulanabilir.
✅ Formül 1: INDEX + RANDBETWEEN işlevleri
INDEX ve RANDBETWEEN işlevlerinin birleşimi, bir listeden rastgele değer seçmenin klasik ve tüm Excel sürümleriyle uyumlu yöntemidir. Kopyalara izin verilen rastgele örnekleme veya sahte veri oluşturma gibi senaryolarda tek ya da birden fazla rastgele değerin hızlıca üretilmesi için idealdir.
Bu yöntemi kullanmak için aşağıdaki formülü boş bir hücreye (örneğin B2) kopyalayın veya girin, ardından ihtiyacınız kadar rastgele değer doldurmak için doldurma tutamacını aşağı doğru sürükleyin. Unutmayın: Çalışma sayfası her yeniden hesaplandığında, formüldeki RANDBETWEEN gibi geçici işlevler nedeniyle sonuçlar değişir.
=INDEX($A$2:$A$15, RANDBETWEEN(1, COUNTA($A$2:$A$15))) 
- A2:A15: Rastgele seçim yapmak istediğiniz değerlerin bulunduğu listeyi temsil eder.
- COUNTA($A$2:$A$15): Listenizdeki öğe sayısını dinamik olarak sayar; liste uzunluğu değişse bile formülün sağlam kalmasını sağlar.
- RANDBETWEEN(1, n): Listedeki öğe sayısını temsil eden n ile 1 arasında rastgele bir tam sayı üretir.
- INDEX(range, number): Listenizde rastgele seçilen konuma karşılık gelen öğeyi getirir.
Uyarılar: Sonuçların değişmeden kalmasını istiyorsanız, doldurulan hücreleri kopyalayıp değer olarak yapıştırdığınızdan emin olun. Bu strateji kopyaları dışlamaz; benzersizlik gerekiyorsa, sonraki bölümlerde açıklanan yöntemleri göz önünde bulundurun veya sonrasında düzenleme yapın.
✅ Formül 2: INDEX + RANDARRAY işlevleri (Excel 365 / 2021+)
INDEX ve RANDARRAY işlevlerinin birleşimi, Excel 365 ve Excel 2021 kullanıcıları için uygundur. Bu yaklaşım, tek seferde birçok rastgele seçim çıktısı almanızı sağlayan dinamik dizileri kullanır ve aynı anda belirli miktarda rastgele seçim yapılması gerektiğinde iş akışlarını kolaylaştırır. Ancak önceki formül gibi bu yöntem de toplu çıktı içinde sonuçların benzersizliğini garanti etmez.
Bu çözümü kullanmak için formülü boş bir hücreye (örneğin B2) girin ve Enter tuşuna basın. Excel, oluşturulan rastgele değerleri otomatik olarak alttaki hücrelere “döker”. Örneğin, aşağıdaki formül listeden 5 adet rastgele değer verir:
=INDEX(A2:A15, RANDARRAY(5, 1, 1, COUNTA(A2:A15), TRUE)) 
- A2:A15: Rastgele seçim için tanımlanan veri listesi.
- COUNTA(A2:A15): Hedef aralıktaki dolu hücreleri sayar.
- RANDARRAY(5,1,1, COUNTA(…), TRUE): Listedeki son konum ile 1 arasında 5 adet rastgele tam sayı üretir ve dikey bir dizi (1 sütun) oluşturur.
- INDEX(A2:A15, …): Her rastgele sayıyı listenizdeki bir değere eşleştirir.
İpuçları: Farklı sayıda rastgele değer istiyorsanız, 5 kısmını RANDARRAY(5,1, ...) içinde buna göre ayarlayın. Sonuçların sabit kalmasını istiyorsanız, formül tabanlı çıktıların çalışma sayfası değişikliklerinde güncellendiğini unutmayın ve bunları değer olarak yapıştırın.
VBA ile bir listeden rastgele değer doldurma (Gelişmiş ve Özelleştirilebilir Çözüm)
Eğer büyük ölçekli rastgele değer atamalarını otomatikleştirmeniz, tekrarlanan girişleri önlemek veya seçim sırasında karmaşık mantık kuralları uygulamak gerekiyorsa, VBA (Visual Basic for Applications) yaklaşımı idealdir. VBA, gerçekten benzersiz rastgele seçimler yapmanızı, özel dağıtım mantıkları oluşturmanızı ve tek bir komutla görevleri yinelemenizi sağlar—bu da gelişmiş simülasyonlar, otomatik rastgele tahsis süreçleri veya kapsamlı veri kümeleriyle çalışırken son derece faydalıdır.
Bu çözüm, makrolarla sorunsuz çalışan veya Excel iş akışlarını otomatikleştirmek isteyen kullanıcılar için idealdir.
1. VBA düzenleyicisini açmak için Geliştirici > Visual Basicseçeneğine tıklayın (veya)Alt + F11 tuşlarına basın); bu işlem Microsoft Visual Basic for Applications penceresini açacaktır. Ardından Ekle > Modül seçeneğine gidip aşağıdaki kodu modül penceresine yapıştırın:
Sub RandomFillFromList_NoDuplicates()
Dim srcRange As Range
Dim destRange As Range
Dim srcValues As Variant
Dim destCount As Integer
Dim usedIndexes As Object
Dim i As Integer
Dim randIndex As Integer
On Error Resume Next
Set srcRange = Application.InputBox("Select source list", "KutoolsforExcel", Type:=8)
If srcRange Is Nothing Then Exit Sub
Set destRange = Application.InputBox("Select destination range (number of random values to fill)", "KutoolsforExcel", Type:=8)
If destRange Is Nothing Then Exit Sub
srcValues = Application.Transpose(srcRange.Value)
destCount = destRange.Cells.Count
Set usedIndexes = CreateObject("Scripting.Dictionary")
If UBound(srcValues) < destCount Then
MsgBox "Not enough unique items in the source list to fill destination without duplicates.", vbExclamation, "KutoolsforExcel"
Exit Sub
End If
Randomize
For i = 1 To destCount
Do
randIndex = Int(Rnd() * UBound(srcValues)) + 1
Loop While usedIndexes.Exists(randIndex)
usedIndexes(randIndex) = True
destRange.Cells(i).Value = srcValues(randIndex)
Next
End Sub 2. Makroyu çalıştırmak için VBA araç çubuğundaki
düğmesine tıklayın. Makro, (a) kaynak listeyi (seçilecek değerlerin aralığını) ve (b) Liste Yerleştirme Alanı’nı seçmenizi isteyecektir (çıkarılacak rastgele değer sayısını belirtmek için eşit sayıda hücre seçmeniz yeterlidir). Kaynak liste yeterince büyükse, kod çıktısında yinelenen değerlerin olmamasını garanti eder. Aksi takdirde bir uyarı görüntülenir.
Bu VBA yöntemi aşağıdaki avantajları ve dikkat edilmesi gereken noktaları sunar:
- Avantajlar: Rastgele ve tekrarsız seçimler sunar; çok büyük listeleri ve toplu işlemleri zahmetsizce yönetmenizi sağlar; yinelenen görevleri otomatikleştirmek ise son derece kolaydır.
- Dezavantajlar: Makro destekli Excel dosyaları gerektirir. Çalışma kitabınız makroları kısıtlıyorsa, bu yöntem uygun olmayabilir. Hedef hücre sayısı kaynak öğe sayısını aşıyorsa hatalar oluşabilir.
- Hata Uyarıları: Kaynak listede isteğiniz için yeterli benzersiz değer yoksa, makro sizi uyarır.
- Özelleştirme ipuçları: Benzersizlik kontrolünü kaldırarak kopyaları kabul edecek şekilde kodu uyarlayabilir veya daha özel senaryolar için ağırlıklandırma ya da filtreleme mantığı ekleyebilirsiniz.
Kutools for Excel ile bir veri listesinden rastgele seçim yaparak değer doldurma (Tüm sürümler)
Kutools for Excel, bir listeden rastgele değer seçip doldurmak için erişilebilir ve etkileşimli bir çözüm sunar. Formül veya kod yazmadan rastgele atamalar yapmak isteyenler ya da en az manuel girişle toplu seçimleri hızlıca işlemek isteyenler için idealdir. Kutools ayrıca, seçilecek değer sayısını belirlemek gibi çıktı üzerinde denetim sağlayacak seçenekleri de basit bir iletişim kutusu arayüzüyle sunar.
Kutools for Excel yüklendikten sonra, yerleşik rastgele seçim işlevini kullanmak için aşağıdaki adımları izleyin:
- Rastgele seçim yapmak istediğiniz değerleri içeren aralığı seçin.
- Kutools > Aralık > Sırala, Seç veya Rastgele seçeneğine tıklayın. Aşağıdaki ekran görüntüsüne bakın:

- Sırala, Seç veya Rastgeleiletişim kutusunda,Seçsekmesine gidin ve aşağıdakileri yapın:
- Rastgele seçim yapılacak hücre sayısını belirtin.
- Hücre seçeneğini Seçim Türü içinde seçtiğinizden emin olun.
- Son olarak, Tamam düğmesine tıklayın.

- Belirtilen sayıda rastgele hücre vurgulanacak veya seçilecektir. Daha sonra bu hücreleri gerektiğinde başka bir yere kopyalayıp yapıştırabilirsiniz.

Kutools yöntemi yalnızca son derece basit değildir; aynı zamanda manuel rastgeleleştirme sırasında sıkça yapılan hataları da önler ve Excel formüllerine ya da makro ayarlarına aşinalık gerektirmez. Seçiminizde benzersiz değerler istiyorsanız, kaynak listenizin seçmeyi planladığınız öğe sayısından daha büyük olduğundan emin olun ve iletişim kutusunda yinelenmeyen seçim yapma seçeneğini işaretleyin.
🔚Sonuç
Excel'de önceden tanımlanmış bir listeden rastgele değer doldurmak, farklı bilgi düzeylerine ve senaryolara uygun çeşitli tekniklerle verimli bir şekilde yönetilebilir:
- Tüm Excel sürümleri için, INDEX ve RANDBETWEEN formüllerini kullanmak, özellikle kopyalara izin verilen listelerden rastgele seçim yapmak için hızlı ve güvenilir bir yoldur.
- Excel 365 veya 2021 kullanıyorsanız, RANDARRAY + INDEX çözümü, aynı anda birden fazla çıktıya ihtiyaç duyduğunuzda işlemleri hızlandıran çok daha dinamik bir toplu seçim sunar.
- Yüksek düzeyde özelleştirilebilir çözümlere ihtiyacınız varsa—örneğin kopyasız seçim yapılması, büyük ölçekli rastgele atamaların otomatikleştirilmesi veya karmaşık seçim mantıklarının uygulanması gibi—VBA yöntemi en yüksek esnekliği sunar; ancak kullanıcıların makroları çalıştırma konusunda bilgi sahibi olmaları gerekir.
- Kod yazmadan, kullanıcı dostu bir yaklaşım tercih ediyorsanız, Kutools for Excel, grafiksel arayüzü sayesinde rastgele seçimler oluşturmanızı sağlar; hem yeni başlayanlar hem de hızlı sonuçlara ihtiyaç duyan deneyimli kullanıcılar için idealdir.
Benzersiz seçimlere mi yoksa yinelenebilir değerlere mi ihtiyacınız olduğuna, kaç adet rastgele seçim yapmanız gerektiğine ve Excel formülleriyle ya da makrolarla ne kadar rahat çalışabildiğinize dikkat etmek büyük önem taşır. Rastgele sonuçları kaydetmeden veya paylaşmadan önce, yanlışlıkla yeniden hesaplanmasını önlemek için "değer olarak yapıştır" özelliğini kullanın. Ek Excel çözümlerini keşfetmek isteyenler için daha fazla pratik rehber ve ipucu için Excel eğitim bölümümüze göz atın.
Sorun giderme önerileri: Liste aralıklarının doğruluğunu tekrar kontrol edin, değişken (volatile) işlevlerle yeniden hesaplamaya dikkat edin ve kod tabanlı çözümleri kullanırken makro güvenlik ayarlarınızın VBA yürütmesine izin verdiğinden emin olun. VBA kullanırken (örneğin yetersiz kaynak liste boyutu gibi) hata oluşursa, uyarı mesajını takip edin ve aralıklarınızı gözden geçirin.
İlgili makaleler:
Excel'de kriterlere göre rastgele hücre seçimi
Excel'de hücrelere rastgele arka plan/Doldurma Rengi ekleme
En İyi Office Üretkenlik Araçları
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.
- 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


