Talaan ng nilalaman
Sa tutorial na ito, makakahanap ka ng ilang halimbawa ng formula na nagpapakita ng pinakamabisang paggamit ng INDEX sa Excel.
Sa lahat ng function ng Excel na ang kapangyarihan ay kadalasang minamaliit at hindi nagagamit, Tiyak na ranggo ang INDEX sa isang lugar sa nangungunang 10. Pansamantala, ang function na ito ay matalino, sunud-sunuran at maraming nalalaman.
Kaya, ano ang INDEX function sa Excel? Sa esensya, ang isang INDEX formula ay nagbabalik ng isang cell reference mula sa loob ng isang ibinigay na array o range. Sa madaling salita, gumagamit ka ng INDEX kapag alam mo (o maaaring kalkulahin) ang posisyon ng isang elemento sa isang hanay at gusto mong makuha ang aktwal na halaga ng elementong iyon.
Maaaring ito ay parang walang halaga, ngunit minsan napagtanto mo ang tunay na potensyal ng function na INDEX, maaari itong gumawa ng mahahalagang pagbabago sa paraan ng pagkalkula, pagsusuri at pagpapakita ng data sa iyong mga worksheet.
Excel INDEX function - syntax at mga pangunahing gamit
May dalawang bersyon ng INDEX function sa Excel - array form at reference form. Ang parehong mga form ay maaaring gamitin sa lahat ng mga bersyon ng Microsoft Excel 365 - 2003.
INDEX array form
Ibinabalik ng INDEX array form ang halaga ng isang partikular na elemento sa isang range o array batay sa row at mga numero ng column na iyong tinukoy.
INDEX(array, row_num, [column_num])- array - ay isang hanay ng mga cell, pinangalanang hanay, o talahanayan.
- row_num - ay ang row number sa array kung saan magbabalik ng value. Kung ang row_num aynagbabalik ng value, ngunit sa formula na ito, pinipilit ito ng reference operator (:) na magbalik ng reference). At dahil $A$1 ang aming panimulang punto, ang huling resulta ng formula ay ang hanay na $A$1:$A$9.
Ipinapakita ng sumusunod na screenshot kung paano mo magagamit ang naturang Index formula upang lumikha ng isang dynamic na drop- pababang listahan.
Tip. Ang pinakamadaling paraan upang lumikha ng isang dynamic na na-update na drop-down na listahan ay ang gumawa ng isang pinangalanang listahan batay sa isang talahanayan. Sa kasong ito, hindi mo kakailanganin ang anumang kumplikadong mga formula dahil ang mga talahanayan ng Excel ay mga dynamic na hanay per se.
Maaari mo ring gamitin ang function na INDEX upang lumikha ng mga dependent na drop-down list at ipinapaliwanag ng sumusunod na tutorial ang mga hakbang: Paggawa ng cascading drop-down list sa Excel.
5. Napakahusay na Vlookup na may INDEX / MATCH
Nagsasagawa ng mga vertical lookup - dito ay tunay na kumikinang ang function ng INDEX. Kung nasubukan mo nang gumamit ng Excel VLOOKUP function, alam mo na ang maraming limitasyon nito, tulad ng kawalan ng kakayahang mag-pull ng mga value mula sa mga column sa kaliwa ng lookup column o 255 chars na limitasyon para sa isang lookup value.
Ang Ang pag-uugnayan ng INDEX / MATCH ay mas mataas kaysa sa VLOOKUP sa maraming aspeto:
- Walang mga problema sa mga kaliwang vlookup.
- Walang limitasyon sa laki ng value ng lookup.
- Walang pag-uuri ay kinakailangan (VLOOKUP na may tinatayang tugma ay nangangailangan ng pag-uuri ng column ng paghahanap sa pataas na pagkakasunud-sunod).
- Malaya kang magpasok at mag-alis ng mga column sa isang talahanayan nang hindi nag-a-updatebawat nauugnay na formula.
- At ang pinakahuli ngunit hindi ang pinakamaliit, ang INDEX / MATCH ay hindi nagpapabagal sa iyong Excel tulad ng ginagawa ng maraming Vlookup.
Gumagamit ka ng INDEX / MATCH sa sumusunod na paraan :
=INDEX ( column na magbabalik ng value mula sa , (MATCH ( lookup value , column to lookup against , 0))Para sa halimbawa, kung i-flip namin ang aming source table upang ang Planet Name ay maging pinakakanang column, ang INDEX / MATCH formula ay kukuha pa rin ng katugmang value mula sa kaliwang column nang walang sagabal.
Para sa higit pang mga tip at halimbawa ng formula, pakitingnan ang Excel INDEX / MATCH tutorial.
6. Excel INDEX formula para makakuha ng 1 range mula sa isang listahan ng mga range
Ang isa pang matalino at mahusay na paggamit ng function ng INDEX sa Excel ay ang kakayahang makakuha ng isang hanay mula sa isang listahan ng mga hanay.
Ipagpalagay, mayroon kang ilang listahan na may ibang bilang ng mga item sa bawat isa. Maniwala ka sa akin o hindi, maaari mong kalkulahin ang average o isama ang mga halaga sa anumang napiling hanay gamit ang isang formula.
Una, gagawa ka e isang pinangalanang hanay para sa bawat listahan; hayaan itong maging PlanetsD at MoonsD sa halimbawang ito:
Sana ay ipinapaliwanag ng larawan sa itaas ang pangangatwiran sa likod ng mga pangalan ng mga hanay :) BTW, ang talahanayan ng Moons ay malayo sa kumpleto, mayroong 176 na kilalang natural na buwan sa ating Solar System, ang Jupiter lamang ay mayroong 63 sa kasalukuyan, at nadaragdagan pa. Para sa halimbawang ito, pinili ko ang random na 11, well... marahil hindi masyadong random -mga buwan na may pinakamagandang pangalan : )
Pasensya na sa digression, bumalik sa aming INDEX formula. Ipagpalagay na ang PlanetsD ay ang iyong range 1 at ang MoonsD ay range 2, at ang cell B1 ay kung saan mo inilalagay ang range number, maaari mong gamitin ang sumusunod na Index formula upang kalkulahin ang average ng mga value sa ang napiling pinangalanang hanay:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Mangyaring bigyang-pansin na ngayon ay ginagamit namin ang Reference form ng INDEX function, at ang numero sa huling argumento (area_num) ay nagsasabi sa formula kung aling saklaw ang pick.
Sa screenshot sa ibaba, ang area_num (cell B1) ay nakatakda sa 2, kaya kinakalkula ng formula ang average na diameter ng Moons dahil ang range na MoonsD ay pumapangalawa. sa reference na argumento.
Kung nagtatrabaho ka sa maraming listahan at ayaw mong mag-abala sa pag-alala sa mga nauugnay na numero, maaari kang gumamit ng nested IF function para gawin ito para sa iyo :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
Sa IF function, gumagamit ka ng ilang simple at madaling tandaan na mga pangalan ng listahan na gusto mong i-type ng iyong mga user sa cell B1 sa halip na mga numero. Pakitandaan ito, para gumana nang tama ang formula, ang text sa B1 ay dapat na eksaktong pareho (case-insensitive) tulad ng sa mga parameter ng IF, kung hindi, ang iyong Index formula ay magtapon ng #VALUE error.
Upang gawing mas madaling gamitin ang formula, maaari mong gamitin ang Data Validation upang lumikha ng isang drop-down na listahan na may mga paunang natukoy na pangalan upang maiwasan ang mga error sa spelling atmga maling pag-print:
Sa wakas, upang gawing ganap na perpekto ang iyong INDEX formula, maaari mo itong ilakip sa function na IFERROR na magpo-prompt sa user na pumili ng isang item mula sa drop-down na listahan kung wala pang napili:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Ganito ka gumagamit ng mga INDEX formula sa Excel. Umaasa ako na ipinakita sa iyo ng mga halimbawang ito ang isang paraan upang magamit ang potensyal ng function ng INDEX sa iyong mga worksheet. Salamat sa pagbabasa!
tinanggal, kailangan ang column_num. - column_num - ay ang numero ng column kung saan magbabalik ng value. Kung aalisin ang column_num, kailangan ang row_num.
Halimbawa, ibinabalik ng formula =INDEX(A1:D6, 4, 3)
ang value sa intersection ng ika-4 na row at ika-3 column sa range A1:D6, na siyang value sa cell C4 .
Upang makakuha ng ideya kung paano gumagana ang INDEX formula sa totoong data, mangyaring tingnan ang sumusunod na halimbawa:
Sa halip na ilagay ang row at mga numero ng column sa formula, maaari mong ibigay ang mga cell reference para makakuha ng mas unibersal na formula: =INDEX($B$2:$D$6, G2, G1)
Kaya, ibinabalik ng INDEX formula na ito ang bilang ng mga item nang eksakto sa intersection ng numero ng produkto na tinukoy sa G2 (row_num ) at numero ng linggong inilagay sa cell G1 (column_num).
Tip. Ang paggamit ng mga absolute reference ($B$2:$D$6) sa halip na mga relative reference (B2:D6) sa array argument ay nagpapadali sa pagkopya ng formula sa ibang mga cell. Bilang kahalili, maaari mong i-convert ang isang hanay sa isang talahanayan ( Ctrl + T ) at i-refer ito sa pamamagitan ng pangalan ng talahanayan.
INDEX array form - mga bagay na dapat tandaan
- Kung ang array argument ay binubuo lamang ng isang row o column, maaari mong tukuyin o hindi ang katumbas na row_num o column_num argument.
- Kung ang array argument ay may kasamang higit sa isang row at row_num ay tinanggal o nakatakda sa 0, ang INDEX function ay nagbabalik ng array ng buong column. Katulad nito, kung ang array ay may kasamang higit sa isacolumn at ang column_num na argumento ay tinanggal o nakatakda sa 0, ibinabalik ng INDEX formula ang buong row. Narito ang isang halimbawa ng formula na nagpapakita ng gawi na ito.
- Ang mga argumento ng row_num at column_num ay dapat sumangguni sa isang cell sa loob ng array; kung hindi, ibabalik ng INDEX formula ang #REF! error.
INDEX reference form
Ibinabalik ng reference form ng Excel INDEX function ang cell reference sa intersection ng tinukoy na row at column.
INDEX(reference, row_num , [column_num], [area_num] )- reference - ay isa o ilang hanay.
Kung naglalagay ka ng higit sa isang hanay, paghiwalayin ang mga hanay sa pamamagitan ng mga kuwit at ilakip ang reference na argumento sa mga panaklong, halimbawa (A1:B5, D1:F5).
Kung ang bawat hanay sa reference ay naglalaman lamang isang row o column, ang katumbas na row_num o column_num na argument ay opsyonal.
- row_num - ang row_num - ang numero ng row sa hanay kung saan magbabalik ng cell reference, ito ay katulad ng array form.
- column_num - ang numero ng column kung saan ibabalik ang isang cell reference, ay gumagana nang katulad sa array form.
- area_num - isang opsyonal na parameter na tumutukoy kung aling saklaw mula sa reference na argumento ang gagamitin. Kung aalisin, ibabalik ng formula ng INDEX ang resulta para sa unang hanay na nakalista sa sanggunian.
Halimbawa, ibinabalik ng formula =INDEX((A2:D3, A5:D7), 3, 4, 2)
ang halaga ng cell D7, na nasaintersection ng 3rd row at 4th column sa pangalawang lugar (A5:D7).
INDEX reference form - mga bagay na dapat tandaan
- Kung ang argumento ng row_num o column_num ay nakatakda sa zero (0), ibinabalik ng isang INDEX formula ang reference para sa buong column o row, ayon sa pagkakabanggit.
- Kung ang parehong row_num at column_num ay tinanggal, ibabalik ng INDEX function ang lugar na tinukoy sa ang argumento ng area_num.
- Lahat ng _num na argumento (row_num, column_num at area_num) ay dapat sumangguni sa isang cell na nasa sanggunian; kung hindi, ibabalik ng INDEX formula ang #REF! error.
Ang parehong mga formula ng INDEX na napag-usapan natin sa ngayon ay napakasimple at naglalarawan lamang ng konsepto. Ang iyong mga tunay na formula ay malamang na maging mas kumplikado kaysa doon, kaya't tuklasin natin ang ilang pinakamahuhusay na paggamit ng INDEX sa Excel.
Paano gamitin ang INDEX function sa Excel - mga halimbawa ng formula
Marahil doon hindi ba maraming praktikal na paggamit ng Excel INDEX sa sarili, ngunit kasama ng iba pang mga function tulad ng MATCH o COUNTA, maaari itong gumawa ng napakalakas na mga formula.
Source data
Lahat ng aming INDEX formula (maliban sa huli), gagamitin namin ang data sa ibaba. Para sa mga layunin ng kaginhawahan, ito ay nakaayos sa isang talahanayan na pinangalanang SourceData .
Ang paggamit ng mga talahanayan o pinangalanang mga hanay ay maaaring gumawa ng mga formula medyo mas mahaba, ngunit ginagawa rin nitong mas nababaluktot at mas nababasa ang mga ito. Upang ayusin ang anumang INDEXformula para sa iyong mga worksheet, kailangan mo lang baguhin ang isang solong pangalan, at ito ay ganap na bumubuo ng mas mahabang haba ng formula.
Siyempre, walang pumipigil sa iyo na gumamit ng mga karaniwang hanay kung gusto mo. Sa kasong ito, palitan mo lang ang pangalan ng talahanayan SourceData ng naaangkop na sanggunian sa hanay.
1. Pagkuha ng Nth item mula sa listahan
Ito ang pangunahing paggamit ng INDEX function at isang pinakasimpleng formula na gagawin. Upang kunin ang isang partikular na item mula sa listahan, isulat mo lang ang =INDEX(range, n)
kung saan ang range ay isang hanay ng mga cell o isang pinangalanang hanay, at ang n ay ang posisyon ng item na gusto mong makuha.
Kapag nagtatrabaho sa mga talahanayan ng Excel, maaari mong piliin ang column gamit ang mouse at kukunin ng Excel ang pangalan ng column kasama ng pangalan ng talahanayan sa formula:
Upang makakuha ng halaga ng cell sa intersection ng isang ibinigay na row at column, gagamitin mo ang parehong diskarte na may tanging pagkakaiba na pareho mong tinukoy - ang row number at ang column number. Sa katunayan, nakita mo na ang gayong formula sa pagkilos noong tinalakay namin ang INDEX array form.
At narito ang isa pang halimbawa. Sa aming sample na talahanayan, upang mahanap ang ika-2 pinakamalaking planeta sa Solar system, pag-uri-uriin mo ang talahanayan ayon sa column na Diameter , at gamitin ang sumusunod na formula ng INDEX:
=INDEX(SourceData, 2, 3)
-
Array
ay ang pangalan ng talahanayan, o isang saklaw na sanggunian, SourceData sa halimbawang ito. -
Row_num
ay 2 dahil hinahanap mo ang pangalawang itemsa listahan, na nasa ika-2 -
Column_num
ay 3 dahil ang Diameter ang ika-3 column sa talahanayan.
Kung gusto mong ibalik ang planeta ng pangalan sa halip na diameter, baguhin ang column_num sa 1. At natural, maaari kang gumamit ng cell reference sa row_num at/o column_num na mga argumento upang gawing mas versatile ang iyong formula, gaya ng ipinapakita sa screenshot sa ibaba:
2. Pagkuha ng lahat ng value sa isang row o column
Bukod sa pagkuha ng isang cell, ang INDEX function ay nakakapagbalik ng array ng mga value mula sa buong row o column . Upang makuha ang lahat ng mga value mula sa isang partikular na column, kailangan mong alisin ang argumento ng row_num o itakda ito sa 0. Gayundin, upang makuha ang buong row, ipapasa mo ang walang laman na value o 0 sa column_num.
Halos hindi maaaring mangyari ang gayong mga formula ng INDEX gamitin sa kanilang sarili, dahil ang Excel ay hindi magkasya sa hanay ng mga halaga na ibinalik ng formula sa isang cell, at makukuha mo ang #VALUE! error sa halip. Gayunpaman, kung gagamit ka ng INDEX kasabay ng iba pang mga function, gaya ng SUM o AVERAGE, makakakuha ka ng magagandang resulta.
Halimbawa, maaari mong gamitin ang sumusunod na formula upang kalkulahin ang average na temperatura ng planeta sa Solar system:
=AVERAGE(INDEX(SourceData, , 4))
Sa formula sa itaas, ang column_num argument ay 4 dahil Temperature sa ika-4 na column sa aming table. Inalis ang row_num parameter.
Sa katulad na paraan, mahahanap mo ang minimum at maximumtemperatura:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
At kalkulahin ang kabuuang masa ng planeta (Ang masa ay ang ika-2 column sa talahanayan):
=SUM(INDEX(SourceData, , 2))
Mula sa praktikal na pananaw, ang INDEX function sa formula sa itaas ay sobra-sobra. Maaari mo lang isulat ang =AVERAGE(range)
o =SUM(range)
at makuha ang parehong mga resulta.
Kapag nagtatrabaho sa totoong data, maaaring makatulong ang feature na ito bilang bahagi ng mas kumplikadong mga formula na ginagamit mo para sa pagsusuri ng data.
3. Gamit ang INDEX kasama ng iba pang mga function (SUM, AVERAGE, MAX, MIN)
Mula sa mga nakaraang halimbawa, maaaring nasa ilalim ka ng impression na ang isang INDEX formula ay nagbabalik ng mga halaga, ngunit ang katotohanan ay nagbabalik ito ng reference sa cell na naglalaman ng halaga. At ang halimbawang ito ay nagpapakita ng tunay na katangian ng Excel INDEX function.
Dahil ang resulta ng isang INDEX formula ay isang reference, maaari naming gamitin ito sa loob ng iba pang mga function upang gumawa ng isang dynamic range . Parang nakakalito? Ang sumusunod na formula ay gagawing malinaw ang lahat.
Ipagpalagay na mayroon kang formula =AVERAGE(A1:A10)
na nagbabalik ng average ng mga halaga sa mga cell A1:A10. Sa halip na direktang isulat ang hanay sa formula, maaari mong palitan ang alinman sa A1 o A10, o pareho, ng mga function ng INDEX, tulad nito:
=AVERAGE(A1 : INDEX(A1:A20,10))
Ang parehong mga formula sa itaas ay maghahatid ng pareho resulta dahil nagbabalik din ang function na INDEX ng reference sa cell A10 (nakatakda ang row_num sa 10, inalis ang col_num). Ang pagkakaiba ay ang hanay ay ang AVERAGE / INDEX formula ay dynamic,at kapag binago mo ang row_num argument sa INDEX, magbabago ang range na pinoproseso ng AVERAGE function at magbabalik ang formula ng ibang resulta.
Mukhang masyadong kumplikado ang ruta ng INDEX formula, ngunit mayroon itong mga praktikal na aplikasyon , gaya ng ipinakita sa mga sumusunod na halimbawa.
Halimbawa 1. Kalkulahin ang average ng nangungunang N item sa listahan
Sabihin nating gusto mong malaman ang average na diameter ng N pinakamalaking planeta sa aming system . Kaya, pag-uri-uriin mo ang talahanayan ayon sa column na Diameter mula sa pinakamalaki hanggang sa pinakamaliit, at gamitin ang sumusunod na formula ng Average / Index:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Halimbawa 2. Isama ang mga item sa pagitan ng tinukoy na dalawang item
Kung sakaling gusto mong tukuyin ang upper-bound at lower-bound na mga item sa iyong formula, kailangan mo lang gumamit ng dalawang INDEX function upang ibalik ang una at ang huling item na gusto mo.
Halimbawa, ibinabalik ng sumusunod na formula ang kabuuan ng mga value sa column na Diameter sa pagitan ng dalawang item na tinukoy sa mga cell B1 at B2:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. INDEX formula para gumawa ng mga dynamic na hanay at drop-down na listahan
Gaya ng madalas na nangyayari, kapag sinimulan mong ayusin ang data sa isang worksheet, maaaring hindi mo alam kung gaano karaming mga entry ang makukuha mo sa kalaunan. Hindi ito ang kaso sa table ng ating mga planeta, na mukhang kumpleto, ngunit sino ang nakakaalam...
Gayunpaman, kung mayroon kang nagbabagong bilang ng mga item sa isang partikular na column, sabihin mula A1 hanggang A n ,maaaring gusto mong lumikha ng isang dynamic na pinangalanang hanay na kinabibilangan ng lahat ng mga cell na may data. Sa gayon, gusto mong awtomatikong mag-adjust ang hanay habang nagdaragdag ka ng mga bagong item o nagtatanggal ng ilan sa mga umiiral na. Halimbawa, kung kasalukuyan kang mayroong 10 item, ang iyong pinangalanang hanay ay A1:A10. Kung magdaragdag ka ng bagong entry, awtomatikong lalawak ang pinangalanang hanay sa A1:A11, at kung magbago ang isip mo at tatanggalin ang bagong idinagdag na data, awtomatikong babalik ang hanay sa A1:A10.
Ang pangunahing bentahe nito Ang diskarte ay hindi mo kailangang patuloy na i-update ang lahat ng mga formula sa iyong workbook upang matiyak na tumutukoy ang mga ito sa mga tamang hanay.
Ang isang paraan upang tukuyin ang isang dynamic na hanay ay ang paggamit ng Excel OFFSET function:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Ang isa pang posibleng solusyon ay ang paggamit ng Excel INDEX kasama ang COUNTA:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
Sa parehong mga formula, ang A1 ay ang cell na naglalaman ng unang item ng listahan at ang dynamic na hanay na ginawa sa pamamagitan ng parehong mga formula ay magiging magkapareho.
Ang pagkakaiba ay nasa mga diskarte. Habang ang OFFSET function ay gumagalaw mula sa panimulang punto sa pamamagitan ng isang tiyak na bilang ng mga row at/o column, ang INDEX ay nakakahanap ng cell sa intersection ng isang partikular na row at column. Ang function na COUNTA, na ginagamit sa parehong mga formula, ay nakakakuha ng bilang ng mga walang laman na cell sa column ng interes.
Sa halimbawang ito, mayroong 9 na hindi blangko na mga cell sa column A, kaya ang COUNTA ay nagbabalik ng 9. Dahil dito, ang INDEX ay nagbabalik ng $A$9, na siyang huling ginamit na cell sa column A (karaniwang INDEX