Taastage massiiv, kasutades Excelis funktsiooni INDEX

Anonim

Kui soovite mingil põhjusel teha teatud toiminguid teatud indeksitega vahemikus, mõtlete funktsiooni INDEX kasutamisele teatud indeksite väärtuste massiivi saamiseks. Nagu nii.

Mõistame seda näite abil.

Siin on mul veerg Hinda. Tahan liita väärtused positsioonidel 1,3 ja 5. Kirjutan selle valemi C2 -sse.

= SUMMA (INDEKS (A2: A11, {1,3,5}))

Üllataval kombel ei tagasta funktsioon INDEX väärtuste massiivi, kui esitame massiivi indeksitena. Saame alles esimese väärtuse. Funktsioon SUM tagastab ainult ühe väärtuse summa.

Niisiis, kuidas me saame funktsiooni INDEX selle massiivi tagastada. Noh, leidsin selle lahenduse Internetist ja ma ei saa aru, kuidas see töötab, kuid see töötab.

Üldine valem indeksite massiivi saamiseks

= SUM (INDEX (vahemik, N (IF (1 ({numbrid))))))

Vahemik: See on vahemik, millest soovite antud indeksnumbreid otsida
Arv: need on indeksnumbrid.
Nüüd rakendame ülaltoodud valemit meie näite jaoks.

Kirjutage see valem lahtrisse C2.

= SUM (INDEX (A2: A11, N (IF (1, {1,3,5}))))

Ja see annab õige vastuse 90.

Kuidas see töötab.

Noh, nagu ma ütlesin, et ma ei tea, miks see töötab ja tagastab numbrimassiivi, kuid siin juhtub, mis juhtub.

IF (1, {1,3,5}): see osa tagastab massiivi {1,3, 5} ootuspäraselt

N (IF (1, {1,3,5})) tähendab N ({1,3,5}), mis annab meile uuesti {1,3,5}

MÄRKUS. Funktsioon N tagastab mis tahes väärtuse ekvivalendi. Kui väärtus ei ole teisendatav, tagastab see 0 (nagu tekst). Ja vigade korral tagastab vea.

INDEX ((A2: A11, N (IF (1, {1,3,5})))): see osa tõlgitakse INDEX -i ((A2: A11, {1,3,5})) ja see tagastab kuidagi massiivi { 10,30,50}. Nagu nägite varem, kirjutades valemisse otse INDEX ((A2: A11, {1,3,5}), tagastab see ainult 10. Aga kui kasutame funktsiooni N ja IF, tagastab see kogu massiiv. Kui saate sellest aru, andke mulle sellest allpool kommentaaride osas teada.

Kuidas kasutada massiivi saamiseks indeksiväärtuste lahtriviiteid
Ülaltoodud näites kodeerisime funktsioonide indeksid kõvasti. Aga mis siis, kui ma tahan selle saada vahemikust, mis võib muutuda. Asendame {1,3,5} vahemikuga? Proovime seda.

Siin on lahtris D2 see valem:

= SUM (INDEKS (A2: A11, N (IF (1 (A2: A5)))))))

See tagastab 10. Antud indeksi kõige esimene väärtus. Isegi kui sisestame selle massiivivalemina, kasutades klahvikombinatsiooni CTRL+SHIFT+ENTER, annab see sama tulemuse.

Selle toimimiseks lisage vahemiku ette + või - (topelt unikaarne) operaator ja sisestage see massiivivalemina.

{= SUMMA (INDEKS (A2: A11, N (IF (1 (+A2: A5))))))))}

See toimib. Ära küsi, kuidas? See lihtsalt töötab. Kui oskate öelda, kuidas ma teie nime ja selgituse siia lisan.
Nii õppisime, kuidas saada funktsiooni INDEX massiivi. Excelis toimub siin hullumeelseid asju. Kui saate siin allpool kommentaaride jaotises selgitada, kuidas see toimib, lisan selle oma nimega oma selgitusse.
Faili allalaadimine:

Taastage massiiv, kasutades Excelis funktsiooni INDEX

Seotud artiklid:

Massiivid Exceli valemis

Väärtuse otsimiseks kasutage INDEX ja MATCH

Kuidas kasutada funktsiooni OTSING Excelis

Otsinguväärtus mitme kriteeriumiga

Populaarsed artiklid:

Funktsioon VLOOKUP Excelis

COUNTIF Excelis 2016

Funktsiooni SUMIF kasutamine Excelis