Excel-formel: Tilfeldig sorteringsformel -

Innholdsfortegnelse

Generisk formel

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

Sammendrag

For å tilfeldig sortere eksisterende verdier med en formel, kan du bruke en INDEX- og MATCH-formel sammen med hjelpekolonner som vist på skjermbildet. I eksemplet vist er formelen i E5:

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

der "navn" er det navngitte området B5: B11, "rand" er det navngitte området C5: C11, og "sorter" er det navngitte området D5: D11.

Forklaring

Denne formelen avhenger av to hjelpekolonner. Den første hjelpekolonnen inneholder tilfeldige verdier opprettet med RAND () -funksjonen. Formelen i C5, kopiert ned er:

=RAND()

RAND-funksjonen genererer en tilfeldig verdi på hver rad.

Merk: RAND er en flyktig funksjon og vil generere nye verdier for hver regnearkendring.

Den andre hjelpekolonnen inneholder tallene som brukes til å sortere data, generert med en formel. Formelen i D5 er:

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

Se denne siden for en forklaring på denne formelen.

Formelen i E5 er:

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

Her brukes INDEX-funksjonen til å hente verdier i det navngitte området "navn", ved å bruke sorteringsverdiene i det navngitte området "sorter". Det faktiske arbeidet med å finne ut hvilken verdi du skal hente, gjøres i MATCH-funksjonen i dette utdraget:

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

Inne i MATCH får ROWS-funksjonen et utvidende område som oppslagsverdi, som begynner som en celle, og utvides når formelen kopieres nedover i kolonnen. Dette øker oppslagsverdien, starter ved 1 og fortsetter til 7. MATCH returnerer deretter posisjonen til oppslagsverdien i listen.

Posisjonen blir matet til INDEX som radnummer, og INDEX henter navnet på den posisjonen.

Interessante artikler...