Як зрабіць ВПР з улікам рэгістра ў Excel - прыклады формул

  • Падзяліцца Гэтым
Michael Brown

Падручнік тлумачыць, як зрабіць Excel VLOOKUP адчувальным да рэгістра, дэманструе некалькі іншых формул, якія адрозніваюць рэгістр тэксту, і паказвае на моцныя бакі і абмежаванні кожнай функцыі.

Мяркую, кожны Карыстальнік Excel ведае, якая функцыя выконвае вертыкальны пошук у Excel. Так, гэта VLOOKUP. Аднак вельмі нешматлікія людзі ведаюць, што VLOOKUP Excel не ўлічвае рэгістра, гэта значыць ён разглядае малыя і ВЕЛІКІЯ літары як аднолькавыя сімвалы.

Вось кароткі прыклад, які дэманструе няздольнасць VLOOKUP адрозніваць рэгістр тэксту. Выкажам здагадку, што ў вас ёсць «рахунак» у ячэйцы A2 і «рахунак» у A4. Прыведзеная ніжэй формула ўлоўлівае "рахунак", таму што ён знаходзіцца першым у масіве пошуку, і вяртае адпаведнае значэнне з B2.

=VLOOKUP("Bill", A2:B4, 2, FALSE)

Далей у гэтым артыкула, я пакажу вам спосаб зрабіць VLOOKUP адчувальным да рэгістра. Мы таксама вывучым некалькі іншых функцый, якія могуць выконваць супадзенне з улікам рэгістра ў Excel.

    Формула VLOOKUP з улікам рэгістра

    Як згадвалася вышэй, звычайная формула VLOOKUP не распазнае рэгістр літар. Тым не менш, ёсць спосаб зрабіць Excel VLOOKUP адчувальным да рэгістра, як паказана ў прыкладзе ніжэй.

    Выкажам здагадку, што ў вас ёсць ідэнтыфікатары тавараў у слупку A і вы хочаце атрымаць цану тавару і каментар са слупкоў B і C. Праблема ў тым, што ідэнтыфікатары ўключаюць як малыя, так і вялікія сімвалы. Напрыклад, значэнні ў A4 (001Tvci3u) і A5 (001Tvci3U) адрозніваюцца толькіапошні сімвал, "u" і "U", адпаведна.

    Пры пошуку "001Tvci3 U " стандартная формула VLOOKUP выводзіць 90 долараў, якія звязаны з "001Tvci3 u ", таму што ён стаіць перад "001Tvci3 U " у масіве пошуку. Але гэта не тое, што вы хочаце, ці не так?

    =VLOOKUP(F2, A2:C7, 2, FALSE)

    Каб выканаць пошук у Excel з улікам рэгістра, мы аб'ядноўваем VLOOKUP, CHOOSE і EXACT функцыі:

    VLOOKUP(TRUE, CHOOSE({1,2}, EXACT( lookup_value, lookup_array), return_array), 2, 0)

    Гэта агульная формула выдатна працуе ў любых сітуацыях. Вы нават можаце шукаць уверх справа налева , чаго не можа зрабіць звычайная формула VLOOKUP. Падзяка Пурыі за прапанову гэтага простага і элегантнага рашэння!

    У нашым выпадку рэальныя формулы выглядаюць наступным чынам.

    Каб выцягнуць цану ў F3:

    =VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)

    Каб атрымаць каментар F4:

    =VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)

    Заўвага. Ва ўсіх версіях Excel, акрамя Excel 365, гэта працуе толькі як формула масіва, таму не забывайце націскаць Ctrl + Shift + Enter, каб завяршыць гэта правільна. У Excel 365 дзякуючы падтрымцы дынамічных масіваў ён таксама працуе як звычайная формула.

    Як працуе гэтая формула:

    Асноўная частка, якая робіць трук, - гэта формула CHOOSE з укладзеным EXACT:

    CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7)

    Тут, функцыя EXACT параўноўвае значэнне ў F2 з кожным значэннем у A2:A7 і вяртае TRUE, калі яны абсалютна аднолькавыя, уключаючы рэгістр літар,FALSE у адваротным выпадку:

    {FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}

    Для аргумента index_num каманды CHOOSE мы выкарыстоўваем канстанту масіва {1,2}. У выніку функцыя аб'ядноўвае лагічныя значэнні з прыведзенага вышэй масіва і значэнні з C2:C7 у двухмерны масіў, як гэта:

    {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}

    Функцыя VLOOKUP бярэ яго адтуль і шукае значэнне пошуку (якое TRUE) у 1-м слупку 2-мернага масіва (прадстаўленага лагічнымі значэннямі) і вяртае супадзенне з 2-га слупка, які з'яўляецца цаной, якую мы шукаем:

    VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)

    Формула XLOOKUP з улікам рэгістра

    Падпісчыкі Microsoft 365 могуць выконваць пошук у Excel з улікам рэгістра з дапамогай яшчэ больш простай формулы. Як вы можаце здагадацца, я кажу пра больш магутную пераемніцу VLOOKUP - функцыю XLOOKUP.

    Паколькі XLOOKUP працуе з пошукам і вяртаннем масіваў асобна, нам не патрэбны трук з двухмерным масівам з папярэдняга прыклад. Проста выкарыстоўвайце EXACT для аргумента lookup_array :

    XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , " Не знойдзена")

    Апошні аргумент ("Не знойдзена") неабавязковы. Ён проста вызначае, якое значэнне вярнуць, калі супадзення не знойдзена. Калі вы прапусціце яго, тады будзе вернута стандартная памылка #N/A, калі формула нічога не знойдзе.

    Для нашага ўзору табліцы гэта формулы XLOOKUP з улікам рэгістра.

    Каб атрымаць цану ў F3:

    =XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Not found")

    Каб атрымацькаментар F4:

    =XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Not found")

    Як працуе гэтая формула:

    Як і ў папярэднім прыкладзе, EXACT вяртае масіў значэнняў TRUE і FALSE, дзе TRUE прадстаўляе супадзенні з улікам рэгістра. XLOOKUP шукае ў вышэйзгаданым масіве значэнне TRUE і вяртае супадзенне з return_array . Калі ласка, звярніце ўвагу, калі ў слупку пошуку ёсць два ці больш аднолькавых значэнняў (уключаючы рэгістр літар), формула верне першае знойдзенае супадзенне.

    Абмежаванне XLOOKUP : даступна толькі у Excel 365 і Excel 2021.

    SUMPRODUCT - пошук з улікам рэгістра для вяртання адпаведных лікаў

    Як вы разумееце з загалоўка, SUMPRODUCT - гэта яшчэ адна функцыя Excel, якая можа выконваць пошук з улікам рэгістра , але можа вяртаць толькі лікавыя значэнні . Калі гэта не ваш выпадак, перайдзіце да прыкладу INDEX MATCH, які дае рашэнне для ўсіх тыпаў даных.

    Як вы, напэўна, ведаеце, SUMPRODUCT у Excel памнажае кампаненты ў вызначаных масівах і вяртае суму здабыткаў. Паколькі нам патрэбны пошук з улікам рэгістра, мы выкарыстоўваем функцыю EXACT, каб атрымаць першы масіў:

    =SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))

    На жаль, функцыя SUMPRODUCT не можа вярнуць тэкставыя супадзенні, паколькі тэкставыя значэнні нельга памнажаць. У гэтым выпадку вы атрымаеце #VALUE! памылка, як у ячэйцы F4 на скрыншоце ніжэй:

    Як працуе гэтая формула:

    Як у прыкладзе VLOOKUP, EXACT праверкі функцыйзначэнне ў F2 супраць усіх значэнняў у A2:A7 і вяртае TRUE для супадзенняў з улікам рэгістра, FALSE у адваротным выпадку:

    SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE}*{155;186;90;54;159;28}))

    У большасці формул Excel ацэньвае TRUE ў 1 і FALSE у 0 Такім чынам, калі SUMPRODUCT памнажае элементы двух масіваў у аднолькавых пазіцыях, усе несупадзенні (FALSE) становяцца нулямі:

    SUMPRODUCT({0;0;0;54;0;0})

    У выніку формула вяртае лік з слупок B, які адпавядае дакладнаму супадзенню з улікам рэгістра ў слупку A.

    Абмежаванне SUMPRODUCT : можа вяртаць толькі лікавыя значэнні.

    INDEX MATCH - пошук з улікам рэгістра усе тыпы даных

    Нарэшце, мы блізкія да атрымання формулы пошуку без абмежаванняў з улікам рэгістра, якая працуе ва ўсіх версіях Excel і на ўсіх наборах даных.

    Гэты прыклад апошні не толькі таму, што лепшае захоўваецца напрыканцы, але і таму, што веды, якія вы атрымалі ў папярэдніх прыкладах, могуць дапамагчы вам лепш зразумець формулу MATCH INDEX з улікам рэгістра.

    Часта выкарыстоўваецца камбінацыя функцый INDEX і MATCH у Ex cel як больш гнуткая і універсальная альтэрнатыва VLOOKUP. Наступны артыкул робіць добрую працу (спадзяюся :), тлумачыць, як гэтыя дзве функцыі працуюць разам - Выкарыстанне INDEX MATCH замест VLOOKUP.

    Тут я проста нагадаю вам ключавыя моманты:

    • Функцыя MATCH шукае значэнне пошуку ў паказаным масіве пошуку і вяртае яго адносную пазіцыю.
    • Адноснаяпазіцыя шуканага значэння пераходзіць непасрэдна да аргументу row_num функцыі INDEX, загадваючы ёй вярнуць значэнне з гэтага радка.

    Каб формула распазнавала рэгістр тэксту, вам проста трэба дадаць яшчэ адну функцыю да класічнай камбінацыі INDEX MATCH. Відавочна, што вам зноў спатрэбіцца ДАЛЕЙНАЯ функцыя:

    INDEX( вярнуты_масіў , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))

    Сапраўдная формула ў F3:

    =INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    У F4 мы выкарыстоўваем наступную:

    =INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    Калі ласка, памятайце, што яна працуе толькі як формула масіва ва ўсіх версіях, акрамя Excel 365, таму не забудзьцеся ўвесці яе, націснуўшы адначасова клавішы Ctrl + Shift + Enter. Калі ўсё зроблена правільна, формула будзе заключана ў фігурныя дужкі, як паказана на скрыншоце ніжэй:

    Як гэта формула працуе:

    Як і ва ўсіх папярэдніх прыкладах, EXACT вяртае TRUE для кожнага значэння ў A2:A7, якое дакладна адпавядае значэнню ў F2. Паколькі мы выкарыстоўваем TRUE для lookup_value для MATCH, яно вяртае адносную пазіцыю дакладнага супадзення з улікам рэгістра, што якраз і патрэбна INDEX, каб вярнуць супадзенне з B2:B7.

    Палепшаная формула пошуку з улікам рэгістра

    Згаданая вышэй формула INDEX MATCH выглядае ідэальна, праўда? Але на самой справе гэта не так. Дазвольце мне паказаць вам, чаму.

    Выкажам здагадку, што ячэйка ў слупку вяртання, якая адпавядае шуканаму значэнню, пустая. Што верне формула? нічога.А цяпер давайце паглядзім, што яна насамрэч вяртае:

    =INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))

    Ой, формула вяртае нуль! Магчыма, гэта не вельмі важна, калі маеш справу толькі з тэкставымі значэннямі. Аднак, калі ваш аркуш змяшчае лічбы і некаторыя з іх сапраўдныя нулі, гэта праблема.

    Па праўдзе кажучы, усе іншыя формулы пошуку, разгледжаныя раней, паводзяць сябе такім жа чынам. Але цяпер вы жадаеце бездакорную формулу, ці не так?

    Каб зрабіць формулу INDEX MATCH з улікам рэгістра абсалютна ідэальнай, вы загартаеце яе ў функцыю IF, якая правярае, ці з'яўляецца вяртаемая ячэйка пустой і не вяртае нічога. гэты выпадак:

    =IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")

    У прыведзенай вышэй формуле:

    • "C" - гэта слупок вяртання.
    • "1" - лік які ператварае адносную пазіцыю ячэйкі, якую вяртае функцыя MATCH, у сапраўдны адрас ячэйкі .

    Напрыклад, масіў пошуку ў нашай функцыі MATCH гэта A2:A7, што азначае, што адносная пазіцыя ячэйкі A2 роўная "1", таму што гэта першая ячэйка ў масіве. Але ў рэчаіснасці пошукавы масіў пачынаецца ў радку 2. Каб кампенсаваць розніцу, мы дадаем 1, таму функцыя INDIRECT верне значэнне з правай ячэйкі.

    На прыведзеных ніжэй скрыншотах дэманструецца палепшаны INDEX з улікам рэгістра. Формула MATCH у дзеянні.

    Калі ячэйка вяртання пустая, формула нічога не выводзіць (пусты радок):

    Калі ячэйка вяртання змяшчае нуль , формула вяртае 0:

    Калі хочацепаказаць нейкае паведамленне, калі ячэйка вяртання пустая, замяніць пусты радок ("") у апошнім аргументе IF тэкстам:

    =IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "There is nothing to return, sorry.")

    Выканайце VLOOKUP з улікам рэгістра простым спосабам

    Карыстальнікі нашага Ultimate Suite for Excel маюць спецыяльны інструмент, які робіць пошук у вялікіх і складаных табліцах прасцейшым і без стрэсу. Лепш за ўсё тое, што Merge Two Tables мае опцыю з улікам рэгістра, і прыведзены ніжэй прыклад паказвае яе ў дзеянні.

    Выкажам здагадку, што вы хочаце выцягнуць Qty. з табліцы Пошук у табліцу Асноўная на аснове ўнікальных ідэнтыфікатараў элементаў:

    Што вы робіце, гэта запускаеце Аб'яднаць табліцы і выканайце наступныя крокі:

    1. Выберыце галоўную табліцу, у якую трэба атрымаць новыя даныя.
    2. Абярыце табліцу пошуку, дзе шукаць новыя даныя.
    3. Выберыце адзін або некалькі ключавых слупкоў (ідэнтыфікатар элемента ў нашым выпадку). І не забудзьцеся паставіць галачку ў полі З улікам рэгістра .

  • Майстар правядзе вас праз тры астатнія крокі, дзе вы вызначаеце, якія слупкі абнавіць, якія слупкі дадаць, і пры неабходнасці выбіраеце некаторыя дадатковыя параметры.
  • Праз імгненне вы атрымаеце жаданы вынік :)

    Вось як шукаць у Excel з улікам рэгістра тэксту. Я дзякую вам за чытанне і спадзяюся ўбачыць вас у нашым блогу на наступным тыдні!

    Практычны сшытак для спампоўкі

    Прыклады VLOOKUP з улікам рэгістра (файл .xlsx)

    Майкл Браўн - адданы энтузіяст тэхналогій, які любіць спрашчэнне складаных працэсаў з дапамогай праграмных інструментаў. Маючы больш чым дзесяцігадовы досвед працы ў індустрыі тэхналогій, ён удасканальваў свае навыкі ў Microsoft Excel і Outlook, а таксама ў Google Sheets і Docs. Блог Майкла прысвечаны таму, каб падзяліцца сваімі ведамі і вопытам з іншымі, даючы простыя ў выкананні парады і падручнікі для павышэння прадукцыйнасці і эфектыўнасці. Незалежна ад таго, з'яўляецеся вы дасведчаным прафесіяналам або пачаткоўцам, блог Майкла прапануе каштоўную інфармацыю і практычныя парады, каб атрымаць максімальную аддачу ад гэтых неабходных праграмных інструментаў.