Excel formula: iegūt pēdējo spēli -

Satura rādītājs

Vispārēja formula

(=MAX(IF(criteria,ROW(rng)-MIN(ROW(rng))+1)))

Kopsavilkums

Lai iegūtu uzmeklēšanas vērtības pēdējās atbilstības (ti, pēdējās parādīšanās) pozīciju, varat izmantot masīva formulu, kuras pamatā ir IF, ROW, INDEX, MATCH un MAX funkcijas. Parādītajā piemērā formula H6 ir:

(=MAX(IF(names=H5,ROW(names)-MIN(ROW(names))+1)))

Kur "nosaukumi" ir nosauktais diapazons C4: C11.

Piezīme: šī ir masīva formula, un tā jāievada ar vadības taustiņu + shift + enter.

Paskaidrojums

Šīs formulas būtība ir tāda, ka mēs izveidojam norādīto diapazonu rindu numuru sarakstu, kas atbilst vērtībai, un pēc tam izmantojam funkciju MAX, lai iegūtu lielāko rindas numuru, kas atbilst pēdējai atbilstības vērtībai. Nosaukto diapazonu "nosaukumi" mēs izmantojam tikai ērtībai.

Strādājot no iekšpuses, šī formulas daļa ģenerēs relatīvu rindu numuru kopu:

ROW(names)-MIN(ROW(names))+1

Iepriekš minētās izteiksmes rezultāts ir šādu skaitļu masīvs:

(1;2;3;4;5;6;7;8)

Ievērojiet, ka mēs iegūstam 8 skaitļus, kas atbilst 8 tabulas rindām. Lai uzzinātu vairāk par šīs formulas daļas darbību, skatiet šo lapu.

Šīs formulas vajadzībām mēs vēlamies tikai rindu numurus atbilstošām vērtībām, tāpēc vērtību IF filtrēšanai izmantojam funkciju IF:

IF(names=H5,ROW(names)-MIN(ROW(names))+1)

Rezultātā tiek izveidots masīvs, kas izskatās šādi:

(1;FALSE;FALSE;4;FALSE;FALSE;7;FALSE)

Ņemiet vērā, ka šajā masīvā joprojām ir astoņi vienumi. Tomēr ir saglabājušies tikai tie rindu numuri, kuru vērtība nosauktajā diapazonā "vārdi" ir vienāda ar "amy" (ti, 1, 4, 7). Visi pārējie masīva vienumi ir FALSE, jo tie neizdevās loģiskajā pārbaudē IF funkcijā.

Visbeidzot, IF funkcija piegādā šo masīvu funkcijai MAX. MAX atgriež masīva augstāko vērtību skaitlis 7, kas atbilst pēdējās rindas skaitlim, kur nosaukums ir "amy". Tiklīdz mēs zinām pēdējās atbilstošās rindas numuru, mēs varam izmantot INDEX, lai izgūtu vērtību šajā pozīcijā.

Otrais līdz pēdējam utt.

Lai iegūtu otro vietu pēdējā vietā, trešo vietu pēdējā vietā utt., Varat pārslēgties no MIN funkcijas uz LARGE funkciju šādi:

(=LARGE(IF(criteria,ROW(rng)-MIN(ROW(rng))+1),k))

kur k apzīmē "n lielāko". Piemēram, lai iegūtu otro līdz pēdējo spēli iepriekšējā piemērā, varat izmantot:

(=LARGE(IF(names=H5,ROW(names)-MIN(ROW(names))+1),2))

Tāpat kā iepriekš, šī ir masīva formula, un tā jāievada ar vadības taustiņu + shift + enter.

Interesanti raksti...