Excel formula: iegūt nākamo ieplānoto notikumu -

Satura rādītājs

Vispārēja formula

(=MIN(IF((range>=TODAY()),range)))

Kopsavilkums

Lai iegūtu nākamo ieplānoto notikumu no notikumu saraksta ar datumiem, varat izmantot masīva formulu, kuras pamatā ir MIN un TODAY funkcijas, lai atrastu nākamo datumu, un INDEX un MATCH, lai parādītu notikumu šajā datumā. Parādītajā piemērā formula G6 ir:

(=MIN(IF((date>=TODAY()),date)))

Kur "datums" ir nosauktais diapazons D5: D14.

Piezīme: šī ir masīva formula, un tā jāievada ar Control + Shift + Enter.

Paskaidrojums

Risinājuma pirmajā daļā tiek izmantotas MIN un TODAY funkcijas, lai atrastu "nākamo datumu", pamatojoties uz šodienas datumu. Tas tiek darīts, filtrējot datumus, izmantojot funkciju IF:

IF((date>=TODAY()),date)

Loģiskais tests ģenerē TRUE / FALSE vērtību masīvu, kur TRUE atbilst datumiem, kas ir lielāki vai vienādi ar šodienu:

(FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE)

Kad rezultāts ir PATIESA, datums tiek pārsūtīts masīvā, ko atgriezis IF. Ja rezultāts ir FALSE, datums tiek aizstāts ar boolean FALSE. Funkcija IF atgriež šādu masīvu uz MIN:

(FALSE;FALSE;FALSE;43371;43385;43399;43413;43427;43441;43455)

Tad MIN funkcija ignorē FALSE vērtības un atgriež mazāko datuma vērtību (43371), kas ir datums 2018. gada 28. septembrī Excel datumu sistēmā.

Filmas nosaukuma iegūšana

Lai parādītu filmu, kas saistīta ar "nākamo datumu", mēs izmantojam INDEX un MATCH:

=INDEX(movie,MATCH(G6,date,0))

INDEX iekšpusē MATCH datumu sarakstā atrod datuma pozīciju G6. Šī pozīcija, 4 piemērā, tiek atgriezta INDEX kā rindas numurs:

=INDEX(movie,4)

un INDEX atgriež filmu šajā pozīcijā "The Dark Knight".

Viss vienā formulā

Lai atgrieztu nākamo filmu vienā formulā, varat izmantot šo masīva formulu:

(=INDEX(movie,MATCH(MIN(IF((date>=TODAY()),date)),date,0)))

Ar MINIFS

Ja jums ir jaunāka Excel versija, G6 masīva formulas vietā varat izmantot funkciju MINIFS:

=MINIFS(date,date,">="&TODAY())

MINIFS tika ieviests programmā Excel 2016, izmantojot Office 365.

Rīcības kļūdas

Formula šajā lapā darbosies pat tad, ja notikumi nav sakārtoti pēc datuma. Tomēr, ja nav gaidāmu datumu, MIN funkcija kļūdas vietā atgriezīs nulli. Tas tiks parādīts kā datums "0-Jan-00" G6, un INDEX un MATCH formula radīs kļūdu # N / A, jo nav nulles ceturtās rindas, no kuras iegūt vērtību. Lai aizturētu šo kļūdu, varat aizstāt MIN ar funkciju SMALL, pēc tam visu formulu ietīt IFERROR šādi:

=(IFERROR(SMALL(IF((date>=TODAY()),date),1),"None found"))

Atšķirībā no MIN, funkcija SMALL radīs kļūdu, ja vērtība netiks atrasta, tāpēc kļūdas pārvaldībai var izmantot IFERROR.

Interesanti raksti...