Змест
У гэтым падручніку вы знойдзеце шэраг прыкладаў формул, якія дэманструюць найбольш эфектыўнае выкарыстанне INDEX у Excel.
З усіх функцый Excel, магутнасць якіх часта недаацэньваецца і недастаткова выкарыстоўваецца, INDEX, безумоўна, увойдзе ў топ-10. У той жа час гэтая функцыя разумная, гнуткая і ўніверсальная.
Такім чынам, што такое функцыя INDEX у Excel? Па сутнасці, формула INDEX вяртае спасылку на ячэйку з зададзенага масіва або дыяпазону. Іншымі словамі, вы выкарыстоўваеце INDEX, калі ведаеце (ці можаце вылічыць) пазіцыю элемента ў дыяпазоне і жадаеце атрымаць фактычнае значэнне гэтага элемента.
Гэта можа здацца крыху трывіяльным, але аднойчы калі вы разумееце рэальны патэнцыял функцыі INDEX, яна можа ўнесці істотныя змены ў тое, як вы вылічваеце, аналізуеце і прадстаўляеце даныя ў сваіх працоўных лістах.
Функцыя INDEX Excel - сінтаксіс і асноўныя спосабы выкарыстання
Ёсць дзве версіі функцыі INDEX у Excel - форма масіва і форма спасылкі. Абедзве формы можна выкарыстоўваць ва ўсіх версіях Microsoft Excel 365 - 2003.
Форма масіву INDEX
Форма масіву INDEX вяртае значэнне пэўнага элемента ў дыяпазоне або масіве на аснове радка і нумары слупкоў, якія вы вызначаеце.
INDEX(масіў, нумар_радка, [нумер_слупка])- масіў - гэта дыяпазон вочак, найменны дыяпазон або табліца.
- row_num - гэта нумар радка ў масіве, з якога трэба вярнуць значэнне. Калі row_num роўнывяртае значэнне, але ў гэтай формуле аператар спасылкі (:) прымушае вяртаць спасылку). І паколькі $A$1 з'яўляецца нашай адпраўной кропкай, канчатковым вынікам формулы з'яўляецца дыяпазон $A$1:$A$9.
На наступным здымку экрана паказана, як вы можаце выкарыстоўваць такую формулу Індэкса для стварэння дынамічнага падзення ніжні спіс.
Савет. Самы просты спосаб стварыць дынамічна абнаўляемы выпадальны спіс - гэта зрабіць іменны спіс на аснове табліцы. У гэтым выпадку вам не спатрэбяцца складаныя формулы, паколькі табліцы Excel самі па сабе з'яўляюцца дынамічнымі дыяпазонамі.
Вы таксама можаце выкарыстоўваць функцыю INDEX для стварэння залежных выпадаючых спісаў, а наступны падручнік тлумачыць крокі: Стварэнне каскаднага выпадальнага спісу ў Excel.
5. Магутны пошук з дапамогай INDEX / MATCH
Выкананне вертыкальнага пошуку - вось дзе функцыя INDEX сапраўды ззяе. Калі вы калі-небудзь спрабавалі выкарыстаць функцыю Excel VLOOKUP, вы добра ведаеце яе шматлікія абмежаванні, такія як немагчымасць атрымаць значэнні са слупкоў злева ад слупка пошуку або абмежаванне ў 255 сімвалаў для значэння пошуку.
Сувязь INDEX / MATCH пераўзыходзіць VLOOKUP па многіх параметрах:
- Няма праблем з левымі ВПР.
- Няма абмежаванняў на памер значэння пошуку.
- Няма сартавання патрабуецца (VLOOKUP з прыблізным супадзеннем патрабуе сартавання слупка пошуку ў парадку ўзрастання).
- Вы можаце ўстаўляць і выдаляць слупкі ў табліцы без абнаўленнякожная звязаная формула.
- І апошняе, але не менш важнае, INDEX / MATCH не запавольвае ваш Excel, як гэта робяць некалькі Vlookups.
Вы выкарыстоўваеце INDEX / MATCH наступным чынам :
=INDEX ( слупок для вяртання значэння з , (MATCH ( значэнне пошуку , слупок для пошуку па , 0))Для напрыклад, калі мы перавернем нашу зыходную табліцу так, што Назва планеты стане самым правым слупком, формула INDEX / MATCH усё роўна атрымае адпаведнае значэнне з левага слупка без праблем.
Дадатковыя падказкі і прыклад формулы можна знайсці ў падручніку Excel INDEX / MATCH.
6. Формула INDEX Excel для атрымання 1 дыяпазону са спісу дыяпазонаў
Іншым разумным і магутным выкарыстаннем функцыі INDEX у Excel з'яўляецца магчымасць атрымаць адзін дыяпазон са спісу дыяпазонаў.
Выкажам здагадку, у вас ёсць некалькі спісаў з рознай колькасцю элементаў у кожным. Паверце мне ці не, вы можаце вылічыць сярэдняе або прасумаваць значэнні ў любым выбраным дыяпазоне з дапамогай адной формулы.
Па-першае, вы ствараеце e найменны дыяпазон для кожнага спісу; няхай гэта будзе PlanetsD і MoonsD у гэтым прыкладзе:
Я спадзяюся, што малюнак вышэй тлумачыць прычыну назваў дыяпазонаў : ) Дарэчы, табліца Спадарожнікаў далёка не поўная, у нашай Сонечнай сістэме вядома 176 натуральных спадарожнікаў, толькі Юпітэр мае 63 на дадзены момант і працягвае расці. Для гэтага прыкладу я абраў выпадковыя 11, ну... магчыма, не зусім выпадковыя -месяцы з самымі прыгожымі назвамі : )
Калі ласка, прабачце за адступленне, вернемся да нашай формулы INDEX. Калі выказаць здагадку, што PlanetsD - гэта ваш дыяпазон 1, а MoonsD - гэта дыяпазон 2, а ячэйка B1 - гэта месца, дзе вы змясцілі нумар дыяпазону, вы можаце выкарыстоўваць наступную формулу індэкса для разліку сярэдняга значэння ў абраны найменны дыяпазон:
=AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))
Звярніце ўвагу, што зараз мы выкарыстоўваем форму спасылкі функцыі INDEX, і лік у апошнім аргументе (номер_плошча) паведамляе формуле, які дыяпазон трэба выбраць.
На скрыншоце ніжэй нумар_плошчы (ячэйка B1) усталяваны ў 2, таму формула вылічвае сярэдні дыяметр Месяцаў , таму што дыяпазон МесяцаўD займае 2-е месца у аргуменце спасылкі.
Калі вы працуеце з некалькімі спісамі і не жадаеце запамінаць звязаныя з імі лічбы, вы можаце выкарыстоўваць укладзеную функцыю IF, каб зрабіць гэта за вас :
=AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))
У функцыі IF вы выкарыстоўваеце некалькі простых і лёгкіх для запамінання імёнаў спісаў, якія карыстальнікі павінны ўводзіць у ячэйку B1 замест лічбаў. Калі ласка, майце гэта на ўвазе, каб формула працавала карэктна, тэкст у B1 павінен быць сапраўды такім жа (неадчувальным да рэгістра), як у параметрах IF, у адваротным выпадку ваша формула Index выкліча памылку #VALUE.
Глядзі_таксама: Шаблоны excel: як зрабіць і выкарыстоўвацьКаб зрабіць формулу яшчэ больш зручнай для карыстання, вы можаце выкарыстоўваць праверку даных для стварэння выпадальнага спісу з загадзя вызначанымі імёнамі для прадухілення арфаграфічных памылак іпамылкі друку:
Нарэшце, каб зрабіць вашу формулу INDEX абсалютна ідэальнай, вы можаце ўключыць яе ў функцыю IFERROR, якая прапануе карыстальніку выбраць элемент з выпадальнага спісу калі выбар яшчэ не зроблены:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Вось як вы выкарыстоўваеце формулы INDEX у Excel. Я спадзяюся, што гэтыя прыклады паказалі вам спосаб выкарыстоўваць патэнцыял функцыі INDEX у вашых працоўных лістах. Дзякуй за чытанне!
апушчана, нумар_слупка абавязковы. - нумар_слупка - гэта нумар слупка, з якога трэба вярнуць значэнне. Калі column_num апушчаны, row_num патрабуецца.
Напрыклад, формула =INDEX(A1:D6, 4, 3)
вяртае значэнне на скрыжаванні 4-га радка і 3-га слупка ў дыяпазоне A1:D6, якое з'яўляецца значэннем у ячэйцы C4 .
Каб атрымаць уяўленне аб тым, як формула INDEX працуе з рэальнымі дадзенымі, паглядзіце наступны прыклад:
Замест таго, каб уводзіць радок і нумары слупкоў у формуле, вы можаце падаць спасылкі на ячэйкі, каб атрымаць больш універсальную формулу: =INDEX($B$2:$D$6, G2, G1)
Такім чынам, гэтая формула INDEX вяртае колькасць элементаў дакладна на скрыжаванні нумара прадукту, указанага ў G2 (row_num ) і нумар тыдня, уведзены ў ячэйку G1 (column_num).
Савет. Выкарыстанне абсалютных спасылак ($B$2:$D$6) замест адносных спасылак (B2:D6) у аргуменце масіва палягчае капіраванне формулы ў іншыя ячэйкі. Акрамя таго, вы можаце пераўтварыць дыяпазон у табліцу ( Ctrl + T ) і спасылацца на яго па імені табліцы.
Форма масіва INDEX - пра што трэба памятаць
- Калі аргумент масіва складаецца толькі з аднаго радка або слупка, вы можаце ўказваць або не вызначаць адпаведны аргумент нумар_радка або нумар_столбца.
- Калі аргумент масіва ўключае ў сябе больш за адзін радок, а row_num апушчаны або ўсталяваны ў 0, функцыя INDEX вяртае масіў з усяго слупка. Аналагічна, калі масіў уключае больш за адзінслупок і аргумент нумар_столбца апушчаны або ўсталяваны ў 0, формула INDEX вяртае ўвесь радок. Вось прыклад формулы, які дэманструе такія паводзіны.
- Аргументы row_num і column_num павінны спасылацца на ячэйку ў масіве; у адваротным выпадку формула INDEX верне #REF! памылка.
Даведачная форма INDEX
Даведачная форма функцыі INDEX Excel вяртае спасылку на ячэйку на скрыжаванні ўказанага радка і слупка.
INDEX(спасылка, нумар_радка) , [номер_слупка], [нумар_вобласці] )- спасылка - адзін або некалькі дыяпазонаў.
Калі вы ўводзіце больш чым адзін дыяпазон, падзяліце іх коскамі і заключыце аргумент спасылкі ў круглыя дужкі, напрыклад (A1:B5, D1:F5).
Калі кожны дыяпазон у спасылцы змяшчае толькі адзін радок або слупок, адпаведны аргумент row_num або column_num не з'яўляецца абавязковым.
- row_num - нумар радка ў дыяпазоне, з якога трэба вярнуць спасылку на ячэйку, гэта падобна да масіву форма.
- column_num - нумар слупка, з якога трэба вярнуць спасылку на ячэйку, таксама працуе аналагічна форме масіва.
- area_num - неабавязковы параметр, які вызначае, які дыяпазон спасылкі выкарыстоўваць. Калі яго прапусціць, формула INDEX верне вынік для першага дыяпазону, пералічанага ў спасылцы.
Напрыклад, формула =INDEX((A2:D3, A5:D7), 3, 4, 2)
вяртае значэнне ячэйкі D7, якая знаходзіцца ўскрыжаванне 3-га радка і 4-га слупка ў другой вобласці (A5:D7).
ІНДЭКС даведачная форма - што трэба памятаць
- Калі аргумент row_num або column_num усталяваны ў нуль (0), формула INDEX вяртае спасылку для ўсяго слупка або радка адпаведна.
- Калі і row_num, і column_num апушчаны, функцыя INDEX вяртае вобласць, указаную ў аргумент area_num.
- Усе аргументы _num (нумер_радка, нумар_слупка і нумар_плошча) павінны спасылацца на ячэйку ў спасылцы; у адваротным выпадку формула INDEX верне #REF! памылка.
Абедзве формулы INDEX, якія мы абмяркоўвалі да гэтага часу, вельмі простыя і толькі ілюструюць канцэпцыю. Вашы рэальныя формулы, верагодна, будуць значна больш складанымі, таму давайце вывучым некалькі найбольш эфектыўных спосабаў выкарыстання INDEX у Excel.
Як выкарыстоўваць функцыю INDEX у Excel - прыклады формул
Магчыма, ёсць не так шмат практычнага выкарыстання Excel INDEX сам па сабе, але ў спалучэнні з іншымі функцыямі, такімі як MATCH або COUNTA, ён можа ствараць вельмі магутныя формулы.
Зыходныя даныя
Усе нашы формулы INDEX (за выключэннем апошняга), мы будзем выкарыстоўваць дадзеныя ніжэй. Для зручнасці ён арганізаваны ў табліцы з назвай SourceData .
Выкарыстанне табліц або найменных дыяпазонаў можа ствараць формулы трохі даўжэй, але гэта таксама робіць іх значна больш гнуткімі і лепш чытальнымі. Каб наладзіць любы INDEXформулу для вашых працоўных аркушаў, вам трэба толькі змяніць адно імя, і гэта цалкам кампенсуе большую даўжыню формулы.
Вядома, нішто не перашкаджае вам выкарыстоўваць звычайныя дыяпазоны, калі вы хочаце. У гэтым выпадку вы проста замяняеце імя табліцы SourceData адпаведнай спасылкай на дыяпазон.
1. Атрыманне N-га элемента са спісу
Гэта асноўнае выкарыстанне функцыі INDEX і самая простая формула. Каб атрымаць пэўны элемент са спісу, вы проста пішаце =INDEX(range, n)
, дзе дыяпазон - гэта дыяпазон вочак або найменны дыяпазон, а n - пазіцыя элемента, які вы хочаце атрымаць.
Працуючы з табліцамі Excel, вы можаце выбраць слупок з дапамогай мышы, і Excel выцягне назву слупка разам з назвай табліцы ў формулу:
Каб атрымаць значэнне ячэйкі на перасячэнні зададзенага радка і слупка, вы выкарыстоўваеце той жа падыход з той толькі розніцай, што вы паказваеце абодва - нумар радка і нумар слупка. Фактычна, вы ўжо бачылі такую формулу ў дзеянні, калі мы абмяркоўвалі форму масіва INDEX.
І вось яшчэ адзін прыклад. Каб знайсці 2-ю па велічыні планету ў Сонечнай сістэме ў нашым прыкладзе табліцы, вы адсартуеце табліцу па слупку Дыяметр і выкарыстаеце наступную формулу INDEX:
=INDEX(SourceData, 2, 3)
-
Array
- гэта назва табліцы або спасылка на дыяпазон, SourceData у гэтым прыкладзе. -
Row_num
роўна 2, таму што вы шукаеце другі элементу спісе, які знаходзіцца ў 2-м -
Column_num
роўна 3, таму што Дыяметр з'яўляецца 3-м слупком у табліцы.
Калі вы хочаце вярнуць планеты імя, а не дыяметр, зменіце column_num на 1. І, натуральна, вы можаце выкарыстоўваць спасылку на ячэйку ў аргументах row_num і/або column_num, каб зрабіць вашу формулу больш універсальнай, як паказана на скрыншоце ніжэй:
2. Атрыманне ўсіх значэнняў у радку або слупку
Акрамя атрымання адной ячэйкі, функцыя INDEX здольная вяртаць масіў значэнняў з усяго радка або слупка . Каб атрымаць усе значэнні з пэўнага слупка, вы павінны апусціць аргумент row_num або ўсталяваць яму значэнне 0. Сапраўды гэтак жа, каб атрымаць увесь радок, вы перадаеце пустое значэнне або 0 у column_num.
Такія формулы INDEX наўрад ці могуць выкарыстоўваць самі па сабе, таму што Excel не можа змясціць масіў значэнняў, якія вяртаюцца формулай, у адну ячэйку, і вы атрымаеце #ЗНАЧЭННЕ! памылка замест гэтага. Аднак, калі вы выкарыстоўваеце INDEX у спалучэнні з іншымі функцыямі, такімі як SUM або AVERAGE, вы атрымаеце цудоўныя вынікі.
Напрыклад, вы можаце выкарыстоўваць наступную формулу для разліку сярэдняй тэмпературы планеты ў Сонечнай сістэме:
=AVERAGE(INDEX(SourceData, , 4))
У прыведзенай вышэй формуле аргумент column_num роўны 4, таму што Тэмпература знаходзіцца ў 4-м слупку нашай табліцы. Параметр row_num апушчаны.
Аналагічным чынам вы можаце знайсці мінімум і максімумтэмпературы:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
І вылічыце агульную масу планеты (Маса - другі слупок у табліцы):
=SUM(INDEX(SourceData, , 2))
З практычнага пункту гледжання функцыя INDEX у прыведзенай вышэй формуле лішняя. Вы можаце проста напісаць =AVERAGE(range)
або =SUM(range)
і атрымаць тыя ж вынікі.
Пры працы з рэальнымі данымі гэтая функцыя можа апынуцца карыснай як частка больш складаных формул, якія вы выкарыстоўваеце для аналізу даных.
3. Выкарыстанне INDEX з іншымі функцыямі (SUM, AVERAGE, MAX, MIN)
З папярэдніх прыкладаў у вас можа скласціся ўражанне, што формула INDEX вяртае значэнні, але на самой справе яна вяртае спасылку у ячэйку, якая змяшчае значэнне. І гэты прыклад дэманструе сапраўдную прыроду функцыі INDEX у Excel.
Паколькі вынік формулы INDEX з'яўляецца спасылкай, мы можам выкарыстоўваць яго ў іншых функцыях для стварэння дынамічнага дыяпазону . Гучыць бянтэжыць? Наступная формула растлумачыць усё.
Выкажам здагадку, што ў вас ёсць формула =AVERAGE(A1:A10)
, якая вяртае сярэдняе значэнне значэнняў у ячэйках A1:A10. Замест запісу дыяпазону непасрэдна ў формулу, вы можаце замяніць або A1 або A10, або абодва, з функцыямі INDEX, як гэта:
=AVERAGE(A1 : INDEX(A1:A20,10))
Абедзве вышэйпералічаныя формулы дадуць тое ж самае вынік, таму што функцыя INDEX таксама вяртае спасылку на ячэйку A10 (нумар_радка — 10, нумар_слупка апушчаны). Розніца ў тым, што дыяпазон СЯРЭДНЯЕ/ІНДЭКС формула дынамічная,і як толькі вы зменіце аргумент row_num у INDEX, дыяпазон, які апрацоўваецца функцыяй AVERAGE, зменіцца, і формула верне іншы вынік.
Мабыць, маршрут формулы INDEX здаецца занадта складаным, але ў яго ёсць практычнае прымяненне , як паказана ў наступных прыкладах.
Прыклад 1. Вылічыце сярэдняе для N першых элементаў у спісе
Дапусцім, вы хочаце ведаць сярэдні дыяметр N самых вялікіх планет у нашай сістэме . Такім чынам, вы сартуеце табліцу па слупку Дыяметр ад самага вялікага да найменшага і выкарыстоўваеце наступную формулу сярэдняга / індэкса:
=AVERAGE(C5 : INDEX(SourceData[Diameter], B1))
Прыклад 2. Сумаванне элементаў паміж названымі двума элементамі
Калі вы хочаце вызначыць элементы верхняй і ніжняй мяжы ў сваёй формуле, вам проста трэба выкарыстоўваць дзве функцыі INDEX, каб вярнуць першую і апошні патрэбны элемент.
Напрыклад, наступная формула вяртае суму значэнняў у слупку Дыяметр паміж двума элементамі, указанымі ў ячэйках B1 і B2:
=SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))
4. Формула INDEX для стварэння дынамічных дыяпазонаў і выпадальных спісаў
Як гэта часта здараецца, калі вы пачынаеце арганізоўваць даныя на працоўным аркушы, вы можаце не ведаць, колькі запісаў вы атрымаеце ў выніку. Гэта не той выпадак з нашай табліцай планет, якая здаецца поўнай, але хто ведае...
У любым выпадку, калі ў вас змяняецца колькасць элементаў у дадзеным слупку, скажам, ад A1 да A n ,вы можаце стварыць дынамічны найменны дыяпазон, які ўключае ўсе ячэйкі з дадзенымі. Пры гэтым вы хочаце, каб дыяпазон аўтаматычна карэктаваўся па меры дадання новых элементаў або выдалення некаторых з існуючых. Напрыклад, калі ў вас зараз 10 элементаў, ваш найменны дыяпазон будзе A1:A10. Калі вы дадасце новы запіс, названы дыяпазон аўтаматычна пашыраецца да A1:A11, і калі вы перадумаеце і выдаліце гэтыя нядаўна дададзеныя даныя, дыяпазон аўтаматычна вернецца да A1:A10.
Асноўная перавага гэтага падыход заключаецца ў тым, што вам не трэба пастаянна абнаўляць усе формулы ў вашай працоўнай кнізе, каб гарантаваць, што яны спасылаюцца на правільныя дыяпазоны.
Адзін са спосабаў вызначыць дынамічны дыяпазон - выкарыстоўваць функцыю Excel OFFSET:
=OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)
Іншым магчымым рашэннем з'яўляецца выкарыстанне Excel INDEX разам з COUNTA:
=Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))
У абедзвюх формулах A1 - гэта ячэйка, якая змяшчае першы элемент спісу і атрыманы дынамічны дыяпазон па абедзвюх формулах будуць ідэнтычныя.
Розніца ў падыходах. У той час як функцыя OFFSET перамяшчаецца ад пачатковай кропкі на пэўную колькасць радкоў і/ці слупкоў, INDEX знаходзіць ячэйку на скрыжаванні пэўнага радка і слупка. Функцыя COUNTA, якая выкарыстоўваецца ў абедзвюх формулах, атрымлівае колькасць непустых вочак у цікавым слупку.
У гэтым прыкладзе ў слупку A 9 непустых вочак, таму COUNTA вяртае 9. Такім чынам, INDEX вяртае $A$9, якая з'яўляецца апошняй выкарыстанай ячэйкай у слупку A (звычайна INDEX