Grąžinkite masyvą naudodami „Excel“ naudodami funkciją INDEX

Anonim

Dėl kokių nors priežasčių, jei norite atlikti tam tikrą diapazono operaciją su tam tikrais indeksais, pagalvosite apie funkciją INDEX, kad gautumėte tam tikrų indeksų reikšmių masyvą. Kaip šitas.

Supraskime tai pavyzdžiu.

Čia turiu stulpelį Įvertinimas. Noriu susumuoti 1,3 ir 5 pozicijų reikšmes. Šią formulę rašau C2.

= SUMA (RODIKLIS (A2: A11, {1,3,5}))

Keista, kad funkcija INDEX negrąžina reikšmių masyvo, kai masyvą pateikiame kaip indeksus. Mes gauname tik pirmąją vertę. Funkcija SUM grąžina tik vienos vertės sumą.

Taigi, kaip mes galime gauti INDEX funkciją grąžinti tą masyvą. Na, radau šį sprendimą internete ir nelabai suprantu, kaip jis veikia, bet jis veikia.

Bendra formulė indeksams gauti

= SUM (INDEX (diapazonas, N (IF (1, {skaičiai}))))

Diapazonas: Tai yra diapazonas, kuriame norite ieškoti nurodytų indeksų skaičių
Skaičius: tai rodyklės skaičiai.
Dabar pritaikykime aukščiau pateiktą formulę mūsų pavyzdžiui.

Parašykite šią formulę C2.

= SUMA (INDEKSAS (A2: A11, N (IF (1, {1,3,5}))))

Ir tai pateikia teisingą atsakymą kaip 90.

Kaip tai veikia.

Na, kaip sakiau, aš nežinau, kodėl tai veikia ir grąžina skaičių masyvą, bet čia kas atsitinka.

IF (1, {1,3,5}): ši dalis grąžina masyvą {1,3, 5}, kaip tikėtasi

N (IF (1, {1,3,5})) tai reiškia N ({1,3,5}), o tai vėlgi suteikia mums {1,3,5}

PASTABA: N funkcija grąžina bet kurios vertės skaičių ekvivalentą. Jei reikšmė nėra konvertuojama, ji grąžina 0 (kaip tekstas). Ir už klaidas grąžina klaidą.

INDEX ((A2: A11, N (IF (1, {1,3,5}))))): ši dalis verčiama į INDEX ((A2: A11, {1,3,5})) ir tai kažkaip grąžina masyvą { 10,30,50}. Kaip matėte anksčiau, kai formulėje įrašote INDEX ((A2: A11, {1,3,5})), jis pateikia tik 10. Tačiau kai mes naudojame funkciją N ir IF, ji grąžina visą Jei suprantate, praneškite man toliau pateiktame komentarų skyriuje.

Kaip naudoti langelių nuorodas indeksų reikšmėms gauti masyvą
Pirmiau pateiktame pavyzdyje mes indeksavome funkcijų indeksus. Bet ką daryti, jei noriu jį gauti iš diapazono, kuris gali pasikeisti. Ar pakeisime {1,3,5} diapazonu? Pamėginkime.

Čia mes turime šią formulę ląstelėje D2:

= SUMA (INDEKSAS (A2: A11, N (IF (1, A2: A5))))

Tai grąžina 10. Pati pirmoji nurodyto indekso reikšmė. Net jei mes jį įvedame kaip masyvo formulę naudodami CTRL+SHIFT+ENTER, jis duoda tą patį rezultatą.

Kad jis veiktų, prieš diapazoną pridėkite + arba - (dvigubą vienkartinį) operatorių ir įveskite jį kaip masyvo formulę.

{= SUMA (RODIKLIS (A2: A11, N (IF (1,+A2: A5))))}

Tai veikia. Neklausk manęs, kaip? Tai tiesiog veikia. Jei galite man pasakyti, kaip čia įrašysiu jūsų vardą ir paaiškinimą.
Taigi mes sužinojome, kaip gauti masyvą iš funkcijos INDEX. „Excel“ čia vyksta beprotiški dalykai. Jei galite paaiškinti, kaip tai veikia čia, komentarų skiltyje, aš įtraukiu jį į savo paaiškinimą su jūsų vardu.
Atsisiųsti failą:

Grąžinkite masyvą naudodami „Excel“ naudodami funkciją INDEX

Susiję straipsniai:

Masyvai „Excel“ formulėje

Norėdami ieškoti vertės, naudokite INDEX ir MATCH

Kaip naudoti „LOOKUP“ funkciją „Excel“

Paieškos vertė su keliais kriterijais

Populiarūs straipsniai:

„VLOOKUP“ funkcija „Excel“

COUNTIF „Excel 2016“

Kaip naudoti „SUMIF“ funkciją „Excel“