Excel-formel: Tilfældig sorteringsformel -

Indholdsfortegnelse

Generisk formel

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

Resumé

For tilfældigt at sortere eksisterende værdier med en formel kan du bruge en INDEX- og MATCH-formel sammen med hjælpekolonner som vist på skærmbilledet. I det viste eksempel er formlen i E5:

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

hvor "navne" er det navngivne område B5: B11, "rand" er det navngivne område C5: C11, og "sorter" er det navngivne område D5: D11.

Forklaring

Denne formel afhænger af to hjælpekolonner. Den første hjælpekolonne indeholder tilfældige værdier oprettet med RAND () -funktionen. Formlen i C5, kopieret ned er:

=RAND()

RAND-funktionen genererer en tilfældig værdi i hver række.

Bemærk: RAND er en flygtig funktion og vil generere nye værdier med hver regnearksændring.

Den anden hjælpekolonne indeholder de tal, der bruges til at sortere data, genereret med en formel. Formlen i D5 er:

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

Se denne side for en forklaring af denne formel.

Formlen i E5 er:

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

Her bruges INDEX-funktionen til at hente værdier i det navngivne interval "navne" ved hjælp af sorteringsværdierne i det navngivne område "sorter". Det egentlige arbejde med at finde ud af, hvilken værdi der skal hentes, er gjort med MATCH-funktionen i dette uddrag:

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

Inde i MATCH får ROWS-funktionen et ekspanderende område som opslagsværdi, der begynder som en celle og udvides, når formlen kopieres ned i kolonnen. Dette øger opslagsværdien, startende ved 1 og fortsætter til 7. MATCH returnerer derefter placeringen af ​​opslagsværdien i listen.

Positionen fødes til INDEX som række nummer, og INDEX henter navnet på den position.

Interessante artikler...