
Bendroji formulė
(=MIN(IF(range=criteria,values)))
Santrauka
Norėdami gauti mažiausią vertę pagal kriterijus, galite naudoti MIN funkciją kartu su IF funkcija. Parodytame pavyzdyje formulė G6 yra:
(=MIN(IF(names=F6,times)))
Kur „vardai“ yra pavadintas diapazonas B6: B17, o laikas - pavadintas diapazonas D6: D17.
Tai yra masyvo formulė, kurią reikia įvesti paspaudus „Control + Shift + Enter“.
Paaiškinimas
IF funkcija pirmiausia įvertinama atlikus šį loginį testą:
names=F6
Tai sukuria TRUE / FALSE reikšmių masyvą, kur TRUE atitinka eilutes, kurių pavadinimas atitinka F6 reikšmę:
(TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE)
IF reikšmė „true if true“ yra įvardytas diapazonas „times“, kuris pateikia visą laikų rinkinį. Rezultatas yra tas, kad loginio testo masyvas efektyviai „filtruoja“ laiko vertes. Kai rezultatas TIKRA, laikas perkeliamas į masyvą, kurį grąžina IF. Kai rezultatas yra NETIESA, laiko reikšmė pakeičiama Būlo NETIESA:
(0.000868055555555556;FALSE;FALSE;0.000902777777777778;FALSE;FALSE;0.000914351851851852;FALSE;FALSE;0.000833333333333333;FALSE;FALSE)
Pastaba: „Excel“ laikai yra dalinės vertės, kurios paaiškina ilgąsias dešimtaines reikšmes.
IF funkcija veikia kaip filtras. Tik su TRUE susietos laiko vertės patenka į filtrą, kitos vertės pakeičiamos į FALSE.
IF funkcija pateikia šį masyvą tiesiai į MIN funkciją, grąžina mažiausią masyvo vertę. FALSE reikšmės automatiškai nepaisomos.
Tuščios ląstelės
Ištuštinus langelius nulinė reikšmė bus perkelta į MIN, o tai gali sukelti netikėtų rezultatų. Norėdami „išfiltruoti“ tuščias langelius, galite pridėti dar vieną įdėtą lizdą:
=MIN(IF(names=F6,IF(times"",times)))
Su MINIFU
MINIFS funkcija, pristatyta programoje „Excel 2016“ per „Office 365“, skirta apskaičiuoti minimumus pagal vieną ar daugiau kriterijų, nereikia masyvo formulės. Naudojant MINIFS, formulė G6 yra:
=MINIFS(times,names,F6)