Съдържание
В урока е обяснен синтаксисът на функцията 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.
- VLOOKUP на Google Sheets не може да гледа наляво, а винаги търси в първата (най-лявата) колона на обхвата. ляв Vlookup , използвайте формулата на Google Sheets Index Match.
- Vlookup в Google Sheets е без значение на големи и малки букви , което означава, че не прави разлика между малки и големи букви. търсене с отчитане на големи и малки букви , използвайте тази формула.
- Ако VLOOKUP връща неверни резултати, задайте is_sorted на FALSE, за да се върнат точни съвпадения. Ако това не помогне, проверете други възможни причини за неуспеха на VLOOKUP.
- Когато is_sorted зададена на TRUE или пропусната, не забравяйте да сортирате първата колона на обхват В този случай функцията VLOOKUP ще използва по-бърз алгоритъм за двоично търсене, който работи правилно само при сортирани данни.
- 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 е въведена, сте готови да я тествате на място. Източникът на данни вече ви е познат: ще извличаме информация от Статус колона въз основа на Идентификатор на поръчката :
- Изберете всяка клетка с данни в рамките на Основен лист и щракнете върху Добавки > Обединяване на листове > Начало .
В повечето случаи добавката автоматично ще избере цялата таблица. Ако това не се случи, щракнете върху Автоматичен избор или изберете диапазона в основния лист ръчно, след което щракнете върху Следваща :
- Изберете обхвата в Лист за търсене . не е задължително диапазонът да е със същия размер като диапазона в основния лист. В този пример таблицата за търсене има 2 реда повече от основната таблица.
В този пример извличаме информация от Статус в колоната на листа за търсене в Статус колона на главния лист:
Кликнете върху Завършете , дайте възможност на добавката Merge Sheets да се обработи за момент и можете да започнете работа!
Vlookup множество мачове по лесен начин!
Multiple VLOOKUP Matches е друг инструмент на Google Sheets за разширено търсене. Както подсказва името му, добавката може да връща всички съвпадения, а не само първото, както прави функцията VLOOKUP. Освен това може да оценява множество условия , потърсете в всеки посока и да върне всички или определения брой съвпадения като стойности или формули .
Като не забравяме, че една снимка струва повече от хиляда думи, нека видим как работи добавката върху реални данни. Да предположим, че някои поръчки в нашата примерна таблица съдържат няколко елемента и вие искате да извлечете всички елементи от определена поръчка. Формулата Vlookup не може да направи това, докато по-мощната функция QUERY може. Проблемът е, че тази функция изисква познаване на езика за заявки или поне SQLСинтаксис. Нямате желание да прекарвате дни в изучаване на това? Инсталирайте добавката Multiple VLOOKUP Matches и получете безупречна формула за секунди!
В своя лист на Google щракнете върху Добавки > Множество съвпадения на VLOOKUP > Начало и дефинирайте критериите за търсене:
- Изберете диапазона с вашите данни (A1:D9).
- Посочете колко съвпадения да бъдат върнати (в нашия случай всички).
- Изберете кои колони да върнат данните ( Артикул , Сума и Статус ).
- Задайте едно или повече условия. Искаме да извлечем информацията за номера на поръчката, въведен в F2, затова конфигурираме само едно условие: ID на поръчката = F2.
- Изберете горната лява клетка за резултата.
- Кликнете върху Резултат от предварителния преглед за да сте сигурни, че ще получите точно това, което търсите.
- Ако всичко е наред, щракнете върху Вмъкване на формула или Вмъкнете резултата .
За този пример избрахме да връщаме съвпаденията като формули. Така че сега можете да въведете произволен номер на поръчка в F2 и формулата, показана на екранната снимка по-долу, ще се преизчисли автоматично:
За да научите повече за добавката, посетете началната страница на Multiple VLOOKUP Matches или я вземете сега от G Suite Marketplace.
Ето как можете да направите търсене в Google Sheets. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!