Excel'de veri listesi için hızlıca rastgele gruplar oluşturun
Günlük işlerinizde ya da çalışma ve eğitim oturumları hazırlarken, isimler, öğrenci numaraları veya proje görevleri gibi bir veri listesini rastgele gruplara ayırmanız gerekebilir. Örneğin, ekran görüntüsü 1'de gösterildiği gibi veri öğeleri rastgele gruplara atanabilir veya ekran görüntüsü 2'de gösterildiği gibi isimler bir etkinlik ya da grup görevi için rastgele takımlara ayrılabilir. Bu görevin verimli bir şekilde tamamlanması, adil dağıtımı sağlar ve manuel atamaya kıyasla önemli ölçüde zaman kazandırır. Neyse ki, Excel rastgele grup atamasını hızlı ve esnek şekilde gerçekleştirmeniz için formüller, VBA otomasyonu ve PivotTable analizi dahil olmak üzere çeşitli güvenilir yöntemler sunar.
| Ekran görüntüsü 1 | Ekran görüntüsü 2 |
![]() | ![]() |
Verileri rastgele gruplara atayın
Belirtilen veri boyutunda rastgele gruplar oluşturun
VBA ile rastgele grup atamayı otomatikleştirin (Gelişmiş Seçenekler)
Bir veri listesini belirli sayıda gruba rastgele dağıtmak ve her grubun boyutunun farklı olmasının kabul edilebilir olduğu durumlarda, Excel’de CHOOSE ve RANDBETWEEN işlevlerini kullanarak bunu hızlıca gerçekleştirebilirsiniz. Bu yöntem, oyunlar için katılımcıları gruplamak veya toplantılar için geçici takımlar oluşturmak gibi tipik senaryolarda oldukça kullanışlıdır.
Listenizin yanındaki boş bir hücreyi seçerek başlayın (örneğin, listeniz A sütunundaysa B2 hücresini seçin). Ardından aşağıdaki formülü girin:
=CHOOSE(RANDBETWEEN(1,3),"Group A","Group B","Group C ")
Bu formülde:
- RANDBETWEEN(1,3): 1 ile 3 arasında rastgele sayılar üretildiğini ve bu sayıların 3 grubu temsil ettiğini gösterir.
- Grup A, Grup B ve Grup C: Verilerinizin yanına gelecek grup adı budur.
Ardından, diğer satırlara uygulamak ve tüm girdileri rastgele gruplara atamak için doldurma tutamacını aşağı doğru sürükleyin.
Bu adımdan sonra her veri girişi rastgele bir gruba atanır. Lütfen unutmayın: RANDBETWEEN işlevi geçici olduğundan, çalışma sayfası yeniden hesaplandığında (örneğin bir hücre düzenlendikten sonra veya dosya tekrar açıldığında) sonuçlar değişebilir.
Pratik ipucu: Bu atamaların değişmesini istemiyorsanız, formül sonuçlarını kopyalayın ve atamaları sabitlemek için Özel Yapıştır > Değerler seçeneğini kullanın.
Uygulanabilir senaryolar: Bu yöntem esneklik sunar ve hızlı, genel gruplama ihtiyaçları için mükemmeldir. Ancak her grubun boyutu değişken olabilir; bu da kesin eşit dağıtım gerektiren durumlarda uygun olmayabilir.
Dikkat: Büyük bir veri kümeniz varsa veya kesin grup boyutlarına ihtiyacınız varsa, daha fazla kontrol sağlamak için diğer yöntemleri değerlendirmeyi düşünün.

