Excel formülü: Rastgele sıralama formülü -

İçindekiler

Genel formül

=INDEX(data,MATCH(ROWS(exp_range),sort_values,0))

Özet

Mevcut değerleri bir formülle rastgele sıralamak için, ekran görüntüsünde gösterildiği gibi bir İNDİS ve KAÇINCI formülünü yardımcı sütunlarla birlikte kullanabilirsiniz. Gösterilen örnekte, E5'teki formül şöyledir:

=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))

burada "adlar", adlandırılmış aralık B5: B11, "rand" adlandırılmış aralık C5: C11 ve "sıralama", adlandırılmış aralık D5: D11'dir.

Açıklama

Bu formül, iki yardımcı sütuna bağlıdır. İlk yardımcı sütun, RAND () işleviyle oluşturulan rastgele değerleri içerir. Aşağı kopyalanan C5'teki formül:

=RAND()

RAND işlevi, her satırda rastgele bir değer üretir.

Not: RAND, geçici bir işlevdir ve her çalışma sayfası değişikliğinde yeni değerler oluşturur.

İkinci yardımcı sütun, bir formülle oluşturulan verileri sıralamak için kullanılan sayıları içerir. D5'teki formül:

=RANK(C5,rand)+COUNTIF($C$5:C5,C5)-1

Bu formülün açıklaması için bu sayfaya bakın.

E5'teki formül:

=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))

Burada, INDEX işlevi, "sort" adlı aralıktaki sıralama değerlerini kullanarak "adlar" adlı adlandırılmış aralıktaki değerleri almak için kullanılır. Hangi değeri alacağımı bulmanın asıl işi bu kod parçacığındaki MATCH işlevimle yapılır:

MATCH(ROWS($D$5:$D5),sort,0)

MATCH içinde, SATIRLAR işlevine arama değeri olarak genişleyen bir aralık verilir; bu, tek bir hücre olarak başlar ve formül sütundan aşağı doğru kopyalanırken genişler. Bu, 1'den başlayıp 7'ye kadar devam ederek arama değerini artırır. MATCH, daha sonra arama değerinin listedeki konumunu döndürür.

Pozisyon, satır numarası olarak INDEX'e beslenir ve INDEX bu pozisyondaki adı alır.

Ilginç makaleler...