„Excel“ formulė: atsitiktinės rūšiavimo formulė -

Turinys

Bendroji formulė

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

Santrauka

Norėdami atsitiktinai surūšiuoti esamas reikšmes pagal formulę, galite naudoti INDEX ir MATCH formules kartu su pagalbiniais stulpeliais, kaip parodyta ekrano kopijoje. Parodytame pavyzdyje formulė E5 yra:

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

kur „vardai“ yra pavadintas diapazonas B5: B11, „randas“ - pavadintas diapazonas C5: C11, o „rūšiuoti“ - pavadintas diapazonas D5: D11.

Paaiškinimas

Ši formulė priklauso nuo dviejų pagalbinių stulpelių. Pirmajame pagalbiniame stulpelyje yra atsitiktinės vertės, sukurtos naudojant funkciją RAND (). C5 formulė, nukopijuota žemyn, yra:

=RAND()

Funkcija RAND kiekvienoje eilutėje sukuria atsitiktinę vertę.

Pastaba: RAND yra nepastovi funkcija, kuri, keisdama kiekvieną darbalapį, sugeneruos naujas reikšmes.

Antrajame pagalbininkų stulpelyje yra skaičiai, naudojami duomenims rūšiuoti, sugeneruoti pagal formulę. D5 formulė yra:

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

Žr. Šiame puslapyje paaiškinimą apie šią formulę.

E5 formulė yra:

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

Čia funkcija INDEX naudojama norint gauti reikšmes pavadintame diapazone „vardai“, naudojant rūšiavimo reikšmes pavadintame diapazone „rūšiavimas“. Faktinis darbas, siekiant išsiaiškinti, kokią vertę atgauti, šiame fragmente atliekamas su funkcija MATCH:

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

Vykdant MATCH, funkcijai ROWS suteikiamas besiplečiantis diapazonas kaip paieškos vertė, kuri prasideda kaip viena ląstelė ir plečiasi, kai formulė nukopijuojama žemyn stulpelyje. Tai padidina paieškos vertę, pradedant nuo 1 ir tęsiant iki 7. MATCH grąžina paieškos vertės padėtį sąraše.

Pozicija tiekiama į INDEX kaip eilutės numerį, o INDEX gauna pavadinimą toje pozicijoje.

Įdomios straipsniai...