Excel eğitimlerimize ara vermeden devam edelim ki motivasyonumuz düşmesin ve üzerine koyarak bir excel uzmanı düzeyinde bilgi birikimine sahip olabilelim. Bugünün konusu olarak, Excel’de nasıl rastgele sayı üretebiliriz konusunu inceleyeceğiz. Üreteceğimiz rastgele sayının, ihtiyacımıza göre tamsayı, küsüratlı bir sayı, belirli sayıların aralığında bir sayı ya da belirli bir istatistiksel dağılıma uygun şekilde yaratılmış olması gerekebilir. Tümüne sırasıyla değinerek inceleyelim.
Excel kullanarak rastgele sayı üretmenin en kolay yolu, ilgili excel formüllerini kullanmaktır. Bu alanda excel bize 2 farklı excel formülü sunar, bunlar RAND (S_SAYI_ÜRET) ve RANDBETWEEN (RASTGELEARADA) fonksiyonlarıdır. Benim kullandığım Microsoft Excel yazılımının dili İngilizce olduğu için bundan sonraki fonksiyon çağırma işlemlerini İngilizce gerçekleştireceğim ancak bundan sonra ne zaman RAND yazarsam, Türkçe excel kullananlar S_SAYI_ÜRET formülünü, ya da ne zaman RANDBETWEEN formülünü kullanırsam, Türkçe excel kullananlar RASTGELEARADA formülünü kullanabilirler. Kullanımları birebir aynıdır ve hazırladıkları uygulamalar tamamen aynı şekilde çalışır halde olacaktır.
1. Excel’de Rastgele Sayı Üretmek
Excel’de herhangi bir sayı üretmek istiyorsak, en kullanışlı fonksiyon, RAND fonksiyonudur. RAND fonksiyonunun görevi ise, her kullanıldığında 0 ile 1 arasında rastgele bir sayı üretmesidir. Benim işime 0 ile 1 yaramaz diye düşünüyorsanız yanılıyorsunuz demektir çünkü ufak matematiksel işlemler ile bu yarattığımız 0 ile 1 arasındaki rastgele sayılardan neredeyse ulaşamayacağımız bir değer aralığı yok. Ama 2 değer arasında amsayı üretmek istiyorsanız 2. madde sizin için daha kullanışlı olacaktır. Sırayla gidelim ve önce RAND() fonksiyonunu bir detaylandıralım:
Fonksiyonu çağırmak için, 0 ile 1 arasında rastgele sayı üretmek istediğimiz herhangi bir hücre içerisinde =RAND() formülünü yazalım ve çıktımıza bir bakalım.
Enter tuşuna basıyoruz ve
Bilgisayar gerçekten de 0 ile 1 arasında rastgele bir sayı üretmiş. Peki biz 10 tane sastgele sayı üretmek isteseydik ne olacaktı? Çözümü basit, =RAND() formülünü A1:A10 aralığının tümüne yazarak ya da ilk yazdığımız A1 hücresinin sağ altından A10’a kadar çekerek uzatırsak:
İşte excel bu yüzden bu kadar pratik. Haydi bir de 0 ile 1 arasındaki sayılar ile nasıl tamsayılar (örneğin 1 ile 10 arasında) üretebiliriz bir de buna bakalım:
Örnek: 0 ile 1 arasında ürettiğimiz rastgele sayıları kullanarak 1 ile 10 arasında rastgele 5 adet sayı üretelim.
Çözüm:
- Eğer RAND fonksiyonu ile 0 ile 1 arasında rastgele sayılar üretebiliyorsam, bu değeri 10 ile çarparsam 0 ile 10 arasında sayılar üretiyor olacağım. (0 ve 10 değerlerini alamaz)
- ROUNDDOWN fonksiyonu, herhangi bir küsüratlı sayıyı aşağı yuvarlamayı sağlamaktadır. Dolayısıyla (0,10) aralığındaki bir değerin tamsayı kısmını aldığımda 0,1,2,3,4,5,6,7,8,9 sayılarnı üretebliyor olacağım.
- Ürettiğim sayı her kaç olursa olsun, ben bu sayıya 1 değerini eklersem, ürettiğim sayılar 1,2,3,4,5,6,7,8,9,10 olmuş olacak.
- Çözüm: ROUNDDOWN((RAND()*10);0)+1
Aslında 1 ile 10 arasında ya da 6 ile 49 arasında rastgele sayı üretmenin elbette daha kolay bir yolu var. İkinci başlıktan devam edelim.
Not: Uygulayanlar farkedecektir, her bir formül güncelleme işleminde, daha önce rastgele üretmiş olduğumuz sayılar yeniden üretilmektedir. Bunun sebebi, calculate (hesaplama) işleminin excel varsayılan ayarlarında otomatik olarak ayarlanmış olmasıdır. Çözümünü ayrı bir başlıkta makalenin en sonunda ele aldım.
2. Excel’de Rastgele Tamsayı Üretme
Excel’de belirli bir aralıkta tamsayı üretmek olarak da tanımlayabileceğimiz şekilde amacımız x ile y arasında tamsayı oluşturmak ise, bu alanda kullanacağımız fonksiyon RANDBETWEEN(x,y) fonksiyonudur ve RANDBETWEEN(x,y) fonksiyonu her çağırıldığında, adından da anlayabileceğimiz gibi bize x ile y arasında rastgele bir sayı üretecektir.
Örneğin 200 ile 500 arasında rastgele bir sayı üretmek istersek, yazacağımız fonksiyon =RANDBETWEEN(200;500) olacaktır.
Yine benzer şekilde iki sayı arasında istediğimiz kadar sayı üretebiliriz. RAND fonksiyonuna benzer şekilde, RANDBETWEEN fonksiyonunu yazdığımız hücreyi de çekerek uzatırsak, ürettiğimiz rastgele değerlerin sayısı artmış olacaktır.
Örnek: Alt sınırı ve üst sınırı başka hücrelerde saklanan değerler için bu aralıklarda rastgele tamsayılar üretiniz.
Çözüm: Eğer bir konsol yazılımı kullanıyor olsaydık, bunca değeri saklayacak 20 değişkene ya da 10’ar değer saklayan 2 vektöre ihtiyaç duyacaktık ve 10 kere dönecek bir döngü içerisinde rastgele sayı hesaplamamız gerekecekti. İşte bu yüzden excel işletmeler tarafından bu kadar yaygın kullanılıyor, çünkü pratik ve kod yazma bilgisi gerektirmiyor.
Önceki yazıda, referans bazlı işlemlerin nasıl yapılabileceğini ve (bu örnekte gerek duymadıysak da) formüldeki referans hücrelerin nasıl sabitlenebileceğini incelemiştik. İncelemek isteyenler Excel'de Formülde Hücreleri Sabitlemek makalesini inceleyebilirler. Excel, tüm sekmelerdeki ve hatta dosyalardaki diğer hücrelerdeki değerler üzerinden işlem yapabilme yeteneğine sahip bir yazılım, işin aslı onu pratik kılan en temel özellik de zaten bu.
Eğer x ile y arasında rastgele bir sayı üretmek istiyorsak bunun için RANDBETWEEN(x,y) formülünü kullanacağımızı zaten biliyoruz. Dolayısıya C2 hücresinde eğer 100 ile 177 değerleri arasında sayı üretmek istiyorsak ve benzer işlemi 10 kere daha tekrarlamamız gerekeceğinin farkındaysak, tek yapmamız gereken C2 hücresi içerisinde =RANDBETWEEN(A2,B2) formülünü yazmak ve bu formülü C10’a kadar uzatıp bırakmak. Bakmayın uzun uzun izah etmeye çalışmama, 3 saniyede problemimizi çözdük.
3. Excel’de Rastgele Küsüratlı Sayı Üretme
İhtiyacımız pekala Excel’de küsürlü sayı üretmek de olabilir ancak hazır fonksiyonlar arasında öyle bir özellik yok? Ama elbette bu bize engel olacak diye bir şey de yok. Excel halen bu tip ihtiyaçlar için biçilmiş kaftan.
1. Yöntem: RANDBETWEEN ve RAND Formülleri ile Rastgele Küsüratlı Sayı Üretme
Biz zaten x ile y tamsayıları arasında tamsayı üretmeyi (RANDBETWEEN fonksiyonu) ve 0 ile 1 arasında rastgele sayılar üretmeyi (RAND fonksiyonu) biliyoruz. Excel’de toplama işlemi yapmak o kadar kolay ki..
Örnek: 100 ile 200 arasında küsüratlı 5 adet sayı üretelim.
Çözüm: A2 sütununda 100 ile 200 arasında tamsayı üretiriz, B2 sütununda ise 0 ile 1 arasında küsüratlı sayı üretiriz. Ya da kısaca:
=RANDBETWEEN(100;200)+ =RAND()
2. Yöntem: Sadece RAND Formülü ile Rastgele Küsüratlı Sayı Üretme
Aynı problemin çözümü üzerinden deneyelim. RAND fonksiyonu ile 1 ile 10 arasında rastgele sayı üretmek için 1. bölümde şunu yapmıştık:
ROUNDDOWN((RAND()*10);0)+1
Pekala benzer şekilde bu yapıyı 100 ile 200 arasında sayı üretmek için de kullanabiliriz.
Örneğin 1 ile 100 arasında sayı üretmek istersek: ROUNDDOWN((RAND()*100);0)+1
Benzer şekilde 100 ile 200 arasında rastgele sayı üretmek için ise =ROUND((RAND()*100);0)+100 formülüni yaratabiliriz. Elbette tek çözüm bu formülü kullanmak olmayacaktır, bu yüzden kendi çözümlerinizi de üretebilirsiniz. Yukarıdaki formülün 100 ile 200 arasında rastgele sayılar üreteceğine inanmayan varsa:
3. Yöntem: Data Analysis ile Rastgele Küsüratlı Sayı Üretme
3. bölümde ayrıca değineceğimiz için sadece mümkün olduğunu söyleyip 3. Bölümün kendisine geçelim.
4. Excel Data Analysis ile Rastgele Sayı Üretmek
Not: Eğer ribbon’unuzda Data sekmesi altında data analysis özelliği aktif değilse şu adımları izleyiniz:
a. File/Options seçimini yaprak Excel Options ekranını açınız.
b. Bu ekrandan analysis toolpak’e çift tıkayınız.
c. Analysis toolpak’i aktive ederek OK tuşuna basınız.
İşlem tamamlandığında Data sekmesi altında sağ tarafta Data Analysis butonunu görüyor olacaksınız.
Data Analysis nedir ve neler yapmamıza olanak sağlar konusunu farklı bir makaleye bırakarak bu alanı kullanarak nasıl rastgele sayılar üretebileceğimizi inceleyelim.
Data Analysis butonuna bastığınızda istatistiksel araçlardan oluşan bir liste göreceksiniz:
Bu listeden random numer generation seçimini yapalım ve OK diyelim.
Örneğin normal dağılıma sahip, 100 ortalama ve 5 standart sapma değerleri ile 10x10 boyutlu bir matris yaratmak istersek:
Çıktımız da küsüratlı sayılardan oluşan ve istediğimiz sonuçlara bağlı olarak listelenecektir:
Excel’de Rastgele Değerlerin Otomatik Yenilenmesini Engellemek
Ribbon içerisinden Formulas/Calculation Options’a gelinir ve buradan istenen yenileme yöntemi seçilebilir.