Змест
У сённяшнім паведамленні ў блогу прадстаўлены ўсе спосабы аб'яднання 2 табліц Google. Вы будзеце выкарыстоўваць дадатковыя кампаненты VLOOKUP, INDEX/MATCH, QUERY і Merge Sheets, каб абнаўляць ячэйкі на адным аркушы з запісаў з іншага на аснове супадзенняў у агульных слупках.
Аб'яднаць Табліцы Google з выкарыстаннем функцыі VLOOKUP
Першае, да чаго вы можаце звярнуцца, калі вам трэба супаставіць і аб'яднаць дзве табліцы Google, гэта функцыя VLOOKUP.
Сінтаксіс & выкарыстанне
Гэта функцыя шукае ў слупку, які вы ўказваеце, пэўнае значэнне ключа і выцягвае адзін з звязаных запісаў з таго ж радка ў іншую табліцу або ліст.
Хоць Google Sheets VLOOKUP звычайна разглядаецца як адна са складаных функцый, яна насамрэч даволі простая і нават лёгкая, калі вы з ёй пазнаёміцеся.
Давайце хутка паглядзім на яе кампаненты:
=VLOOKUP(ключ_пошуку, дыяпазон, індэкс, [адсартавана] )- search_key гэта значэнне ключа, якое вы шукаеце. Гэта можа быць любы тэкставы радок, лік або спасылка на ячэйку.
- дыяпазон - гэта тая група ячэек (або табліца), дзе вы будзеце шукаць ключ_пошуку і адкуль вы будзеце атрымліваць адпаведныя запісы.
Заўвага. VLOOKUP у Табліцах Google заўсёды скануе першы слупок дыяпазону для пошуку ключ_пошуку .
- індэкс - гэта нумар слупка ў тым дыяпазоне , адкуль вы хочаце атрымаць даныя.
Напрыклад, калі ваш дыяпазон для пошуку A2:E20 і гэта слупок Eвам трэба атрымаць дадзеныя, увядзіце 5. Але калі ваш дыяпазон D2:E20, вам трэба будзе ўвесці 2, каб атрымаць запісы са слупка E.
- [is_sorted] гэта адзіны аргумент, які вы можаце апусціць. Ён выкарыстоўваецца, каб сказаць, адсартаваны слупок з ключавымі значэннямі (TRUE) ці не (FALSE). Калі TRUE, функцыя будзе працаваць з найбольш блізкім супадзеннем, калі FALSE — з поўным. Калі апушчана, па змаўчанні выкарыстоўваецца TRUE.
Падказка. У нас ёсць падрабязнае кіраўніцтва, прысвечанае VLOOKUP у Табліцах Google. Калі ласка, праверце яго, каб даведацца больш пра функцыю, яе асаблівасці & абмежаванні і атрымаць больш прыкладаў формул.
Улічваючы гэтыя аргументы, давайце выкарыстаем VLOOKUP для аб'яднання двух аркушаў Google.
Выкажам здагадку, што ў мяне ёсць невялікая табліца з ягадамі і іх ідэнтыфікатарамі ў аркушы 2. Наяўнасць запасаў невядомая, аднак:
Давайце назавем гэту табліцу галоўнай, бо мая мэта складаецца ў тым, каб запоўніць яе.
Ёсць яшчэ адна табліца ў Sheet1 з усе дадзеныя на месцы, уключаючы наяўнасць запасаў:
Я буду называць гэта табліцай пошуку, таму што я буду разглядаць яе, каб атрымаць дадзеныя.
Я будзе выкарыстоўваць функцыю Google Sheets VLOOKUP, каб аб'яднаць гэтыя 2 аркушы. Функцыя будзе супастаўляць ягады ў абедзвюх табліцах і выцягваць адпаведную інфармацыю аб запасах з пошуку ў галоўную табліцу.
=VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE)
Вось як гэта формула дакладна аб'ядноўвае два аркушы Google:
- Яна шукае значэнне з B2 (асноўнага аркуша) у слупку B наSheet1 (ліст пошуку).
Заўвага. Памятайце, VLOOKUP скануе 1-ы слупок пазначанага дыяпазону — Sheet1!$B$2:$C$10 .
Заўвага. Я выкарыстоўваю абсалютныя спасылкі для дыяпазону, таму што я капірую формулу ўніз па слупку, і, такім чынам, мне трэба, каб гэты дыяпазон заставаўся аднолькавым у кожным радку, каб вынік не сарваўся.
- ХЛУСНЯ ў канцы кажа, што даныя ў слупку B (на аркушы пошуку) не адсартаваны, таму будуць разглядацца толькі дакладныя супадзенні.
- Калі супадзенне ёсць, Google Sheets VLOOKUP выцягвае адпаведны запіс з 2-га слупка гэтага дыяпазону (слупок C).
Схаваць памылкі, якія вяртае VLOOKUP у Google Sheets — КАЛІПАМЫЛКА
Але што з тымі #N /A памылкі?
Вы бачыце іх у тых радках, дзе ягады не маюць супадзенняў на іншым аркушы і няма чаго вяртаць. На шчасце, замест гэтага ёсць спосаб пакінуць такія ячэйкі пустымі.
Проста загарніце Google Sheets VLOOKUP у IFERROR:
=IFERROR(VLOOKUP(B2,Sheet1!$B$2:$C$10,2,FALSE),"")
Парада . Перахоплівайце і выпраўляйце іншыя памылкі, якія можа вярнуць Google Sheets VLOOKUP, выкарыстоўваючы рашэнні з гэтага кіраўніцтва.
Супадзенне & абнавіць запісы для ўсяго слупка адразу — ArrayFormula
Яшчэ адна рэч, якую я хацеў бы згадаць, гэта тое, як супаставіць і аб'яднаць даныя Табліц Google для ўсяго слупка адначасова.
Тут нічога асаблівага , толькі яшчэ адна функцыя — ArrayFormula.
Проста заменіце запіс ключа ў адну ячэйку ў Google Sheets VLOOKUP на ўвесь слупок і ўстаўце ўсю гэту формулуунутры ArrayFormula:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,Sheet1!$B$2:$C$10,2,FALSE),""))
Такім чынам, вам не трэба будзе капіяваць формулу ўніз па слупку. ArrayFormula адразу верне правільны вынік у кожную ячэйку.
Хоць VLOOKUP у Табліцах Google ідэальна падыходзіць для такіх простых задач, у яе ёсць некаторыя абмежаванні. Вось адзін з недахопаў: ён не можа глядзець налева. Які б дыяпазон вы не ўказалі, ён заўсёды скануе яго першы слупок.
Такім чынам, калі вам трэба аб'яднаць 2 аркушы Google і атрымаць ідэнтыфікатары (дадзеныя 1-га слупка) на аснове ягад (2-і слупок), VLOOKUP не дапаможа . Вы проста не зможаце пабудаваць правільную формулу.
У такіх выпадках у гульню ўступае INDEX MATCH для Google Sheets.
Match & аб'яднаць аркушы Google з дапамогай INDEX MATCH duo
INDEX MATCH, а дакладней INDEX & MATCH - гэта дзве розныя функцыі Табліц Google. Але калі яны выкарыстоўваюцца разам, гэта як VLOOKUP наступнага ўзроўню.
Так, яны таксама аб'ядноўваюць аркушы Google: абнаўляюць ячэйкі адной табліцы запісамі з іншай табліцы на аснове агульных ключавых запісаў.
Але яны робяць гэта нашмат лепш, бо ігнаруюць усе гэтыя абмежаванні VLOOKUP.
Я не буду разглядаць усе асновы сёння, таму што я зрабіў гэта ў гэтым паведамленні ў блогу. Але я прывяду вам некалькі прыкладаў формул INDEX MATCH, каб вы маглі бачыць, як яны працуюць непасрэдна ў электронных табліцах Google. Я буду выкарыстоўваць тыя ж прыклады табліц, прыведзеных вышэй.
INDEX MATCH у дзеянні ў Табліцах Google
Спачатку давайце аб'яднаем іхТабліцы Google і абнавіце наяўнасць усіх адпаведных ягад:
=INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0))
Як зрабіць INDEX & MATCH працуе пры такім сумесным выкарыстанні?
- MATCH разглядае B2 і шукае сапраўды такі ж запіс у слупку B на аркушы 1. Пасля знаходжання ён вяртае нумар радка, які змяшчае гэтае значэнне — 10 у маім выпадку.
- INDEX таксама пераходзіць да 10-га радка на Аркушы1, толькі ён прымае значэнне з іншага слупка — C.
Цяпер давайце паспрабуем праверыць INDEX MATCH на тое, што Google Sheets VLOOKUP не можа зрабіць — аб'яднаць аркушы і абнавіць крайні левы слупок неабходнымі ідэнтыфікатарамі:
=INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0))
Лёгка :)
Апрацоўваць памылкі, якія вяртае INDEX MATCH у Табліцах Google
Давайце пойдзем далей і пазбавімся ад гэтых памылак у ячэйках без супадзенняў. IFERROR зноў дапаможа. Проста пастаўце свой Google Sheets INDEX MATCH у якасці першага аргумента.
Прыклад 1.
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Прыклад 2.
=IFERROR(INDEX(Sheet1!$A$2:$A$10,MATCH(B2,Sheet1!$B$2:$B$10,0)),"")
Цяпер, як аб'яднаць аркушы Google з дапамогай INDEX MATCH і абнавіць усе ячэйкі ва ўсім слупку адначасова?
Ну... Вы не трэба. Ёсць невялікая праблема: ArrayFormula не працуе з гэтымі двума.
Вам трэба будзе скапіяваць формулу INDEX MATCH уніз па слупку або выкарыстоўваць функцыю Google Sheets QUERY у якасці альтэрнатывы.
Аб'яднаць Табліцы Google & абнавіць ячэйкі з дапамогай QUERY
Google Sheets QUERY - самая магутная функцыя ў электронных табліцах.Улічваючы гэта, нядзіўна, што ён прапануе спосаб зліцця табліц — match & аб'яднаць значэнні з розных аркушаў.
=QUERY(дадзеныя, запыт, [загалоўкі])Савет. Калі вы ніколі раней не выкарыстоўвалі Google Sheets QUERY, гэты падручнік дапаможа вам разабрацца ў яго асаблівай мове.
Як павінна выглядаць формула QUERY, каб абнавіць слупок Запасы фактычнымі дадзенымі?
=QUERY(Sheet1!$A$2:$C$10,"select C where&Sheet4!$B2:$B$10&""")
- Google Sheets QUERY праглядае мой аркуш пошуку (Sheet1 з запісамі, якія мне трэба перацягнуць у галоўную табліцу)
- і вяртае ўсе ячэйкі са слупка C, дзе слупок B адпавядае ягадам у маёй галоўнай табліцы
Дазвольце мне страціць гэтыя памылкі для ячэек без супадзенняў:
=IFERROR(QUERY(Sheet1!$A$2:$C$10,"select C where&Sheet4!$B2:$B$10&"""),"")
Ну, так лепш :)
Аб'яднанне табліц з розных табліц Google — функцыя IMPORTRANGE
Ёсць яшчэ адна функцыя, якую я хацеў бы згадаць. Гэта важна, таму што дазваляе аб'ядноўваць аркушы, якія знаходзяцца ў розных электронных табліцах Google (файлах).
Функцыя называецца IMPORTRANGE:
=IMPORTRANGE("spreadsheet_url","range_string")- першы ідзе па спасылцы на тую электронную табліцу, з якой вы выцягваеце дадзеныя
- апошні ідзе на ліст & дыяпазон, які вы хочаце ўзяць з гэтай электроннай табліцы
Заўвага. Я настойліва раю праглядзець гэтую функцыю ў Google docs, каб не прапусціць ніводнага важнага нюансу яе працы.
Уявіце, што ваш ліст пошуку (здаведачныя дадзеныя) знаходзіцца ў электроннай табліцы 2 (ён жа электронная табліца пошуку). Ваш галоўны аркуш знаходзіцца ў Табліцы 1 (галоўнай табліцы).
Заўвага. Каб IMPORTRANGE працаваў, вы павінны злучыць абодва файла. І хаця Google Sheet прапануе кнопку для гэтага адразу пасля таго, як вы ўводзіце формулу ў ячэйку і націскаеце Enter , для формул ніжэй вам можа спатрэбіцца зрабіць гэта загадзя. Гэтая пакрокавая інструкцыя дапаможа вам.
Ніжэй прыведзены прыклады аб'яднання аркушаў Google з розных файлаў з дапамогай IMPORTRANGE з кожнай функцыяй, якую вы вывучылі сёння.
Прыклад 1. IMPORTRANGE + VLOOKUP
Выкарыстоўвайце IMPORTRAGE як дыяпазон у VLOOKUP для аб'яднання 2 асобных электронных табліц Google:
=ArrayFormula(IFERROR(VLOOKUP(B2:B10,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$B$2:$C$10"),2,FALSE),""))
Прыклад 2. IMPORTRANGE + INDEX MATCH
Што тычыцца INDEX MATCH & IMPORTRANGE, формула становіцца больш грувасткай, бо вам трэба спасылацца на іншую электронную табліцу двойчы: як дыяпазон для INDEX і як дыяпазон для MATCH:
=IFERROR(INDEX(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$A$1:$A$10"),MATCH(B2,IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$B$2:$B$10"),0)),"")
Прыклад 3. IMPORTRANGE + QUERY
Гэты тандэм формул мой асабісты фаварыт. Пры сумесным выкарыстанні яны могуць працаваць амаль з чым заўгодна ў электронных табліцах. Аб'яднанне аркушаў Google з асобных электронных табліц не з'яўляецца выключэннем.
=IFERROR(QUERY(IMPORTRANGE("//docs.google.com/spreadsheets/d/1Sq…j7o/edit","Sheet1!$A$2:$C$10"),"select Col3 where&QUERY!$B2:$B$10&"""),"")
Вау!
Гэта ўсё для функцый & формулы.
Вы можаце выбраць любую функцыю & стварыце сваю ўласную формулу з дапамогай прыведзеных вышэй прыкладаў...
або...
...паспрабуйце спецыяльны інструмент, які аб'ядноўвае табліцы Google для вас! ;)
Без формулыспосаб адпавядаць & аб'яднаць дадзеныя — надбудова Merge Sheets для Google Sheets
Калі ў вас няма часу ствараць ці нават вывучаць формулы, або калі вы проста шукаеце самы просты спосаб аб'яднаць дадзеныя на аснове агульных запісаў, Аб'яднанне аркушаў будзе ідэальным.
Усё, што вам трэба будзе зрабіць, гэта паставіць галачкі ў 5 зручных крокаў:
- выберыце галоўны аркуш
- выберыце ваш аркуш пошуку
- адзначце ключавыя слупкі (тыя, якія ўтрымліваюць запісы для супадзення) сцяжкамі
- выберыце слупкі для абнаўлення:
Існуе нават магчымасць захаваць усе выбраныя параметры ў сцэнары і паўторна выкарыстоўваць іх, калі вам спатрэбіцца:
Паглядзіце гэта 3-хвіліннае дэманстрацыйнае відэа, каб убачыць, як гэта працуе:
Я рэкамендую вам усталяваць Merge Sheets з крамы Google Sheets і прытрымлівацца гэтых інструкцый, каб паспрабаваць і абнавіце сваю ўласную табліцу інфармацыяй з іншага аркуша.
Электронная табліца з прыкладамі формул
Аб'яднаць аркушы Google & абнавіць дадзеныя - прыклады формул (зрабіце копію файла)