Мазмұны
Бұл оқулық Excel бағдарламасында INDEX және MATCH пайдалану жолын және оның VLOOKUP қарағанда жақсырақ екенін көрсетеді.
Соңғы бірнеше мақалада біз жаңадан бастаушыларға VLOOKUP функциясының негіздерін түсіндіруге және күшті пайдаланушыларға күрделірек VLOOKUP формула мысалдарын беруге тырыстық. Енді мен сізге VLOOKUP қолданбасын пайдаланудан бас тартпауға тырысамын, кем дегенде Excel бағдарламасында тік іздеудің балама әдісін көрсетемін.
"Бұл маған не үшін керек?" деп таң қалуыңыз мүмкін. Өйткені VLOOKUP қолданбасында көптеген жағдайларда қажетті нәтижеге қол жеткізуге кедергі болатын көптеген шектеулер бар. Екінші жағынан, INDEX MATCH комбинациясы икемді және оны VLOOKUP-тен көп жағынан артық ететін көптеген керемет мүмкіндіктерге ие.
Excel INDEX және MATCH функциялары - негіздер
Осы оқулықтың мақсаты INDEX және MATCH функцияларының тіркесімін пайдалану арқылы Excel бағдарламасында vlookup жасаудың баламалы әдісін көрсету болғандықтан, біз олардың синтаксисі мен синтаксисіне көп тоқталмаймыз. пайдаланады. Біз жалпы идеяны түсіну үшін қажетті минимумды ғана қарастырамыз, содан кейін VLOOKUP орнына INDEX MATCH пайдаланудың барлық артықшылықтарын ашатын формула мысалдарын тереңірек қарастырамыз.
INDEX функциясы - синтаксис және пайдалану
Excel INDEX функциясы сіз көрсеткен жол және баған нөмірлеріне негізделген массивтегі мәнді қайтарады. INDEX функциясының синтаксисі қарапайым:
( критерий1= ауқым1) * ( шарт2= 2-ауқым), 0))}Ескертпе. Бұл Ctrl + Shift + Enter пернелер тіркесімімен толтырылуы керек массив формуласы.
Төмендегі үлгі кестеде сіз 2 шартқа негізделген соманы тапқыңыз келсе, Тұтынушы және Өнім .
Келесі INDEX MATCH формуласы жұмыс істейді:
=INDEX(C2:C10, MATCH(1, (F1=A2:A10) * (F2=B2:B10), 0))
Мұндағы C2:C10 - мәнді қайтаратын ауқым, F1 1-шарт, A2:A10 – 1-шартпен салыстыру ауқымы, F2 – 2-шарт, ал B2:B10 – 2-шартпен салыстыру ауқымы.
Ctrl + Shift + Enter пернелерін басу арқылы формуланы дұрыс енгізуді ұмытпаңыз. , және Excel бағдарламасы скриншотта көрсетілгендей бұйра жақшаларды автоматты түрде қоршайды:
Егер сіз жұмыс парақтарыңызда жиым формулаларын пайдаланғыңыз келмесе, қосымша бір INDEX функциясын қосыңыз. формуланы енгізіп, оны әдеттегі Enter пернесі арқылы аяқтаңыз:
Бұл формулалар қалай жұмыс істейді
Формулалар негізгі INDEX MATCH функциясымен бірдей тәсілді пайдаланады. бір баған. Бірнеше шартты бағалау үшін сіз әрбір жеке шарт үшін сәйкестіктерді және сәйкес еместерді көрсететін ШЫН және ЖАЛҒАН мәндердің екі немесе одан да көп массивтерін жасайсыз, содан кейін осы массивтердің сәйкес элементтерін көбейтесіз. Көбейту операциясы TRUE және FALSE мәндерін тиісінше 1 және 0-ге түрлендіреді және 1 барлық критерийлерге сәйкес келетін жолдарға сәйкес келетін массив шығарады.Іздеу мәні 1 болатын MATCH функциясы массивтегі бірінші "1" мәнін тауып, оның орнын көрсетілген бағаннан осы жолдағы мәнді қайтаратын INDEX мәніне береді.
Массив емес формула келесіге сүйенеді INDEX функциясының массивтерді жергілікті түрде өңдеу мүмкіндігі. Екінші INDEX 0 жол_саны конфигурацияланған, осылайша ол бүкіл баған массивін MATCH мәніне өткізеді.
Бұл формула логикасының жоғары деңгейдегі түсіндірмесі. Толық мәліметтерді бірнеше критерийлері бар Excel INDEX MATCH бөлімін қараңыз.
Орташа, MAX, MIN бар Excel INDEX MATCH
Microsoft Excel бағдарламасында ең төменгі, максималды және орташа мәндерді табу үшін арнайы функциялар бар. диапазон. Бірақ сол мәндермен байланысты басқа ұяшықтан мән алу қажет болса ше? Бұл жағдайда MAX, MIN немесе AVERAGE функциясын INDEX MATCH бірге пайдаланыңыз.
INDEX MATCH MAX
D бағанындағы ең үлкен мәнді табу және C бағанынан мәнді қайтару үшін сол жолда мына формуланы пайдаланыңыз:
=INDEX(C2:C10, MATCH(MAX(D2:D10), D2:D10, 0))
INDEX MATCH with MIN
D бағанындағы ең кіші мәнді табу және C бағанынан байланысты мәнді алу үшін мынаны пайдаланыңыз :
=INDEX(C2:C10, MATCH(MIN(D2:D10), D2:D10, 0))
ОРТАШАМЕН КӨРСЕТКІШ СӘЙКЕСТІК
D2:D10 орташа мәнге жақын мәнді өңдеу және C бағанынан сәйкес мәнді алу үшін мына формула табылады пайдалану үшін:
=INDEX(C2:C10, MATCH(AVERAGE(D2:D10), D2:D10, -1 ))
Деректердің қалай ұйымдастырылғанына байланысты үшінші аргументке (сәйкестік_түрі) 1 немесе -1 мәнін беріңіз.MATCH функциясы:
- Егер іздеу бағаны (біздің жағдайда D бағаны) өсу бойынша сұрыпталған болса, 1 қойыңыз. Формула кем ең үлкен мәнді есептейді. -ден немесе орташа мәнге тең.
- Егер іздеу бағаныңыз кему бойынша сұрыпталған болса, -1 мәнін енгізіңіз. Формула үлкен немесе орташа мәнге тең ең кіші мәнді есептейді.
- Егер іздеу массивінде орташа мәнге дәл тең мән болса, сіз дәл сәйкестік үшін 0 енгізе алады. Ешқандай сұрыптау қажет емес.
Біздің мысалда D бағанындағы популяциялар кему ретімен сұрыпталған, сондықтан сәйкестік түрі үшін -1 қолданамыз. Нәтижесінде біз «Токионы» аламыз, өйткені оның халқы (13 189 000) орташадан жоғары (12 269 006) ең жақын сәйкестік.
Сіз мұны білгіңіз келуі мүмкін. VLOOKUP мұндай есептеулерді де орындай алады, бірақ массив формуласы ретінде: AVERAGE, MAX, MIN бар VLOOKUP.
INDEX MATCH функциясын IFNA / IFERROR көмегімен пайдалану
Сіз байқағандай, егер INDEX MATCH болса Excel бағдарламасындағы формула іздеу мәнін таба алмайды, ол #N/A қатесін береді. Егер стандартты қате белгісін мағыналырақ нәрсемен ауыстырғыңыз келсе, IFNA функциясына INDEX MATCH формуласын ораңыз. Мысалы:
=IFNA(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "No match is found")
Ал енді, егер біреу іздеу ауқымында жоқ іздеу кестесін енгізсе, формула пайдаланушыға сәйкестік жоқ екенін анық хабарлайды.табылды:
Тек #Жоқ емес, барлық қателерді анықтағыңыз келсе, IFNA орнына IFERROR функциясын пайдаланыңыз:
=IFERROR(INDEX(C2:C10, MATCH(F1,A2:A10,0)), "Oops, something went wrong!")
Көп жағдайларда барлық қателерді жасыру ақылға қонымсыз болуы мүмкін екенін есте сақтаңыз, себебі олар сізге формулаңыздағы ықтимал қателер туралы ескертеді.
Міне, Excel бағдарламасында INDEX және MATCH пайдалану жолы. Біздің формула мысалдары сізге пайдалы болады деп үміттенемін және сізді келесі аптада блогымызда көреміз!
Жүктеп алуға арналған жұмыс кітабы
Excel INDEX MATCH мысалдары (.xlsx файлы)
INDEX(массив, жол_нөмірі, [баған_нөмірі])Мұнда әрбір параметрдің өте қарапайым түсіндірмесі берілген:
- массив - қайтарғыңыз келетін ұяшықтар ауқымы мән.
- жол_саны - мәнді қайтарғыңыз келетін жиымдағы жол нөмірі. Өткізілмесе, баған_саны қажет.
- баған_нөмірі - мәнді қайтарғыңыз келетін жиымдағы баған нөмірі. Өткізілмесе, жол_нөмірі қажет.
Қосымша ақпарат алу үшін Excel INDEX функциясын қараңыз.
Және мұнда қарапайым түрдегі INDEX формуласының мысалы берілген:
=INDEX(A1:C10,2,3)
Формула A1 мен C10 ұяшықтарын іздейді және 2-жол мен 3-бағандағы ұяшықтың мәнін, яғни C2 ұяшығын береді.
Өте оңай, солай емес пе? Дегенмен, нақты деректермен жұмыс істегенде қай жол мен баған қажет екенін біле алмайсыз, дәл осы жерде MATCH функциясы пайдалы болады.
MATCH функциясы - синтаксис және пайдалану
Excel MATCH функциясы ұяшықтар ауқымында іздеу мәнін іздейді және осы мәннің диапазондағы салыстырмалы орнын қайтарады.
МАТЧА функциясының синтаксисі келесідей:
MATCH(іздеу_мәні). , іздеу_жиымы, [сәйкестік_түрі])- іздеу_мәні - сіз іздеп жатқан сан немесе мәтін мәні.
- іздеу_массив - ұяшықтар ауқымы ізделді.
- сәйкестік_түрі - дәл сәйкестікті немесе ең жақын сәйкестікті қайтару керектігін көрсетеді:
- 1 немесе түсірілген - іздеу мәнінен кіші немесе оған тең ең үлкен мәнді табады. Іздеу массивін өсу реті бойынша сұрыптауды талап етеді.
- 0 - іздеу мәніне дәл тең бірінші мәнді табады. INDEX / MATCH комбинациясында сізге әрдайым дерлік дәл сәйкестік қажет, сондықтан SATCH функциясының үшінші аргументін 0 мәніне орнатасыз.
- -1 - іздеу_мәнінен үлкен немесе оған тең ең кіші мәнді табады. Іздеу массивін кему реті бойынша сұрыптауды талап етеді.
Мысалы, егер B1:B3 ауқымында "Нью-Йорк", "Париж", "Лондон" мәндері болса, төмендегі формула 3 санын қайтарады, себебі "Лондон" ауқымдағы үшінші жазба:
=MATCH("London",B1:B3,0)
Қосымша ақпарат алу үшін Excel MATCH функциясын қараңыз.
бірінші қарағанда, MATCH функциясының пайдалылығы күмәнді болып көрінуі мүмкін. Ауқымдағы мәннің орны кімге алаңдайды? Біз білгіміз келетін нәрсе — мәннің өзі.
Іздеу мәнінің салыстырмалы орны (яғни, жол және баған нөмірлері) дәл жол_саны<үшін беру қажет екенін еске сала кетейін. INDEX функциясының 2> және баған_саны аргументтері. Естеріңізде болса, Excel INDEX бағдарламасы берілген жол мен бағанның қиылысында мәнді таба алады, бірақ ол сізге қай жол мен баған қажет екенін анықтай алмайды.
Excel бағдарламасында INDEX MATCH функциясын пайдалану жолы
Енді сіз негіздерді білетін болсаңыз, мен оның бар екеніне сенемінMATCH және INDEX қалай бірге жұмыс істейтінін түсінді. Қысқаша айтқанда, INDEX іздеу мәнін баған және жол нөмірлері бойынша табады және MATCH сол сандарды береді. Міне!
Тік іздеу үшін сіз MATCH функциясын тек жол нөмірін анықтау және баған ауқымын тікелей INDEX:
INDEX ( мәнді қайтару үшінбағанасы) беру үшін ғана пайдаланасыз. , MATCH ( іздеу мәні, қарсы іздеуге арналған баған, 0))Оны анықтау әлі де қиын ба? Мысалдан түсіну оңайырақ болуы мүмкін. Сізде ұлттық астаналар мен олардың тұрғындарының тізімі бар делік:
Белгілі бір астананың халқын табу үшін, айталық, Жапония астанасы, келесі INDEX MATCH формуласын пайдаланыңыз:
=INDEX(C2:C10, MATCH("Japan", A2:A10, 0))
Енді, осы формуланың әрбір компоненті шын мәнінде не істейтінін талдап көрейік:
- MATCH функциясы A2 ауқымында "Жапония" іздеу мәнін іздейді: A10 және 3 санын қайтарады, себебі "Жапония" іздеу массивінде үшінші орында.
- Жол нөмірі тікелей INDEX параметрінің жол_саны аргументіне өтіп, одан мәнді қайтаруға нұсқау береді. жол.
Сонымен, жоғарыда келтірілген формула C2-ден C10-ға дейінгі ұяшықтарды іздеуді және сол ауқымдағы 3-ші ұяшықтан мәнді шығаруды айтатын қарапайым ИНДЕКске(C2:C,3) айналады, яғни. C4, себебі біз екінші қатардан санауды бастаймыз.
Формуладағы қаланы қатты кодтауды қаламайсыз ба? Оны кейбір ұяшыққа енгізіңіз, айталық F1, ұяшықты қамтамасыз етіңізMATCH сілтемесін қолдансаңыз, динамикалық іздеу формуласын аласыз:
=INDEX(C2:C10, MATCH(F1,A2:A10,0))
Маңызды ескерту! Жолдар саны INDEX-тің массив аргументі MATCH іздеу_массив аргументіндегі жолдар санына сәйкес келуі керек, әйтпесе формула қате нәтиже береді.
Күте тұрыңыз, күте тұрыңыз... неге жоқ? Біз жай ғана келесі Vlookup формуласын пайдаланбаймыз ба? Excel MATCH INDEX бағдарламасының жасырын бұралуларын анықтауға тырысып, уақытты жоғалтудың мәні неде?
=VLOOKUP(F1, A2:C10, 3, FALSE)
Бұл жағдайда мүлдем мағынасы жоқ :) Бұл қарапайым мысал тек көрсету мақсатында, INDEX және MATCH функцияларының бірге қалай жұмыс істейтінін сезіну үшін. Төменде келтірілген басқа мысалдар VLOOKUP сүрінген кезде көптеген күрделі сценарийлерді оңай жеңетін осы комбинацияның нақты күшін көрсетеді.
Кеңестер:
- Excel 365 және Excel 2021 нұсқаларында сіз неғұрлым заманауи INDEX XMATCH формуласын пайдалана алады.
- Google Sheets үшін осы мақалада INDEX MATCH бар формула мысалдарын қараңыз.
INDEX MATCH және VLOOKUP
Қашан тік іздеулер үшін қандай функцияны пайдалану керектігін шеше отырып, Excel шеберлерінің көпшілігі INDEX MATCH VLOOKUP қарағанда әлдеқайда жақсырақ екеніне келіседі. Дегенмен, көптеген адамдар әлі де VLOOKUP қолданбасында қалады, біріншіден, бұл оңайырақ, екіншіден, Excel бағдарламасындағы INDEX MATCH формуласын пайдаланудың барлық артықшылықтарын толық түсінбейді. Мұндай түсініксіз ешкім өз уақытын оқуға жұмсағысы келмейдікүрделірек синтаксис.
Төменде мен MATCH INDEX-тің VLOOKUP қарағанда негізгі артықшылықтарын атап өтемін және оның Excel арсеналына лайықты қосымша болып табылатынын шешесіз.
Қолданудың негізгі 4 себебі. VLOOKUP орнына INDEX MATCH
- Оңнан солға іздеу. Кез келген білімді пайдаланушы білетіндей, VLOOKUP сол жағына қарай алмайды, яғни іздеу мәні әрқашан ең сол жақ бағанда болуы керек. үстел. INDEX MATCH сол жақтан іздеуді оңай жасай алады! Келесі мысал оны әрекетте көрсетеді: Excel бағдарламасында мәнді солға қарай іздеу жолы.
- Бағандарды қауіпсіз енгізу немесе жою. VLOOKUP формулалары жаңа баған ашылғанда бұзылады немесе дұрыс емес нәтижелерді береді. Іздеу кестесінен жойылған немесе оған қосылған, себебі VLOOKUP синтаксисі деректерді алғыңыз келетін бағанның индекс нөмірін көрсетуді талап етеді. Әрине, бағандарды қосқанда немесе жойған кезде индекс нөмірі өзгереді.
INDEX MATCH көмегімен индекс нөмірін емес, қайтарылатын баған ауқымын көрсетесіз. Нәтижесінде, әр байланысты формуланы жаңарту туралы алаңдамай, қалағаныңызша көп бағандарды енгізуге және жоюға болады.
- Іздеу мәнінің өлшеміне шектеу жоқ. VLOOKUP функциясын пайдаланған кезде іздеу шартының жалпы ұзындығы 255 таңбадан аспауы керек, әйтпесе #VALUE мәніне ие боласыз. ! қате. Сонымен, деректер жиынында ұзын жолдар болса, INDEX MATCH жалғыз жұмыс істейдішешім.
- Өңдеу жылдамдығы жоғарырақ. Егер кестелер салыстырмалы түрде кішкентай болса, Excel өнімділігінде айтарлықтай айырмашылық болмайды. Бірақ егер жұмыс парақтарыңызда жүздеген немесе мыңдаған жолдар, тиісінше, жүздеген немесе мыңдаған формулалар болса, MATCH INDEX VLOOKUP қарағанда әлдеқайда жылдам жұмыс істейді, себебі Excel бүкіл кесте массивін емес, тек іздеу және қайтару бағандарын өңдеуі керек.
VLOOKUP функциясының Excel өнімділігіне әсері әсіресе жұмыс кітабында VLOOKUP және SUM сияқты күрделі массив формулалары болса, байқалуы мүмкін. Мәселе мынада, массивтегі әрбір мәнді тексеру VLOOKUP функциясын бөлек шақыруды қажет етеді. Сонымен, массивіңізде неғұрлым көп мәндер болса және жұмыс кітабында неғұрлым көп массив формулалары болса, Excel бағдарламасы соғұрлым баяу орындалады.
Excel INDEX MATCH - формула мысалдары
Білу MATCH INDEX функциясын үйренудің себептері, ең қызықты бөлігіне көшейік және теориялық білімді практикада қалай қолдануға болатынын көрейік.
Оңнан солға қарай жоғары қарай қарау үшін INDEX MATCH формуласы
Жоғарыда айтылғандай, VLOOKUP оның сол жағына қарай алмайды. Сонымен, іздеу мәндері ең сол жақ баған болмаса, Vlookup формуласының сізге қажетті нәтижені әкелу мүмкіндігі жоқ. Excel бағдарламасындағы INDEX MATCH функциясы жан-жақты және іздеу және қайтару бағандарының қай жерде орналасқанына мән бермейді.
Бұл мысал үшін,біз үлгі кестеміздің сол жағына «Дәреже» бағанын қосамыз және Ресей астанасы Мәскеудің халық саны бойынша қалай орын алатынын анықтауға тырысамыз.
G1 ішіндегі іздеу мәнімен іздеу үшін келесі формуланы пайдаланыңыз. C2:C10 ішінде және сәйкес мәнді A2:A10 ішінен қайтарыңыз:
=INDEX(A2:A10,MATCH(G1,C2:C10,0))
Кеңес. INDEX MATCH формуласын бірнеше ұяшық үшін пайдалануды жоспарласаңыз, екі ауқымды да абсолютті ұяшық сілтемелерімен (мысалы, $A$2:$A$10 және $C$2:4C$10) құлыптауды ұмытпаңыз, сонда олар бұрмаланбайды. формуланы көшіру.
Жолдар мен бағандарда іздеу үшін INDEX MATCH MATCH
Жоғарыдағы мысалдарда біз алдын ала анықталған бір бағаннан мәнді қайтару үшін классикалық VLOOKUP үшін ауыстыру ретінде INDEX MATCH қолдандық. диапазон. Бірақ бірнеше жолдар мен бағандардан іздеу керек болса ше? Басқаша айтқанда, матрица немесе екі жақты деп аталатын іздеуді орындағыңыз келсе ше?
Бұл қиын көрінуі мүмкін, бірақ формула өте ұқсас. негізгі Excel INDEX MATCH функциясына бір ғана айырмашылықпен. Ойлайсыз ба?
Жай ғана, екі MATCH функциясын пайдаланыңыз – біреуі жол нөмірін алу үшін, екіншісі баған нөмірін алу үшін. Мен дұрыс тапқандарды құттықтаймын :)
INDEX (массив, MATCH ( vlookup мәні, қарсы іздеу үшін баған, 0), MATCH ( hlookup мәні, қарсы іздеу үшін, 0))Ал енді төмендегі кестені қарап шығыңыз және INDEX MATCH MATCH құрастырайықбелгілі бір елдегі белгілі бір жылдағы халық санын (миллиондармен) табу формуласы.
G1-дегі мақсатты ел (көптік шолу мәні) және G2-дегі мақсатты жыл (hlookup мәні) болса, формула осы пішінді алады. :
=INDEX(B2:D11, MATCH(G1,A2:A11,0), MATCH(G2,B1:D1,0))
Бұл формула қалай жұмыс істейді
Күрделі Excel формуласын түсіну қажет болғанда, оны кішірек бөліктерге және әрбір жеке функцияның не істейтінін қараңыз:
MATCH(G1,A2:A11,0)
– A2:A11 арқылы G1 ұяшығындағы мәнді («Қытай») іздейді және оның орнын қайтарады, ол 2.
MATCH(G2,B1:D1,0))
– арқылы іздейді. G2 ұяшығындағы мәннің орнын алу үшін B1:D1 («2015»), ол 3.
Жоғарыдағы жол және баған нөмірлері INDEX функциясының сәйкес аргументтеріне өтеді:
INDEX(B2:D11, 2, 3)
Нәтижесінде сіз B2:D11 диапазонында 2-ші жол мен 3-бағанның қиылысында мән аласыз, бұл D3 ұяшығындағы мән. Оңай ма? Иә!
Бірнеше шартты іздеу үшін Excel INDEX MATCH
Егер Excel VLOOKUP оқулығымызды оқу мүмкіндігіңіз болса, сіз Vlookup формуласын бірнеше критериймен сынап қойған боларсыз. Дегенмен, бұл тәсілдің маңызды шектеуі көмекші бағанды қосу қажеттілігі болып табылады. Жақсы жаңалық, Excel бағдарламасының INDEX MATCH функциясы бастапқы деректеріңізді өзгертпей немесе қайта құрылымдамай-ақ екі немесе одан да көп шартпен іздей алады!
Міне, бірнеше критерийлері бар жалпы INDEX MATCH формуласы:
{=INDEX( қайтару_ауқымы, MATCH(1,