Мазмұны
Осы оқулықта Excel бағдарламасындағы INDEX-ті ең тиімді пайдалануды көрсететін бірнеше формула мысалдарын таба аласыз.
Қуаты жиі бағаланбайтын және дұрыс пайдаланылмайтын барлық Excel функцияларының ішінде, INDEX міндетті түрде алғашқы 10-дықтың бір жерінде болады. Бұл арада бұл функция ақылды, серпімді және жан-жақты.
Сонымен, Excel бағдарламасындағы INDEX функциясы қандай? Негізінде, INDEX формуласы берілген массив немесе ауқым ішіндегі ұяшық сілтемесін қайтарады. Басқаша айтқанда, диапазондағы элементтің орнын білетін (немесе есептей алатын) және сол элементтің нақты мәнін алғыңыз келген кезде INDEX пайдаланасыз.
Бұл аздап тривиальды көрінуі мүмкін, бірақ бір рет Сіз INDEX функциясының нақты әлеуетін түсінсеңіз, ол жұмыс парақтарыңыздағы деректерді есептеу, талдау және көрсету тәсіліне маңызды өзгерістер енгізуі мүмкін.
Excel INDEX функциясы - синтаксис және негізгі қолдану
Excel-де INDEX функциясының екі нұсқасы бар – массив пішіні және анықтамалық пішін. Екі пішінді де Microsoft Excel 365 - 2003 бағдарламасының барлық нұсқаларында пайдалануға болады.
INDEX массивінің пішіні
INDEX массивінің пішіні жолға негізделген ауқымдағы немесе массивтегі белгілі бір элементтің мәнін қайтарады. және сіз көрсеткен баған нөмірлері.
INDEX(массив, жол_нөмірі, [баған_нөмірі])- массив - ұяшықтар ауқымы, аталған ауқым немесе кесте.
- жол_нөмірі - мәнді қайтаратын массивтегі жол нөмірі. Жол_нөмірі болсамәнді қайтарады, бірақ бұл формулада сілтеме операторы (:) оны сілтемені қайтаруға мәжбүр етеді). $A$1 біздің бастапқы нүктеміз болғандықтан, формуланың соңғы нәтижесі $A$1:$A$9 ауқымы болып табылады.
Келесі скриншот динамикалық құлдырауды жасау үшін осындай Индекс формуласын қалай пайдалануға болатынын көрсетеді. төмен тізім.
Кеңес. Динамикалық жаңартылған ашылмалы тізімді жасаудың ең оңай жолы - кесте негізінде аталған тізімді жасау. Бұл жағдайда сізге күрделі формулалар қажет болмайды, өйткені Excel кестелері өз бетінше динамикалық ауқымдар болып табылады.
Сонымен қатар INDEX функциясын тәуелді ашылмалы тізімдерді жасау үшін пайдалануға болады және келесі оқулық қадамдарды түсіндіреді: Excel бағдарламасында каскадты ашылмалы тізім жасау.
5. INDEX / MATCH бар қуатты Vlookups
Тік іздеулерді орындау - INDEX функциясы шынымен жарқыраған жерде. Excel VLOOKUP функциясын пайдаланып көрген болсаңыз, сіз оның көптеген шектеулерін жақсы білесіз, мысалы, іздеу бағанының сол жағындағы бағандардан мәндерді алу мүмкін емес немесе іздеу мәні үшін 255 таңба шегі.
INDEX / MATCH байланысы көп жағынан VLOOKUP-тан жоғары:
- Сол жақтағы vlookups проблемасы жоқ.
- Іздеу мәнінің өлшеміне шектеу жоқ.
- Сұрыптау жоқ. қажет (шамамен сәйкестігі бар VLOOKUP іздеу бағанын өсу ретімен сұрыптауды қажет етеді).
- Кестеге бағандарды жаңартусыз енгізуге және жоюға болады.әрбір байланысты формула.
- Соңғы, бірақ кем дегенде, INDEX / MATCH бірнеше Vlookups сияқты Excel жұмысын баяулатпайды.
Сіз INDEX / MATCH келесі жолмен пайдаланасыз. :
=INDEX ( ішінен мәнді қайтаратын баған, (МАТЧ ( іздеу мәні , қарсы іздеуге арналған баған , 0))үшін Мысалы, егер біз бастапқы кестені Планета атауы ең оң жақтағы баған болатындай етіп аударсақ, INDEX / MATCH формуласы сол жақтағы бағаннан сәйкес мәнді ешбір кедергісіз алады.
Қосымша кеңестер мен формула үлгісін алу үшін Excel INDEX / MATCH оқу құралын қараңыз.
6. Excel INDEX формуласы ауқымдар тізімінен 1 ауқымды алу үшін
Excel бағдарламасындағы INDEX функциясының тағы бір ақылды және қуатты пайдалануы - ауқымдар тізімінен бір ауқымды алу мүмкіндігі.
Сізде әрқайсысында әртүрлі элементтер саны бар бірнеше тізімдер бар делік. Маған сеніңіз немесе емес, орташа мәнді есептей аласыз немесе кез келген таңдалған ауқымдағы мәндерді бір формуламен қоса аласыз.
Біріншіден, сіз жасайсыз. e әрбір тізім үшін атаулы ауқым; бұл мысалда PlanetsD және MoonsD болсын:
Жоғарыдағы сурет диапазон атауларының себебін түсіндіреді деп үміттенемін. : ) BTW, Айлар кестесі толық емес, біздің Күн жүйесінде 176 белгілі табиғи серік бар, қазір тек Юпитерде 63-і бар және санаулы. Бұл мысал үшін мен кездейсоқ 11 таңдадым, мүмкін ... кездейсоқ емес шығар -ең әдемі атаулары бар айлар : )
Кешіріңіз, INDEX формуласына оралыңыз. PlanetsD 1-диапазон, ал АйларD 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))))
Егер функциясында пайдаланушылар сандар орнына B1 ұяшығында теруді қалайтын қарапайым және есте сақтауға оңай тізім атауларын пайдаланасыз. Формула дұрыс жұмыс істеуі үшін B1 мәтініндегі мәтін IF параметрлеріндегідей болуы керек (әріптерді ескермеу керек), әйтпесе Индекс формуласы #VALUE қатесін жібереді.
Формуланы қолданушыға ыңғайлырақ ету үшін емле қателерін болдырмау және алдын ала анықталған атаулары бар ашылмалы тізім жасау үшін Деректерді тексеруді пайдалануға болады.қате басып шығарулар:
Соңында, INDEX формуласын толығымен мінсіз ету үшін оны пайдаланушыға ашылмалы тізімнен элементті таңдауды сұрайтын ҚАУІПСІЗ функциясына қосуға болады. әлі таңдау жасалмаса:
=IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")
Excel бағдарламасында INDEX формулаларын осылай пайдаланасыз. Бұл мысалдар сізге жұмыс парақтарындағы INDEX функциясының әлеуетін пайдаланудың жолын көрсетті деп үміттенемін. Оқығаныңызға рахмет!
түсірілген, баған_нөмірі қажет. - баған_нөмірі - мән қайтарылатын баған нөмірі. Баған_нөмірі алынып тасталса, жол_нөмірі қажет.
Мысалы, =INDEX(A1:D6, 4, 3)
формуласы C4 ұяшығындағы мән болып табылатын A1:D6 ауқымындағы 4-жол мен 3-бағанның қиылысындағы мәнді қайтарады. .
INDEX формуласының нақты деректерде қалай жұмыс істейтіні туралы түсінік алу үшін келесі мысалды қараңыз:
Жолды енгізудің орнына формуладағы және баған нөмірлерін пайдалансаңыз, әмбебап формуланы алу үшін ұяшық сілтемелерін беруге болады: =INDEX($B$2:$D$6, G2, G1)
Сонымен, бұл INDEX формуласы дәл G2 (жол_нөмірі) көрсетілген өнім нөмірі қиылысындағы элементтердің санын қайтарады. ) және апта нөмірі G1 ұяшығына енгізілген (баған_саны).
Кеңес. Жиым аргументіндегі салыстырмалы сілтемелердің (B2:D6) орнына абсолютті сілтемелерді ($B$2:$D$6) пайдалану формуланы басқа ұяшықтарға көшіруді жеңілдетеді. Немесе ауқымды кестеге түрлендіруге болады ( Ctrl + T ) және оған кесте атымен сілтеме жасай аласыз.
INDEX массивінің пішіні - есте сақтау керек нәрселер
- Егер массив аргументі тек бір жолдан немесе бағаннан тұрса, сәйкес жол_нөмірі немесе баған_саны аргументін көрсетуге немесе көрсетпеуге болады.
- Жиым аргументі бірнеше жолды қамтыса және жол_нөмірі алынып тасталса немесе 0 мәніне орнатылса, INDEX функциясы бүкіл бағанның массивін қайтарады. Сол сияқты, егер массив біреуден көп болсабаған және баған_саны аргументі алынып тасталса немесе 0 мәніне орнатылса, INDEX формуласы бүкіл жолды қайтарады. Міне, осы әрекетті көрсететін формула мысалы.
- Жол_саны және баған_саны аргументтері массив ішіндегі ұяшыққа сілтеме жасауы керек; әйтпесе, INDEX формуласы #REF! қате.
INDEX анықтамалық пішіні
Excel INDEX функциясының анықтамалық пішіні көрсетілген жол мен бағанның қиылысында ұяшық сілтемесін қайтарады.
INDEX(анықтама, жол_нөмірі) , [баған_нөмірі], [аудан_нөмірі] )- анықтама - бір немесе бірнеше диапазон.
Егер сіз бірнеше ауқымды енгізсеңіз, ауқымдарды үтір арқылы бөліп, сілтеме аргументін жақшаға алыңыз, мысалы (A1:B5, D1:F5).
Егер сілтемедегі әрбір ауқым тек бір жол немесе баған, сәйкес жол_нөмірі немесе баған_саны міндетті емес.
- жол_саны - ұяшық сілтемесін қайтаратын ауқымдағы жол нөмірі, ол массивке ұқсас пішін.
- баған_нөмірі - ұяшық сілтемесін қайтаратын баған нөмірі, сонымен қатар жиым пішініне ұқсас жұмыс істейді.
- аудан_нөмірі - ан сілтеме аргументінен қай ауқымды пайдалану керектігін көрсететін қосымша параметр. Өткізілмесе, INDEX формуласы сілтемеде тізімделген бірінші ауқым үшін нәтижені қайтарады.
Мысалы, =INDEX((A2:D3, A5:D7), 3, 4, 2)
формуласы D7 ұяшығының мәнін қайтарады.екінші аймақтағы 3-ші жол мен 4-ші бағанның қиылысы (A5:D7).
INDEX анықтамалық нысаны - есте сақтау керек нәрселер
- Егер жол_нөмірі немесе баған_нөмірі аргументі нөлге (0) орнатылса, INDEX формуласы сәйкесінше бүкіл баған немесе жол үшін сілтемені қайтарады.
- Егер жол_нөмірі мен баған_нөмірі де түсірілсе, INDEX функциясы келесі бөлімде көрсетілген аумақты қайтарады. аумақ_саны аргументі.
- Барлық _сан аргументтері (жол_нөмірі, баған_нөмірі және аумақ_саны) сілтемедегі ұяшыққа сілтеме жасауы керек; әйтпесе, INDEX формуласы #REF! қате.
Біз осы уақытқа дейін талқылаған INDEX формулаларының екеуі де өте қарапайым және тек тұжырымдаманы суреттейді. Сіздің нақты формулаларыңыз бұдан әлдеқайда күрделірек болуы мүмкін, сондықтан Excel бағдарламасындағы INDEX-тің бірнеше тиімді пайдалану жолдарын қарастырайық.
Excel бағдарламасында INDEX функциясын қалай пайдалану керек - формула мысалдары
Мүмкін сонда Excel INDEX қолданбасының жеке практикалық қолданысы көп емес, бірақ MATCH немесе COUNTA сияқты басқа функциялармен бірге ол өте күшті формулалар жасай алады.
Бастапқы деректер
Барлық INDEX формулаларымыз (соңғысын қоспағанда) біз төмендегі деректерді қолданамыз. Ыңғайлы болу үшін ол SourceData деп аталатын кестеде ұйымдастырылған.
Кестелерді немесе аталған ауқымдарды пайдалану формулалар жасай алады. сәл ұзағырақ, бірақ бұл оларды айтарлықтай икемді және жақсы оқылатын етеді. Кез келген ИНДЕКСті реттеу үшінжұмыс парақтарыңызға арналған формуланы пайдалану үшін сізге тек бір атауды өзгерту қажет және бұл формуланың ұзағырақ ұзындығын толығымен құрайды.
Әрине, қаласаңыз, әдеттегі ауқымдарды пайдалануға ештеңе кедергі болмайды. Бұл жағдайда сіз жай ғана кесте атауын SourceData сәйкес ауқым сілтемесімен ауыстырасыз.
1. Тізімнен N-ші элементті алу
Бұл INDEX функциясының негізгі қолданылуы және жасалатын ең қарапайым формула. Тізімнен белгілі бір элементті алу үшін жай ғана =INDEX(range, n)
деп жазасыз, мұнда ауқым - ұяшықтар ауқымы немесе аталған ауқым, ал n - сіз алғыңыз келетін элементтің орны.
Excel кестелерімен жұмыс істегенде тінтуірдің көмегімен бағанды таңдауға болады және Excel формуладағы кестенің атымен бірге бағанның атын шығарады:
Берілген жол мен бағанның қиылысында ұяшықтың мәнін алу үшін екеуін де көрсететін жалғыз айырмашылықпен бірдей тәсілді қолданасыз - жол нөмірі мен баған нөмірі. Шындығында, сіз INDEX массивінің пішінін талқылаған кезде мұндай формуланы жұмыс істеп тұрғанын көрдіңіз.
Міне, тағы бір мысал. Біздің үлгі кестеде Күн жүйесіндегі 2-ші үлкен планетаны табу үшін кестені Диаметр бағанасы бойынша сұрыптаңыз және келесі ИНДЕКС формуласын қолданасыз:
=INDEX(SourceData, 2, 3)
-
Array
- кесте атауы немесе осы мысалдағы ауқым сілтемесі, SourceData . -
Row_num
- 2, себебі сіз екінші элементті іздеп жатырсыз.тізімде, ол 2-ші -
Column_num
- 3, себебі Диаметр - кестедегі 3-баған.
Егер планетаның мәнін қайтарғыңыз келсе диаметрден гөрі атау, баған_нөмірін 1-ге өзгертіңіз. Әрине, төмендегі скриншотта көрсетілгендей формулаңызды жан-жақты ету үшін жол_саны және/немесе баған_саны аргументтеріндегі ұяшық сілтемесін пайдалануға болады:
2. Жолдағы немесе бағандағы барлық мәндерді алу
Бір ұяшықты шығарып алудан басқа, INDEX функциясы барлық жолдан немесе бағаннан мәндер жиымын қайтара алады. . Белгілі бір бағандағы барлық мәндерді алу үшін жол_саны аргументін өткізіп жіберу керек немесе оны 0-ге орнату керек. Сол сияқты бүкіл жолды алу үшін баған_санында бос мәнді немесе 0 мәнін беру керек.
Мұндай INDEX формулалары әрең болады. дербес пайдаланылуы мүмкін, себебі Excel бір ұяшыққа формула арқылы қайтарылған мәндер жиымын сыйдыра алмайды және сіз #VALUE! орнына қате. Дегенмен, INDEX функциясын SUM немесе AVERAGE сияқты басқа функциялармен бірге пайдалансаңыз, керемет нәтижелерге қол жеткізесіз.
Мысалы, Күн жүйесіндегі планетаның орташа температурасын есептеу үшін келесі формуланы қолдануға болады:
=AVERAGE(INDEX(SourceData, , 4))
Жоғарыдағы формулада баған_саны аргументі 4-ке тең, себебі кестеміздегі 4-бағанда Температура . Жол_саны параметрі көрсетілмеген.
Осыған ұқсас әдіспен сіз минималды және максимумды таба аласыз.температуралар:
=MAX(INDEX(SourceData, , 4))
=MIN(INDEX(SourceData, , 4))
Және жалпы планета массасын есептеңіз (Масса - кестедегі 2-баған):
=SUM(INDEX(SourceData, , 2))
Практикалық тұрғыдан жоғарыдағы формуладағы INDEX функциясы артық. Сіз жай ғана =AVERAGE(range)
немесе =SUM(range)
деп жазып, бірдей нәтижелерге қол жеткізе аласыз.
Нақты деректермен жұмыс істегенде, бұл мүмкіндік деректерді талдау үшін пайдаланатын күрделірек формулалардың бөлігі ретінде пайдалы болуы мүмкін.
3. INDEX функциясын басқа функциялармен (SUM, AVERAGE, MAX, MIN) пайдалану
Алдыңғы мысалдардан сіз INDEX формуласы мәндерді қайтаратындай әсерде болуыңыз мүмкін, бірақ шын мәнінде ол анықтаманы қайтарады. мәні бар ұяшыққа. Және бұл мысал Excel INDEX функциясының шынайы табиғатын көрсетеді.
INDEX формуласының нәтижесі сілтеме болғандықтан, біз оны басқа функцияларда динамикалық диапазон жасау үшін пайдалана аламыз. Шатастырылған естіледі ме? Келесі формула барлығын анық етеді.
Сізде A1:A10 ұяшықтарындағы мәндердің орташа мәнін беретін =AVERAGE(A1:A10)
формуласы бар делік. Ауқымды тікелей формулаға жазудың орнына, A1 немесе A10 немесе екеуін де INDEX функцияларымен ауыстыруға болады, мысалы:
=AVERAGE(A1 : INDEX(A1:A20,10))
Жоғарыдағы формулалардың екеуі де бірдей нәтиже береді. нәтиже, себебі INDEX функциясы сонымен қатар A10 ұяшығына сілтемені қайтарады (жол_нөмірі 10-ға орнатылған, баған_саны түсірілген). Айырмашылығы мынада: диапазон ОРТА/ИНДЕКС формуласы динамикалық,және 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 функциясы қызығушылық бағанындағы бос емес ұяшықтардың санын алады.
Бұл мысалда А бағанында бос емес 9 ұяшық бар, сондықтан COUNTA 9 қайтарады. Демек, INDEX $A$9 қайтарады, бұл А бағанындағы соңғы пайдаланылған ұяшық (әдетте INDEX)