
Üldine valem
=INDEX(data,MATCH(ROWS(exp_range),sort_values,0))
Kokkuvõte
Olemasolevate väärtuste valemiga suvaliseks sortimiseks võite kasutada INDEX- ja MATCH-valemeid koos abiveergudega, nagu ekraanipildil näidatud. Näidatud näites on valem E5-s järgmine:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
kus "nimed" on nimega vahemik B5: B11, "rand" on nimega vahemik C5: C11 ja "sort" on nimega vahemik D5: D11.
Selgitus
See valem sõltub kahest abistaja veerust. Esimene abistaja veerg sisaldab funktsiooni RAND () abil loodud juhuslikke väärtusi. Kopeeritud C5 valem on järgmine:
=RAND()
Funktsioon RAND genereerib igas reas juhusliku väärtuse.
Märkus: RAND on kõikuv funktsioon ja loob iga töölehe muutmisega uued väärtused.
Teises abistaja veerus on arvud, mida kasutatakse andmete valimiseks valemiga. D5 valem on:
=RANK(C5,rand)+COUNTIF($C$5:C5,C5)-1
Selle valemi selgituse leiate sellelt lehelt.
E5 valem on:
=INDEX(names,MATCH(ROWS($D$5:$D5),sort,0))
Funktsiooni INDEX kasutatakse siin nimega vahemikus "nimed" olevate väärtuste hankimiseks, kasutades nimega vahemikus "sort" olevaid väärtusi. Selle väljavõtte funktsioon MATCH on tegelik selle välja selgitamiseks, mida taastada saab:
MATCH(ROWS($D$5:$D5),sort,0)
MATCH-is antakse funktsioonile ROWS laienev vahemik otsingu väärtusena, mis algab ühe lahtrina ja laieneb valemi kopeerimisel veerus alla. See suurendab otsingu väärtust, alustades 1-st ja jätkates 7. MATCH tagastab seejärel otsingu väärtuse loendis.
Positsioon sisestatakse rea numbriks INDEX-ile ja INDEX otsib selle positsiooni nime.