Turinys
Mokomojoje programoje paaiškinami "Excel" rangavimo funkcijų ypatumai ir parodoma, kaip "Excel" programoje atlikti rangavimą pagal kelis kriterijus, reitinguoti duomenis pagal grupes, apskaičiuoti procentilinį rangą ir kt.
Kai reikia nustatyti santykinę skaičiaus vietą skaičių sąraše, paprasčiausias būdas yra surūšiuoti skaičius didėjimo arba mažėjimo tvarka. Jei dėl kokių nors priežasčių rūšiavimas neįmanomas, "Excel" formulė "Rank" yra puikus įrankis šiam darbui atlikti.
"Excel" RANK funkcija
"Excel" funkcija RANK pateikia skaitinės vertės eiliškumą (arba rangą), palyginti su kitomis tame pačiame sąraše esančiomis vertėmis. Kitaip tariant, ji parodo, kuri vertė yra didžiausia, antra pagal dydį ir t. t.
Rūšiuotame sąraše tam tikro skaičiaus rangas būtų jo pozicija. Excel programoje esančia funkcija RANK galima nustatyti rangą pradedant nuo didžiausios reikšmės (tarsi būtų surūšiuota mažėjimo tvarka) arba mažiausios reikšmės (tarsi būtų surūšiuota didėjimo tvarka).
"Excel" funkcijos RANK sintaksė yra tokia:
RANK(skaičius,ref,[tvarka])Kur:
Numeris (privaloma) - reikšmė, kurios rangą norite rasti.
Nuoroda (privaloma) - skaitinių verčių, pagal kurias bus reitinguojama, sąrašas. Jis gali būti pateiktas kaip skaičių masyvas arba nuoroda į skaičių sąrašą.
Užsisakykite (neprivaloma) - skaičius, nurodantis, kaip reitinguoti reikšmes:
- Jei 0 arba praleista, reikšmės išdėstomos mažėjančia tvarka, t. y. nuo didžiausios iki mažiausios.
- Jei 1 arba bet kuri kita nenulinė reikšmė, reikšmės išdėstomos didėjančia tvarka, t. y. nuo mažiausios iki didžiausios.
"Excel" funkcija RANK.EQ
RANK.EQ yra patobulinta funkcijos RANK versija, įdiegta programoje "Excel 2010". Ji turi tą pačią sintaksę kaip ir RANK ir veikia pagal tą pačią logiką: jei kelios reikšmės yra vienodai reitinguojamos, visoms tokioms reikšmėms priskiriamas aukščiausias rangas (EQ reiškia "lygus").
RANK.EQ(skaičius,ref,[tvarka])"Excel 2007" ir žemesnėse versijose visada turėtumėte naudoti funkciją RANK. "Excel 2010", "Excel 2013" ir "Excel 2016" galite naudoti funkciją RANK arba RANK.EQ. Tačiau būtų protinga naudoti RANK.EQ, nes funkcija RANK bet kuriuo metu gali būti nutraukta.
"Excel" funkcija RANK.AVG
RANK.AVG - tai dar viena "Excel" rangų paieškos funkcija, kurią galima naudoti tik "Excel 2010", "Excel 2013", "Excel 2016" ir vėlesnėse programose.
Jos sintaksė tokia pati kaip ir kitų dviejų funkcijų:
RANK.AVG(skaičius,ref,[tvarka])Skirtumas tas, kad jei daugiau nei vienas skaičius turi tą patį rangą. vidutinis rangas (AVG reiškia "vidurkis").
4 dalykai, kuriuos turėtumėte žinoti apie "Excel" programos rangą
- Bet kuri "Excel" rangų formulė veikia tik skaitinėms reikšmėms: teigiamiems ir neigiamiems skaičiams, nuliams, datos ir laiko reikšmėms. nuoroda argumentas ignoruojamas.
- Visos RANK funkcijos grąžina tą patį rangą dubliuojamoms reikšmėms ir praleidžia vėlesnius rangus, kaip parodyta toliau pateiktame pavyzdyje.
- "Excel 2010" ir vėlesnėse versijose funkcija RANK pakeista funkcijomis RANK.EQ ir RANK.AVG. Siekiant atgalinio suderinamumo, funkcija RANK vis dar veikia visose "Excel" versijose, tačiau ateityje jos gali nebelikti.
- Jei numeris nerandama nuoroda , bet kuri "Excel" rangų funkcija grąžintų #N/A klaidą.
Pagrindinė "Excel" rangų formulė (nuo didžiausio iki mažiausio)
Jei norite geriau suprasti, kaip "Excel" programoje klasifikuoti duomenis, pažiūrėkite į šią ekrano nuotrauką:
Pagal visas tris formules B stulpelyje esantys skaičiai yra mažėjančia tvarka (angl. užsakymas argumentas praleistas):
Visose "Excel" 2003-2016 m. versijose:
=RANK($B2,$B$2:$B$7)
Programoje "Excel 2010 - 2016":
=RANK.EQ($B2,$B$2:$B$7)
=RANK.AVG($B2,$B$2:$B$7)
Skirtumas yra tas, kaip šios formulės apdoroja pasikartojančias reikšmes. Kaip matote, tas pats balas langeliuose B5 ir B6 rodomas du kartus, o tai turi įtakos tolesniam eiliškumui:
- Pagal RANK ir RANK.EQ formules abiem dubliuojamiems rezultatams suteikiamas rangas 2. Kitas aukščiausias rezultatas (Daniela) užima 4 vietą. 3 rangas nesuteikiamas niekam.
- RANK.AVG formulė kiekvienam dublikatui priskiria skirtingą rangą (šiame pavyzdyje - 2 ir 3) ir grąžina šių rangų vidurkį (2,5). 3 rangas vėlgi niekam nepriskiriamas.
Kaip naudoti RANK'ą "Excel" programoje - formulių pavyzdžiai
Sakoma, kad kelias į tobulumą grįstas praktika. Taigi, kad geriau išmoktumėte naudoti "Excel" funkciją RANK atskirai arba kartu su kitomis funkcijomis, išspręskime keletą realių užduočių.
Kaip "Excel" programoje nustatyti eiliškumą nuo mažiausio iki didžiausio
Kaip parodyta pirmiau pateiktame pavyzdyje, norėdami išrikiuoti skaičius nuo didžiausio iki mažiausio, naudokite vieną iš "Excel" rangų formulių su užsakymas argumentas lygus 0 arba praleistas (numatytoji reikšmė).
Turėti numeris išrikiuoti pagal kitus skaičius, surūšiuotus pagal didėjančia tvarka , į pasirenkamąjį trečiąjį argumentą įrašykite 1 arba bet kokią kitą nenulinę vertę.
Pavyzdžiui, norėdami įvertinti mokinių 100 metrų sprinto rungties laiką, galite naudoti vieną iš toliau pateiktų formulių:
=RANK(B2,$B$2:$B$7,1)
=RANK.EQ(B2,$B$2:$B$7,1)
Atkreipkite dėmesį į tai, kad mes užrakiname diapazoną nuoroda argumentą naudojant absoliučiąsias ląstelių nuorodas, kad jis nepasikeistų kopijuojant formulę į stulpelį.
Dėl to mažiausia reikšmė (greičiausias laikas) užima 1 vietą, o didžiausia reikšmė (lėčiausias laikas) užima žemiausią vietą - 6. Vienodiems laikams (B2 ir B7) suteikiama vienoda vieta.
Kaip unikaliai reitinguoti duomenis "Excel" programoje
Kaip nurodyta anksčiau, visos "Excel Rank" funkcijos grąžina vienodą vienodos vertės elementų rangą. Jei to nenorite, naudokite vieną iš toliau pateiktų formulių, kad išspręstumėte lygiųjų situacijas ir suteiktumėte unikalus rangas prie kiekvieno skaičiaus.
Unikalus reitingas nuo didžiausio iki mažiausio
Norėdami išdėstyti mūsų mokinių matematikos rezultatus mažėjančia tvarka, naudokite šią formulę:
=RANK.EQ(B2,$B$2:$B$7)+COUNTIF($B$2:B2,B2)-1
Unikalus reitingas nuo mažiausio iki didžiausio
Norėdami 100 m bėgimo rezultatus surikiuoti didėjančia tvarka be pasikartojimų, naudokite šią formulę:
=RANK.EQ(B2,$B$2:$B$7,1) + COUNTIF($B$2:B2,B2)-1
Kaip veikia šios formulės
Kaip pastebėjote, vienintelis skirtumas tarp šių dviejų formulių yra tas, kad užsakymas funkcijos RANK.EQ argumentas: praleistas, jei reikšmės išdėstomos mažėjančia tvarka, 1 - didėjančia tvarka.
Abiejose formulėse triuką atlieka funkcija COUNTIF, kurioje sumaniai naudojamos santykinės ir absoliutinės ląstelių nuorodos. Trumpai tariant, naudodami COUNTIF sužinote, kiek vertinamo skaičiaus pasikartojimų yra aukščiau esančiose ląstelėse, įskaitant skaičiaus ląstelę. Viršutinėje eilutėje, kurioje įvedate formulę, diapazoną sudaro viena ląstelė ($B$2:B2). Bet kadangi užrakinate tikpirmoji nuoroda ($B$2), paskutinė santykinė nuoroda (B2) keičiasi priklausomai nuo eilutės, į kurią kopijuojama formulė. Taigi 7 eilutėje diapazonas išplečiamas iki $B$2:B7, o B7 reikšmė lyginama su kiekvienu iš minėtų langelių.
Todėl visų 1-ųjų atvejų atveju COUNTIF grąžina 1, o formulės pabaigoje atimkite 1, kad atstatytumėte pradinį rangą.
Jei tai yra 2 atvejis, COUNTIF grąžina 2. Atimdami 1, padidinsite rangą 1 tašku ir taip išvengsite pasikartojimų. Jei yra 3 tos pačios reikšmės atvejai, COUNTIF()-1 prie jų rangų pridėsite 2 ir t. t.
Alternatyvus sprendimas, kaip nutraukti "Excel RANK" ryšius
Kitas būdas "Excel" programoje unikaliai įvertinti skaičius - sudėti dvi COUNTIF funkcijas:
- Pirmoji funkcija nustato, kiek reikšmių yra didesnės arba mažesnės už reitinguojamą skaičių, priklausomai nuo to, ar reitinguojate atitinkamai mažėjimo, ar didėjimo tvarka.
- Antroji funkcija (su "išplečiančiu diapazonu" $B$2:B2, kaip pirmiau pateiktame pavyzdyje) gauna reikšmių skaičių, lygų skaičiui.
Pavyzdžiui, norėdami vienareikšmiškai išrikiuoti skaičius nuo didžiausio iki mažiausio, naudokite šią formulę:
=COUNTIF($B$2:$B$7,">"&$B2)+COUNTIF($B$2:B2,B2)
Kaip parodyta toliau pateiktoje ekrano nuotraukoje, lygiųjų skaičius sėkmingai išspręstas ir kiekvienam mokiniui priskiriamas unikalus rangas:
Reitingavimas "Excel" programoje pagal kelis kriterijus
Ankstesniame pavyzdyje parodyti du veikiantys "Excel RANK" lygiųjų skaičiaus peržengimo situacijos sprendimai. Tačiau gali atrodyti nesąžininga, kad vienodi skaičiai skirtingai reitinguojami vien pagal jų padėtį sąraše. Norėdami pagerinti reitingavimą, galite pridėti dar vieną kriterijų, į kurį būtų atsižvelgiama lygiųjų atveju.
Mūsų pavyzdiniame duomenų rinkinyje sudėkime C stulpelyje esančius bendrus balus ir apskaičiuokime rangą taip:
- Pirma, rangas su Matematikos rezultatas (pagrindiniai kriterijai)
- Jei rezultatas yra lygus, jį išlyginkite naudodami Bendras rezultatas (antriniai kriterijai)
Norėdami tai padaryti, naudosime įprastą RANK/RANK.EQ formulę rangui nustatyti ir COUNTIFS funkciją lygiai taškų sumai nutraukti:
=RANK.EQ($B2,$B$2:$B$7)+COUNTIFS($B$2:$B$7,$B2,$C$2:$C$7,">"&$C2)
Palyginti su pirmiau pateiktu pavyzdžiu, ši rangavimo formulė yra objektyvesnė: Timotiejus užima 2-ąją vietą, nes jo bendras rezultatas yra didesnis nei Julijos:
Kaip veikia ši formulė
RANK formulės dalis yra akivaizdi, o COUNTIFS funkcija atlieka šiuos veiksmus:
- Pirmasis kriterijų_diapazonas / kriterijai pora ($B$2:$B$7,$B2) suskaičiuoja reitinguojamos reikšmės pasikartojimus. Atkreipkite dėmesį, kad mes nustatome diapazonas su absoliučiomis nuorodomis, bet neužrakinkite kriterijai eilutę ($B2), kad formulė tikrintų kiekvienos eilutės vertę atskirai.
- Antrasis kriterijų_diapazonas / kriterijai pora ($C$2:$C$7,">"&$C2) nustato, kiek bendrų balų yra daugiau už bendrą reitinguojamos reikšmės balą.
Kadangi COUNTIFS veikia pagal AND logiką, t. y. skaičiuoja tik tuos langelius, kurie atitinka visas nurodytas sąlygas, Timočiui ji grąžina 0, nes nė vienas kitas mokinys, turintis tokį patį matematikos balą, neturi aukštesnio bendro balo. Taigi Timočio rangas, kurį grąžina funkcija RANK.EQ, nesikeičia. Julijai COUNTIFS funkcija grąžina 1, nes vienas mokinys, turintis tokį patį matematikos balą, turi aukštesnį bendrą balą, todėl jos rangas yraJei dar vienas mokinys surinktų tokį patį matematikos balą, o jo bendras rezultatas būtų mažesnis nei Timočio ir Julijos, jo rangas būtų padidintas 2 ir t. t.
Alternatyvūs numerių rangavimo pagal kelis kriterijus sprendimai
Vietoj funkcijos RANK arba RANK.EQ galite naudoti funkciją COUNTIF, kad patikrintumėte pagrindinius kriterijus, o COUNTIFS arba SUMPRODUCT, kad išspręstumėte lygiųjų klausimą:
=COUNTIF($B$2:$B$7,">"&$B2)+COUNTIFS($B$2:$B$7,$B2,$B2,$C$2:$C$7,">"&$C2)+1
=COUNTIF($B$2:$B$7,">"&B2)+SUMPRODUCT(--($C$2:$C$7=C2),--($B$2:$B$7>B2))+1
Šių formulių rezultatai yra lygiai tokie patys, kaip parodyta pirmiau.
Kaip apskaičiuoti procentilių rangą "Excel" programoje
Statistikoje procentilis (arba centrilis ) - tai reikšmė, žemiau kurios yra tam tikra procentinė reikšmių dalis tam tikrame duomenų rinkinyje. Pavyzdžiui, jei 70 % mokinių yra lygūs arba mažesni už jūsų testo rezultatą, jūsų procentilinis rangas yra 70.
Jei norite gauti procentilių rangą "Excel" programoje, naudokite funkciją RANK arba RANK.EQ su nenuline reikšme užsakymas argumentą, kad išrikiuotumėte skaičius nuo mažiausio iki didžiausio, o tada padalytumėte rangą iš skaičių skaičiaus. "Excel" procentilių rangų formulė taip:
RANK.EQ( topmost_cell , diapazonas ,1)/SKAITAS( diapazonas )Norint apskaičiuoti mūsų mokinių procentilinį reitingą, formulė yra tokia:
=RANK.EQ(B2,$B$2:$B$7,1)/COUNT($B$2:$B$7)
Norėdami, kad rezultatai būtų rodomi teisingai, būtinai nustatykite Procentinė dalis formatą į formulės langelius:
Kaip klasifikuoti skaičius nesiribojančiose ląstelėse
Jei reikia reitinguoti nesusijusius langelius, pateikite tuos langelius tiesiogiai į nuoroda savo "Excel Rank" formulės argumentą kaip nuorodų sąjungą, užrakindami nuorodas ženklu $. Pavyzdžiui:
=RANK(B2,($B$2,$B$4,$B$6))
Kad išvengtumėte klaidų langeliuose, kuriuose nėra eiliškumo, į funkciją IFERROR įtraukite RANK, pvz., taip:
=IFERROR(RANK(B2,($B$2,$B$4,$B$6)), "")
Atkreipkite dėmesį, kad pasikartojančiam skaičiui taip pat suteikiamas rangas, nors langelis B5 į formulę neįtrauktas:
Jei reikia klasifikuoti kelis nesusijusius langelius, pirmiau pateikta formulė gali būti per ilga. Tokiu atveju elegantiškesnis sprendimas būtų apibrėžti pavadintą intervalą ir formulėje pateikti nuorodą į šį pavadinimą:
=IFERROR(RANK(B2,diapazonas), "")
Kaip "Excel" programoje klasifikuoti pagal grupes
Dirbant su įrašais, suskirstytais į tam tikrą duomenų struktūrą, duomenys gali priklausyti įvairioms grupėms, ir gali būti, kad norėsite kiekvienoje grupėje esančius skaičius reitinguoti atskirai. "Excel" funkcija RANK negali išspręsti šio uždavinio, todėl naudosime sudėtingesnę formulę SUMPRODUCT:
Ranga pagal grupę mažėjantis užsakymas:
=SUMPRODUCT((A2=$A$2:$A$7)*(C2<$C$2:$C$7))+1
Ranga pagal grupę didėjančia tvarka užsakymas:
=SUMPRODUCT((A2=$A$2:$A$7)*(C2>$C$2:$C$7))+1
Kur:
- A2:A7 yra numeriams priskirtos grupės.
- C2:C7 yra numeriai, kuriuos reikia įvertinti.
Šiame pavyzdyje pagal pirmąją formulę išrikiuosime kiekvienos grupės skaičius nuo didžiausio iki mažiausio:
Kaip veikia ši formulė
Iš esmės formulėje vertinamos 2 sąlygos:
- Pirmiausia tikrinama grupė (A2=$A$2:$A$7). Ši dalis grąžina TRUE ir FALSE masyvą pagal tai, ar diapazono elementas priklauso tai pačiai grupei kaip ir A2.
- Antra, patikrinkite rezultatą. Norėdami išrikiuoti reikšmes nuo didžiausios iki mažiausios ( mažėjančia tvarka ), naudokite sąlygą (C2<$C$2:$C$11), kuri grąžina TRUE, jei langeliai didesni arba lygūs C2, ir FALSE, jei ne.
Kadangi "Microsoft Excel" terminais TRUE = 1, o FALSE = 0, padauginus abu masyvus gaunamas 1 ir 0 masyvų masyvas, kuriame 1 grąžinama tik tose eilutėse, kuriose tenkinamos abi sąlygos.
Tada SUMPRODUCT sudeda 1 ir 0 masyvų elementus, todėl didžiausiam kiekvienos grupės skaičiui grąžinama 0. Ir prie rezultato pridedate 1, kad rangavimą pradėtumėte nuo 1.
Formulė, pagal kurią skaičiai grupėse išdėstomi nuo mažiausio iki didžiausio ( didėjančia tvarka užsakymas ) veikia pagal tą pačią logiką. Skirtumas tas, kad SUMPRODUCT grąžina 0 mažiausiam skaičiui tam tikroje grupėje, nes nė vienas skaičius toje grupėje neatitinka 2-osios sąlygos (C2>$C$2:$C$7). Vėlgi, nulinį rangą pakeisite 1-uoju rangu, prie formulės rezultato pridėdami 1.
Vietoj SUMPRODUCT galite naudoti funkciją SUM, kad susumuotumėte masyvo elementus. Tačiau tam reikia naudoti masyvo formulę, kuri baigiama klavišais Ctrl + Shift + Enter . Pavyzdžiui:
=SUM((A2=$A$2:$A$7)*(C2<$C$2:$C$7))+1
Kaip atskirai įvertinti teigiamus ir neigiamus skaičius
Jei jūsų skaičių sąraše yra ir teigiamų, ir neigiamų reikšmių, "Excel" funkcija RANK juos visus išrikiuos akimirksniu. Bet ką daryti, jei norite, kad teigiami ir neigiami skaičiai būtų išrikiuoti atskirai?
Naudodami A2-A10 langeliuose esančius skaičius, naudokite vieną iš toliau pateiktų formulių, kad gautumėte atskirus teigiamų ir neigiamų reikšmių rangus:
Išrikiuokite teigiamus skaičius mažėjančia tvarka:
=IF($A2>0,COUNTIF($A$2:$A$10,">"&A2)+1,"")
Teigiamus skaičius išrikiuokite didėjančia tvarka:
=IF($A2>0,COUNTIF($A$2:$A$10,">0")-COUNTIF($A$2:$A$10,">"&$A2),"")
Išrikiuokite neigiamus skaičius mažėjančia tvarka:
=IF($A2<0,COUNTIF($A$2:$A$10,"<0")-COUNTIF($A$2:$A$10,"<"&$A2),"")
Neigiamus skaičius išrikiuokite didėjančia tvarka:
=IF($A2<0,COUNTIF($A$2:$A$10,"<"&$A2)+1,"")
Rezultatai bus panašūs į šiuos:
Kaip veikia šios formulės
Pirmiausia išskaidykime formulę, pagal kurią teigiami skaičiai mažėjantis užsakymas:
- Funkcijos IF loginio testo metu tikrinama, ar skaičius yra didesnis už nulį.
- Jei skaičius yra didesnis už 0, COUNTIF funkcija grąžina skaičių reikšmių, kurios yra didesnės už reitinguojamą skaičių.
Šiame pavyzdyje A2 yra antras pagal dydį teigiamas skaičius, kuriam COUNTIF grąžina 1, t. y. yra tik vienas už jį didesnis skaičius. Norėdami pradėti rangavimą nuo 1, o ne nuo 0, prie formulės rezultato pridedame 1, todėl formulė grąžina A2 rangą 2.
- Jei skaičius didesnis už 0, formulė grąžina tuščią eilutę ("").
Formulė, pagal kurią teigiami skaičiai didėjančia tvarka tvarka veikia šiek tiek kitaip:
Jei skaičius yra didesnis už 0, pirmuoju COUNTIF veiksmu nustatomas bendras teigiamų skaičių skaičius duomenų rinkinyje, o antruoju COUNTIF veiksmu nustatoma, kiek reikšmių yra didesnės už tą skaičių. Tada iš pirmojo skaičiaus atimate antrąjį ir gaunate norimą rangą. Šiame pavyzdyje yra 5 teigiamos reikšmės, iš kurių 1 yra didesnė už A2. Taigi iš 5 atimate 1 ir gaunate 4 A2 rangą.
Panašia logika grindžiamos ir neigiamų skaičių rangavimo formulės.
Pastaba. Visos pirmiau pateiktos formulės ignoruoti nulines reikšmes nes 0 nepriklauso nei teigiamų, nei neigiamų skaičių aibei. Norėdami įtraukti nulius į savo rangą, pakeiskite>0 ir =0 bei <=0 atitinkamai ten, kur to reikalauja formulės logika.
Pavyzdžiui, norėdami išrikiuoti teigiamus skaičius ir nulius nuo didžiausio iki mažiausio, naudokite šią formulę: =IF($A2>=0,COUNTIF($A$2:$A$10,">"&A2)+1,"")
Kaip reitinguoti duomenis "Excel" programoje ignoruojant nulines reikšmes
Kaip jau žinote, "Excel" formulė RANK tvarko visus skaičius: teigiamus, neigiamus ir nulius. Tačiau kai kuriais atvejais norime tik reitinguoti langelius su duomenimis, neatsižvelgdami į 0 reikšmes. Internete galite rasti keletą galimų šios užduoties sprendimų, tačiau "Excel" formulė RANK IF, methinks, yra universaliausia:
Išrikiuokite skaičius mažėjančia tvarka, ignoruodami nulį:
=IF($B2=0,"",IF($B2>0,RANK($B2,$B$2:$B$10), RANK($B2,$B$2:$B$10)-COUNTIF($B$2:$B$10,0)))
Išrikiuokite numerius didėjančia tvarka, neatsižvelgdami į nulį:
=IF($B2=0,"",IF($B2>0,RANK($B2,$B$2:$B$10,1) - COUNTIF($B$2:$B$10,0), RANK($B2,$B$2:$B$10,1)))
Kur B2:B10 yra reitinguojamų skaičių intervalas.
Geriausia, kad ši formulė puikiai veikia ir teigiamiems, ir neigiamiems skaičiams, o nulinės reikšmės neįtraukiamos į reitingą:
Kaip veikia ši formulė
Iš pirmo žvilgsnio ši formulė gali pasirodyti šiek tiek sudėtinga. Atidžiau pažvelgus paaiškėja, kad logika labai paprasta.
Štai kaip "Excel" formulė RANK IF surikiuoja skaičius nuo didžiausio iki mažiausio, neatsižvelgdama į nulius:
- Pirmuoju IF tikrinama, ar skaičius yra 0, ir jei taip, grąžinama tuščia eilutė:
IF($B2=0,"", ...)
- Jei skaičius nelygus nuliui, antruoju IF patikrinama, ar jis didesnis už 0, ir jei taip, įprasta RANK / RANK.EQ funkcija apskaičiuoja jo rangą:
IF($B2>0,RANK($B2,$B$2:$B$10),...)
- Jei skaičius mažesnis už 0, rangą koreguojate pagal nulių skaičių. Šiame pavyzdyje yra 4 teigiami skaičiai ir 2 nuliai. Taigi didžiausiam neigiamam skaičiui B10 "Excel" RANK formulė duotų 7. Tačiau mes praleidžiame nulius, todėl rangą reikia pakoreguoti 2 balais. Tam iš rangų skaičiaus atimame nulių skaičių:
RANK($B2,$B$2:$B$10)-COUNTIF($B$2:$B$10,0))
Taip, tai labai paprasta! Panašiai veikia ir formulė, pagal kurią skaičiai rikiuojami nuo mažiausio iki didžiausio, neatsižvelgiant į nulius, o jos logikos išskaičiavimas gali būti geras smegenų pratimas :)
Kaip apskaičiuoti rangą "Excel" programoje pagal absoliučiąją vertę
Kai tvarkomas teigiamų ir neigiamų reikšmių sąrašas, gali prireikti išrikiuoti skaičius pagal jų absoliučiąsias reikšmes, neatsižvelgiant į ženklą.
Šią užduotį galima atlikti naudojant vieną iš toliau pateiktų formulių, kurios esmė - ABS funkcija, grąžinanti skaičiaus absoliučiąją vertę:
ABS reitingas mažėjančia tvarka:
=SUMPRODUCT((ABS(A2)<=ABS(A$2:A$7)) * (A$2:A$7"")) - SUMPRODUCT((ABS(A2)=ABS($A$2:$A$7)) * (A$2:A$7""))+1
ABS rangas didėjančia tvarka:
=SUMPRODUCT((ABS(A2)>=ABS(A$2:A$7)) * (A$2:A$7"")) - SUMPRODUCT((ABS(A2)=ABS($A$2:$A$7)) * (A$2:A$7""))+1
Todėl neigiami skaičiai vertinami taip, tarsi jie būtų teigiami skaičiai:
Kaip gauti N didžiausių arba mažiausių verčių
Jei norite gauti tikrąjį N didžiausių arba mažiausių reikšmių skaičių, o ne jų eiliškumą, naudokite atitinkamai funkciją LARGE arba SMALL.
Pavyzdžiui, pagal šią formulę galime gauti 3 geriausius mokinių rezultatus:
=LARGE($B$2:$B$7, $D3)
Kur B2:B7 yra balų sąrašas, o D3 - pageidaujamas rangas.
Be to, mokinių vardus galite gauti naudodami formulę INDEX MATCH (su sąlyga, kad tarp 3 geriausių rezultatų nėra pasikartojančių rezultatų):
=INDEX($A$2:$A$7,MATCH(E3,$B$2:$B$7,0))
Panašiai galite naudoti funkciją SMALL, kad ištrauktumėte 3 apatines reikšmes:
=SMALL($B$2:$B$7, $D3)
Štai kaip "Excel" programoje nustatomas reitingas. Norėdami geriau suprasti ir tikriausiai atvirkštiniu būdu išaiškinti šioje pamokoje aptartas formules, galite atsisiųsti mūsų pavyzdinę "Excel" darbo knygą "Rank".
Dėkoju, kad perskaitėte, ir tikiuosi, kad kitą savaitę susitiksime mūsų tinklaraštyje!