Excel'de bir dizi kullanılabilir dizeden rastgele dize nasıl oluşturulur?


7

Herhangi bir sırada rasgele dize değerleri olacak bir sütun oluşturmak istiyorum. Bu dize değerleri ('Yeni', 'Nane', 'Çok İyi', 'İyi', 'Kabul Edilebilir', 'Kötü') dizgilerinden olmalıdır? RANDBETWEENSütunlarımı belirtilen verilerle parantez içinde doldurmak için bu işlevi nasıl kullanabilirim ?


Bu dizeleri tekrar edebilir misiniz veya sadece bir kez mi görünebilir?
Andi Mohr

Bu dizeleri tekrar etmeliyim
Ashutosh

Yanıtlar:


12

Eğer sadece birkaç dizginiz varsa

Dizeleriniz ilk sütundaysa, CHOOSE()işlevi aşağıdaki gibi kullanabilirsiniz :

=CHOOSE(RANDBETWEEN(1,6),$A$1,$A$2,$A$3,$A$4,$A$5,$A$6)

RANDBETWEEN(1,6)rastgele bir sayı bulacaktır n 1 ila 6 dan - CHOOSEo zaman listeledik tüm parametreler aracılığıyla sayar (A sütununda Dizeleriniz) ve görüntüler n'inci terimini.

görüntü tanımını buraya girin

Ancak, çok fazla dizeniz varsa

CHOOSEAlınacak birkaç öğeden fazlasına sahipseniz , bu formülü korumak düzensizleşir.

Bu durumda, bir Tablo eklemek iyi olur ( MyStrings diyelim ), A sütununda bir ID sütunu oluşturun =ROW()-1ve formülümüzü a ile değiştirin VLOOKUP. Masanızda kaç tane terim olduğunu dinamik bir şekilde bulmak için MINve: MAXve - yapılandırılmış referansları kullanabiliriz RANDBETWEEN:

=VLOOKUP(RANDBETWEEN(MIN(MyStrings[ID]),MAX(MyStrings[ID])),MyStrings,2,0)

görüntü tanımını buraya girin

Şimdi dikkatli ol

RANDBETWEENuçucu bir işlevdir, başka bir hücre değişikliğinde (çalışma kitabınızın herhangi bir yerinde) her seferinde yeniden hesaplanır. Rastgele oluşturulmuş dizeleri, onları bir kez ürettikleri gibi sabit tutmanız gerekirse, Özel Değerleri kopyalayıp yapıştırmanız gerekir .

Çok fazla değişken işlev kullanırsanız, kitaplığınızı yavaşlatabilir, ancak bunu hafifletmek için yapabileceğiniz şeyler var .


9

Bunu yapmak için INDEXbirlikte kullanabilirsiniz RANDBETWEEN.

=INDEX({"New","Mint","Very Good","Good","Acceptable","Poor"},RANDBETWEEN(1,6))

Sadece bu formülü sütununuzdan aşağıya doldurun.


1
bu geçici mi?
Raystafarian

@ Raystafarian evet, RANDBETWEENsayfa hesaplanırken her zaman değer değişeceğinden.
Excellll

Öyle düşündüm, ama kimse OP'ye bahsetmedi.
Raystafarian,

İyi bir nokta. Bu noktaya değinmek için yazımı düzenleyeceğim.
Andi Mohr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.