Formuła programu Excel: Sortuj losowo -

Spisie treści

Formuła ogólna

=SORTBY(rng,RANDARRAY(COUNTA(rng)))

Podsumowanie

Aby posortować listę lub tabelę w kolejności losowej, możesz użyć funkcji SORT WEDŁUG z funkcją RANDARRAY. W przedstawionym przykładzie formuła w D5 to:

=SORTBY(data,RANDARRAY(COUNTA(data)))

gdzie „dane” to nazwany zakres B5: B14. Wynikiem jest nowa losowa kolejność sortowania po każdym ponownym obliczeniu arkusza.

Wyjaśnienie

Funkcja SORT BY umożliwia sortowanie w oparciu o jedną lub więcej tablic typu „sort by”, o ile mają one wymiary zgodne z sortowanymi danymi. W tym przykładzie sortowanych jest 10 wartości, czyli pierwszych 10 liter alfabetu. Aby wygenerować 10 liczb losowych do sortowania, używamy funkcji RANDARRAY razem z funkcją COUNTA w następujący sposób:

RANDARRAY(COUNTA(data))

COUNTA zlicza wartości w danych i zwraca liczbę 10, która trafia do funkcji RANDARRAY jako argument wierszy. RANDARRAY zwraca tablicę 10 wartości dziesiętnych w następujący sposób:

(0.634511231774083;0.802832736299988;0.0143439778447176;0.456799995279187;0.535834928742951;0.993607835061287;0.217641630408339;0.638010821263368;0.917156124714596;0.489852948650118)

Ta tablica jest dostarczana do funkcji SORTBY jako argument by_array1. SORTBY używa losowych wartości do sortowania danych i zwraca 10 liter do zakresu rozlania zaczynającego się od D5.

Uwaga: RANDARRAY jest funkcją niestabilną i będzie obliczać ponownie za każdym razem, gdy arkusz zostanie zmieniony, powodując ponowne użycie wartości. Aby zapobiec automatycznemu sortowaniu wartości, możesz skopiować formuły, a następnie użyć polecenia Wklej specjalnie> Wartości, aby przekonwertować formuły na wartości statyczne.

Interesujące artykuły...