Excel formula: Dohvatite mjesto vrijednosti u 2D polju -

Generička formula

=SUMPRODUCT((data=MAX(data))*ROW(data))-ROW(data)+1

Sažetak

Da biste locirali položaj vrijednosti u 2D nizu, možete koristiti funkciju SUMPRODUCT. U prikazanom primjeru, formule korištene za lociranje brojeva redaka i stupaca maksimalne vrijednosti u polju su:

=SUMPRODUCT((data=MAX(data))*ROW(data))-ROW(data)+1 =SUMPRODUCT((data=MAX(data))*COLUMN(data))-COLUMN(data)+1

gdje je "podatak" imenovani raspon C5: G14.

Napomena: u ovom primjeru proizvoljno pronalazimo mjesto maksimalne vrijednosti u podacima, ali podatke = MAX (podaci) možete zamijeniti bilo kojim drugim logičkim testom koji će izolirati zadanu vrijednost. Također imajte na umu da ove formule neće uspjeti ako u nizu postoje dvostruke vrijednosti.

Obrazloženje

Da bi se dobio broj retka, podaci se uspoređuju s maksimalnom vrijednošću, koja generira niz TRUE FALSE rezultata. Oni se množe rezultatom ROW (podaci) koji generira i niz brojeva redaka povezanih s imenovanim rasponom "podaci":

=SUMPRODUCT((FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,TRUE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE)*(5;6;7;8;9;10;11))

Operacija množenja uzrokuje da Excel prisiljava TRUE FALSE vrijednosti u prvom polju na 1s i 0s, tako da možemo vizualizirati međukorak poput ovog:

=SUMPRODUCT((0,0,0,0,0;0,0,0,0,0;0,0,0,0,0;0,0,0,0,0;0,0,1,0,0;0,0,0,0,0;0,0,0,0,0)*(5;6;7;8;9;10;11))

SUMPRODUCT tada vraća rezultat 9, što odgovara 9. redu na radnom listu. Da bismo dobili indeks u odnosu na imenovani raspon "podaci", koristimo:

-ROW(data)+1

Konačni rezultat je niz (5; 4; 3; 2; 1; 0; -1), iz kojeg se prikazuje samo prva vrijednost (5).

Formula za određivanje položaja stupca djeluje na isti način.

Napomena: Na ovaj sam pristup naišao u komentaru Mikea Ericksona na MrExcel.com. Postoje i neke druge dobre ideje u toj niti, uključujući opciju formule niza.

Zanimljivi članci...