Excel'in sihrini KUTOOLS AI ile keşfedin
- Akıllı Yürütme: Hücre işlemlerini gerçekleştirin, verileri analiz edin ve hepsini basit komutlarla oluşturulan grafiklerle tamamlayın.
- Ö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 bir çırpıda anlayın.
- Metin Çevirisi: Elektronik tablolarınızda dil bariyerlerini aşın.
Verileri her grupta sabit sayıda giriş olacak şekilde (örneğin her grupta 4 üye olacak şekilde) rastgele gruplara dağıtmak için Excel’in ROUNDUP ve RANK kombinasyonu etkili bir çözüm sunar. Bu özellikle sınıf ödevleri, dengeli takım oluşturma veya tek tip grup boyutlarının gerektiği her türlü senaryo için faydalıdır.
Bu yöntemi uygulamak için:
1. İlk olarak, verilerinizin yanına bir yardımcı sütun ekleyin (örneğin E sütunu) ve E2 hücresine aşağıdakini girin:
=RAND()
Bu formülü listedeki tüm gerekli hücreleri doldurmak için aşağı doğru sürükleyin. RAND işlevi, her hücreye rastgele bir değer atar.
2. In the next column (e.g., F2), aşağıdaki formülü girin:
=ROUNDUP(RANK(E2,$E$2:$E$13)/4,0)
Burada:
- E2:E13: Bu aralığı verilerinizle eşleşecek şekilde güncelleyin. =RAND() işlevini içeren tüm satırları kapsamalıdır.
- 4: Her grubun büyüklüğü. Farklı grup boyutlarına ihtiyacınız varsa bu sayıyı değiştirin.
Tüm satırlara bu formülü uygulamak için doldurma tutamacını aşağı doğru sürükleyin. Böylece verileriniz yaklaşık dörder üyeden oluşan gruplara ayrılacaktır.
Ek yönergeler:
- Toplam öğe sayısı grup boyutuna tam bölünmüyorsa, son grupta daha az öğe olabilir.
- Yeniden hesaplamada değişikliği önlemek için rastgeleleştirmeden sonra grupları sabitlemek üzere Özel Yapıştır > Değerler seçeneğini kullanın.
- RAND() işlevini yenilemek, grupları yeniden rastgeleleştirir; başlangıç atamasını ayarlamanız gerektiğinde oldukça kullanışlıdır.
Sınırlamalar: Bu yöntem, doğrudan Grup Adı belirtmenize izin vermez (grup numaraları üretir) ve büyük veri kümelerinde formül yeniden hesaplamalarını yavaşlatabilir.
Daha gelişmiş gereksinimleriniz varsa—örneğin hiçbir üyenin birden fazla grupta yer almamasını sağlamak, grup boyutlarını tam olarak dengelemek veya belirli kısıtlara göre yeniden atama yapmak istiyorsanız—VBA size ekstra esneklik sunar. Bu yaklaşım, özellikle büyük listelerde veya tekrarlanan atamalarda oldukça kullanışlıdır. Devam etmeden önce, VBA kodunun çoğu durumda verilerinizi doğrudan değiştireceğini ve bu nedenle dosyanızı önceden kaydetmeniz gerektiğini unutmayın.
1. Geliştirici Araçları > Visual Basic seçeneğine tıklayarak VBA düzenleyicisini açın, ardından Ekle > Modül seçeneğine tıklayın. Yeni modüle aşağıdaki kodu kopyalayıp yapıştırın:
Sub AssignRandomGroups()
Dim GroupCount As Integer
Dim GroupSize As Integer
Dim rng As Range, cell As Range
Dim i As Long, j As Long, idx As Long
Dim arr() As Variant, groupArr() As Variant, grpNum As Integer
Dim ws As Worksheet
Dim totalRows As Integer, remaining As Integer
On Error Resume Next
Set ws = Application.ActiveSheet
Set rng = Application.InputBox("Select the range of data to group", "KutoolsforExcel", Type:=8)
GroupCount = Application.InputBox("Enter the number of groups:", "KutoolsforExcel", 3, Type:=1)
If rng Is Nothing Or GroupCount <= 0 Then Exit Sub
arr = rng.Value
totalRows = UBound(arr, 1)
GroupSize = Int(totalRows / GroupCount)
remaining = totalRows - GroupSize * GroupCount
ReDim groupArr(1 To totalRows)
Dim used() As Boolean
ReDim used(1 To totalRows)
Randomize
For i = 1 To totalRows
Do
idx = Int(Rnd() * totalRows) + 1
Loop While used(idx)
used(idx) = True
groupArr(i) = idx
Next i
For i = 1 To totalRows
grpNum = Int((i - 1) / GroupSize) + 1
If grpNum > GroupCount Then grpNum = GroupCount
rng.Cells(groupArr(i), 1).Offset(0, 1).Value = "Group " & grpNum
Next i
MsgBox "Groups assigned randomly and as evenly as possible.", vbInformation
End Sub 2. Ardından, kodu çalıştırmak için
düğmesine tıklayın. Sistem, veri aralığınızı (örneğin isimler veya kimlikler içeren bir sütun) seçmenizi ve oluşturmak istediğiniz grup sayısını girmenizi isteyecek. VBA, ardından her veri satırını bir gruba atayacak ve grup numarasını hemen sağındaki sütuna yerleştirecektir.
- Tekrarlanan Girişleri Önle atamaları: Her üye yalnızca bir gruba atanır.
- Dengeli gruplar: Üyeleri mümkün olduğunca eşit şekilde dağıtır. Veriler tam olarak eşit bölünemiyorsa, son grupta (veya gruplarda) bir üye fazla veya eksik olabilir.
- Özelleştirme: Çıktı metnini özelleştirmek, başlangıç sütununu değiştirmek veya ek atama kuralları eklemek için VBA kodunu uyarlayabilirsiniz.
Uyarılar: VBA, çalışma sayfanızdaki verileri doğrudan değiştirir—çalıştırmadan önce mutlaka bir yedek alın. Hata oluşursa (örneğin beklenenden daha fazla sütun seçerseniz), seçimlerinizi ve grup sayısı girdilerinizi tekrar kontrol edin.
Sorun Giderme: Geliştirici sekmesi görünmüyorsa, Dosya > Seçenekler > Şeridi Özelleştir > Geliştirici yolunu izleyerek etkinleştirin. Hata oluşursa, makro ayarlarınızın etkin olduğundan emin olun (Dosya > Seçenekler > Güven Merkezi).
Kullanım avantajları: VBA, katı kontrole, büyük veri kümelerine veya tekrarlanan görevlerin otomasyonuna ihtiyaç duyan ileri düzey kullanıcılar için idealdir. Ancak hızlı ve temel görevler için makroların etkinleştirilmesiyle birlikte kod yazma veya düzenleme gerekliliği nedeniyle pek uygun değildir.
Örnek dosyayı indirmek için tıklayın
En İyi Office Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi üst düzeye taşıyın ve hiç yaşanmamış bir verimlilik deneyimi yaşayın.Kutools for Excel, verimliliğ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.
- Birden fazla belgeyi yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açın ve oluşturun.
- Günlük verimliliğinizi %50 artırır ve size her gün yüzlerce fare tıklamasından tasarruf sağlar!
Tüm Kutools eklentileri — tek bir yükleyiciyle!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint için eklentileri ve ayrıca Office Tab Pro’yu içerir; bu da Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek yükleyici, tek lisans— dakikalar içinde kurulum (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında sorunsuz verimlilik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— tek tek eklenti satın almaktan tasarruf edin

