VLOOKUP в Google Sheets с примери за формули

  • Споделя Това
Michael Brown

В урока е обяснен синтаксисът на функцията VLOOKUP на Google Sheets и е показано как да използвате формулите Vlookup за решаване на задачи от реалния живот.

Когато работите с взаимосвързани данни, едно от най-често срещаните предизвикателства е намирането на информация в няколко листа. Често изпълнявате такива задачи в ежедневието, например когато сканирате таблото с разписанието на полетите, за да намерите номера на полета си и да получите информация за часа на заминаване и състоянието му. VLOOKUP в Google Sheets работи по подобен начин - търси и извлича съответстващи данни от друга таблица в същия лист илиот друг лист.

Широко разпространено е мнението, че VLOOKUP е една от най-трудните и неясни функции. Но това не е вярно! Всъщност VLOOKUP се прави лесно в Google Sheets и след малко ще се уверите в това.

    Съвет. За потребителите на Microsoft Excel имаме отделен урок за Excel VLOOKUP с примери за формули.

    Google Sheets VLOOKUP - синтаксис и употреба

    Функцията VLOOKUP в Google Sheets е предназначена за извършване на вертикално търсене - търсене на ключова стойност (уникален идентификатор) в първата колона в определен диапазон и връщане на стойност в същия ред от друга колона.

    Синтаксисът на функцията VLOOKUP в Google Sheets е следният:

    VLOOKUP(search_key, range, index, [is_sorted])

    Първите 3 аргумента са задължителни, а последният е незадължителен:

    Ключ за търсене - е стойността за търсене (стойност за търсене или уникален идентификатор). Например можете да търсите думата "apple" (ябълка), числото 10 или стойността в клетка A2.

    Обхват - две или повече колони с данни за търсене. Функцията VLOOKUP на Google Sheets винаги търси в първата колона на обхват .

    Индекс - номера на колоната в обхват от която е намерена съответстваща стойност (стойност в същия ред като search_key ) трябва да бъде върнат.

    Първата колона в обхват има индекс 1. ако индекс е по-малък от 1, формулата Vlookup връща грешка #VALUE! Ако е по-голям от броя на колоните в обхват , VLOOKUP връща грешката #REF!.

    Is_sorted - указва дали колоната за търсене е сортирана (TRUE) или не (FALSE). В повечето случаи се препоръчва FALSE.

    • Ако is_sorted е TRUE или е пропусната (по подразбиране), първата колона на обхват трябва да бъде подредени във възходящ ред , т.е. от А до Я или от най-малкия до най-големия.

      В този случай формулата Vlookup връща приблизително съвпадение Ако не бъде намерено точно съвпадение, формулата търси най-близко съвпадение която е по-малка или равна на search_key . Ако всички стойности в колоната за търсене са по-големи от ключа за търсене, се връща грешка #N/A.

    • Ако is_sorted е зададена на FALSE, не се изисква сортиране. В този случай формулата Vlookup търси точно съвпадение . Ако колоната за търсене съдържа 2 или повече стойности, точно равни на search_key , се връща първата намерена стойност.

    На пръв поглед синтаксисът може да изглежда малко сложен, но примерът с формулата Vlookup в Google Sheet по-долу ще ви улесни в разбирането.

    Да предположим, че имате две таблици: основна таблица и таблица за търсене, както е показано на снимката по-долу. Таблиците имат обща колона ( Идентификатор на поръчката ), който е уникален идентификатор. Целта ви е да извлечете статуса на всяка поръчка от таблицата за търсене в основната таблица.

    Сега как да използвате Vlookup в Google Sheets, за да изпълните задачата? Като начало нека дефинираме аргументите за нашата формула Vlookup:

    • Ключ за търсене - Идентификатор на поръчката (A3), стойността, която ще се търси в първата колона на таблицата за търсене.
    • Обхват - таблицата за търсене ($F$3:$G$8). Моля, обърнете внимание, че ние заключване на обхвата чрез използване на абсолютни препратки към клетките, тъй като планираме да копираме формулата в няколко клетки.
    • Индекс - 2 защото Статус колоната, от която искаме да върнем съвпадение, е втората колона в обхват .
    • Is_sorted - FALSE, защото нашата колона за търсене (F) не е сортирана.

    Ако съберем всички аргументи, ще получим тази формула:

    =VLOOKUP(A3,$F$3:$G$8,2,false)

    Въведете го в първата клетка (D3) на основната таблица, копирайте колоната надолу и ще получите резултат, подобен на този:

    Все още ли ви е трудно да разберете формулата Vlookup? Тогава я разгледайте по следния начин:

    5 неща, които трябва да знаете за VLOOKUP в Google Sheets

    Както вече разбрахте, функцията VLOOKUP на Google Sheets е нещо с нюанси. Запомнянето на тези пет прости факта ще ви предпази от неприятности и ще ви помогне да избегнете най-често срещаните грешки при Vlookup.

    1. VLOOKUP на Google Sheets не може да гледа наляво, а винаги търси в първата (най-лявата) колона на обхвата. ляв Vlookup , използвайте формулата на Google Sheets Index Match.
    2. Vlookup в Google Sheets е без значение на големи и малки букви , което означава, че не прави разлика между малки и големи букви. търсене с отчитане на големи и малки букви , използвайте тази формула.
    3. Ако VLOOKUP връща неверни резултати, задайте is_sorted на FALSE, за да се върнат точни съвпадения. Ако това не помогне, проверете други възможни причини за неуспеха на VLOOKUP.
    4. Когато is_sorted зададена на TRUE или пропусната, не забравяйте да сортирате първата колона на обхват В този случай функцията VLOOKUP ще използва по-бърз алгоритъм за двоично търсене, който работи правилно само при сортирани данни.
    5. Google Sheets VLOOKUP може да търси с частично съвпадение въз основа на заместващи символи : въпросителния знак (?) и звездичката (*). За повече подробности вижте този пример за формула Vlookup.

    Как да използвате VLOOKUP в Google Sheets - примери за формули

    След като вече имате основна представа за това как работи Vlookup в Google Sheets, е време да опитате сами да създадете няколко формули. За да улесните проследяването на примерите за Vlookup по-долу, можете да отворите примерния лист Vlookup в Google.

    Как да прегледате от друг лист

    В реалните електронни таблици основната таблица и таблицата за търсене често се намират на различни листове. За да препратите формулата си Vlookup към друг лист в рамките на същата таблица, поставете името на работния лист, последвано от възклицателен знак (!), преди препратката към обхвата. Например:

    =VLOOKUP(A2,Sheet4!$A$2:$B$7,2,false)

    Формулата ще търси стойността в A2 в диапазона A2:A7 на лист 4 и ще върне съответстваща стойност от колона B (втората колона в обхват ).

    Ако името на листа включва интервали или неабстрактни символи, не забравяйте да го поставите в единични кавички. Например:

    =VLOOKUP(A2,'Lookup table'!$A$2:$B$7,2,false)

    Съвет: Вместо да въвеждате ръчно препратка към друг лист, можете да накарате Google Sheets да я вмъкне автоматично вместо вас. За целта започнете да въвеждате формулата си Vlookup и когато стигнете до обхват аргумент, преминете към листа за търсене и изберете диапазона с помощта на мишката. Това ще добави референция за диапазона към формулата и ще трябва само да промените относителната референция (по подразбиране) в абсолютна референция. За да направите това, или въведете знака $ преди буквата на колоната и номера на реда, или изберете референцията и натиснете F4, за да превключите между различните типове референции.

    Vlookup в Google Sheets с паралелни символи

    В случаите, когато не знаете цялата стойност за търсене (search_key), но знаете част от нея, можете да извършите търсене със следните заместващи символи:

    • Въпросителен знак (?) за съвпадение с всеки отделен символ и
    • Звездичка (*) за съвпадение на всяка последователност от символи.

    Да речем, че искате да извлечете информация за конкретна поръчка от таблицата по-долу. Не можете да си спомните пълния идентификатор на поръчката, но помните, че първият символ е "A". Затова използвате звездичка (*), за да попълните липсващата част, както следва:

    =VLOOKUP("a*",$A$2:$C$7,2,false)

    Още по-добре е да въведете известната част от ключа за търсене в някоя клетка и да свържете тази клетка с "*", за да създадете по-универсална формула Vlookup:

    За да изтеглите елемента: =VLOOKUP($F$1& "*",$A$2:$C$7,2,false)

    За да изтеглите сумата: =VLOOKUP($F$1& "*",$A$2:$C$7,3,false)

    Съвет: Ако трябва да търсите действителен символ с въпросителен знак или звездичка, поставете тилда (~) преди символа, например "~*".

    Формула за съвпадение на индексите в Google Sheets за ляво Vlookup

    Едно от най-съществените ограничения на функцията VLOOKUP (както в Excel, така и в Google Sheets) е, че тя не може да търси в лявата си част. Тоест, ако търсената колона не е първата колона в таблицата за търсене, функцията Vlookup в Google Sheets ще се провали. В такива ситуации използвайте по-мощната и по-устойчива формула Index Match:

    INDEX ( return_range , MATCH( search_key , lookup_range , 0))

    Например, за да потърсите стойността A3 (search_key) в G3:G8 (lookup_range) и да върнете съвпадение от F3:F8 (return_range), използвайте тази формула:

    =INDEX($F$3:$F$8, MATCH (A3, $G$3:$G$8, 0))

    Следващата снимка показва тази формула за съответствие на индексите в действие:

    Друго предимство на формулата Index Match (Съответствие на индексите) в сравнение с Vlookup е, че тя е защитена от структурните промени, които правите в листовете, тъй като се отнася директно към колоната за връщане. По-специално, вмъкването или изтриването на колона в таблицата за търсене нарушава формулата Vlookup, тъй като "твърдо кодираният" номер на индекса става невалиден, докато формулата Index Match остава сигурна и здрава.

    За повече информация относно INDEX MATCH вижте Защо INDEX MATCH е по-добра алтернатива на VLOOKUP. Въпреки че горният урок е предназначен за Excel, INDEX MATCH в Google Sheets работи по същия начин, с изключение на различните имена на аргументите.

    Vlookup с отчитане на регистрите в Google Sheets

    В случаите, когато големината на буквите в текста е от значение, използвайте INDEX MATCH в комбинация с функциите TRUE и EXACT, за да направите Vlookup в Google Sheets с отчитане на големината на буквите. формула за масив :

    ArrayFormula(INDEX( return_range , MATCH (TRUE,EXACT( lookup_range , search_key ),0)))

    Ако приемем, че ключът за търсене се намира в клетка A3, обхватът за търсене е G3:G8, а обхватът за връщане е F3:F8, формулата е следната:

    =ArrayFormula(INDEX($F$3:$F$8, MATCH (TRUE,EXACT($G$3:$G$8, A3),0)))

    Както е показано на скрийншота по-долу, формулата няма проблеми с разграничаването на главни и малки букви, като например A-1001 и a-1001:

    Съвет: Натискането на Ctrl + Shift + Enter по време на редактиране на формула автоматично вмъква функцията ARRAYFORMULA в началото на формулата.

    Формулите Vlookup са най-разпространеният, но не единственият начин за търсене в Google Sheets. В следващия и последен раздел на този урок е показана алтернатива.

    Сливане на листове: алтернатива без формула за Vlookup в Google Sheets

    Ако търсите визуален начин без формули за Vlookup в електронните таблици на Google, помислете за използването на добавката Merge Sheets. Можете да я получите безплатно от магазина за добавки на Google Sheets.

    След като добавката бъде добавена в Google Sheets, можете да я намерите в Удължения таб:

    След като добавката Merge Sheets е въведена, сте готови да я тествате на място. Източникът на данни вече ви е познат: ще извличаме информация от Статус колона въз основа на Идентификатор на поръчката :

    1. Изберете всяка клетка с данни в рамките на Основен лист и щракнете върху Добавки > Обединяване на листове > Начало .

      В повечето случаи добавката автоматично ще избере цялата таблица. Ако това не се случи, щракнете върху Автоматичен избор или изберете диапазона в основния лист ръчно, след което щракнете върху Следваща :

    2. Изберете обхвата в Лист за търсене . не е задължително диапазонът да е със същия размер като диапазона в основния лист. В този пример таблицата за търсене има 2 реда повече от основната таблица.

  • Изберете един или повече ключови колони (уникални идентификатори) за сравнение. Тъй като сравняваме листовете по Идентификатор на поръчката , избираме само тази колона:
  • Под Колони за търсене , изберете колоната(ите) в листа за търсене, от която(ито) искате да извлечете данни. под Основни колони , изберете съответните колони в главния лист, в които искате да копирате данните.
  • В този пример извличаме информация от Статус в колоната на листа за търсене в Статус колона на главния лист:

  • По желание изберете едно или повече допълнителни действия. Най-често искате да Добавяне на несъответстващи редове в края на основната таблица , т.е. копирайте редовете, които съществуват само в таблицата за търсене, в края на основната таблица:
  • Кликнете върху Завършете , дайте възможност на добавката Merge Sheets да се обработи за момент и можете да започнете работа!

    Vlookup множество мачове по лесен начин!

    Multiple VLOOKUP Matches е друг инструмент на Google Sheets за разширено търсене. Както подсказва името му, добавката може да връща всички съвпадения, а не само първото, както прави функцията VLOOKUP. Освен това може да оценява множество условия , потърсете в всеки посока и да върне всички или определения брой съвпадения като стойности или формули .

    Като не забравяме, че една снимка струва повече от хиляда думи, нека видим как работи добавката върху реални данни. Да предположим, че някои поръчки в нашата примерна таблица съдържат няколко елемента и вие искате да извлечете всички елементи от определена поръчка. Формулата Vlookup не може да направи това, докато по-мощната функция QUERY може. Проблемът е, че тази функция изисква познаване на езика за заявки или поне SQLСинтаксис. Нямате желание да прекарвате дни в изучаване на това? Инсталирайте добавката Multiple VLOOKUP Matches и получете безупречна формула за секунди!

    В своя лист на Google щракнете върху Добавки > Множество съвпадения на VLOOKUP > Начало и дефинирайте критериите за търсене:

    1. Изберете диапазона с вашите данни (A1:D9).
    2. Посочете колко съвпадения да бъдат върнати (в нашия случай всички).
    3. Изберете кои колони да върнат данните ( Артикул , Сума и Статус ).
    4. Задайте едно или повече условия. Искаме да извлечем информацията за номера на поръчката, въведен в F2, затова конфигурираме само едно условие: ID на поръчката = F2.
    5. Изберете горната лява клетка за резултата.
    6. Кликнете върху Резултат от предварителния преглед за да сте сигурни, че ще получите точно това, което търсите.
    7. Ако всичко е наред, щракнете върху Вмъкване на формула или Вмъкнете резултата .

    За този пример избрахме да връщаме съвпаденията като формули. Така че сега можете да въведете произволен номер на поръчка в F2 и формулата, показана на екранната снимка по-долу, ще се преизчисли автоматично:

    За да научите повече за добавката, посетете началната страница на Multiple VLOOKUP Matches или я вземете сега от G Suite Marketplace.

    Ето как можете да направите търсене в Google Sheets. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.