Змест
Ці ведаеце вы, што калі вы аб'ядноўваеце 2 аркушы Google, вы можаце не толькі абнаўляць запісы ў адным слупку, але і выцягваць цэлыя звязаныя слупкі і нават неадпаведныя радкі? Сёння я пакажу вам, як гэта робіцца з дапамогай функцый VLOOKUP, INDEX/MATCH, QUERY і надбудовы Merge Sheets.
У апошні раз, калі я казаў пра аб'яднанне 2 аркушаў Google, я падзяліўся спосабамі супастаўлення & абнавіць дадзеныя. На гэты раз мы па-ранейшаму будзем абнаўляць ячэйкі, але таксама выцягнем іншыя звязаныя слупкі і неадпаведныя радкі.
Вось мая табліца пошуку. Сёння я збіраюся атрымаць з яго ўсе неабходныя даныя:
На гэты раз ён стаў большым: у яго ёсць два дадатковыя слупкі з назвамі пастаўшчыкоў і іх рэйтынгамі. Я абнаўлю слупок запасаў гэтай інфармацыяй у іншай табліцы, а таксама выцягну пастаўшчыкоў. Ну, магчыма, і рэйтынгі :)
Як звычайна, я буду выкарыстоўваць некалькі функцый і спецыяльны дадатак для працы.
Аб'яднаць аркушы Google & дадаць звязаныя слупкі з дапамогай VLOOKUP
Памятаеце Google Sheets VLOOKUP? Я выкарыстаў яе ў маім папярэднім артыкуле, каб супаставіць даныя і абнавіць некаторыя ячэйкі.
Калі гэтая функцыя па-ранейшаму вас палохае, самы час раз і назаўсёды пазнаць яе і вывучыць, таму што я збіраюся яе выкарыстоўваць сёння таксама :)
Савет. Калі вы шукаеце хуткае рашэнне, каб зэканоміць ваш час, адразу ж ідзіце на сустрэчу з Merge Sheets.
Давайце зробім кароткі рэзюмэ сінтаксісу формулы:
=VLOOKUP(ключ_пошуку, дыяпазон, індэкс, [адсартавана])- search_key - гэта тое, што вы шукаеце.
- дыяпазон - гэта тое, што вы шукаеце.
- index - гэта нумар слупка, з якога трэба вяртаць значэнне.
- [is_sorted] зусім неабавязковы і паказвае, ці адсартаваны ключавы слупок.
Парада. У нашым блогу ёсць цэлы падручнік, прысвечаны Google Sheets VLOOKUP, не саромейцеся зірнуць.
Калі я аб'яднаў два аркушы Google і проста абнавіў даныя ў слупку Stock, я выкарыстаў наступную формулу VLOOKUP:
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,2,FALSE),""))
IFERROR пераканаўся у ячэйках без супадзенняў не было памылак, і ARRAYFORMULA апрацаваў увесь слупок адначасова.
Такім чынам, якія змены мне трэба ўнесці, каб таксама выцягнуць пастаўшчыкоў у якасці новага слупка з табліцы пошуку?
Ну, паколькі гэта індэкс , які паведамляе Google Sheets VLOOKUP, з якога слупка ён павінен браць даныя, можна з упэўненасцю сказаць, што гэта той, які патрабуе налады.
Самы просты спосаб - гэта проста скапіруйце формулу ў суседні слупок і павялічце яе індэкс на адзінку (замяніце 2 на 3 ):
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,3,FALSE),""))
Аднак вам трэба будзе ўставіць адну і тую ж формулу з іншым індэксам столькі разоў, колькі дадатковых слупкоў вы хочаце атрымаць.
На шчасце, ёсць лепшая альтэрнатыва. Ён прадугледжвае стварэнне масіваў. Масівы дазваляюць аб'яднаць усе слупкі, якія вы хочаце атрымаць, у адзін індэкс.
Калі вы ствараеце масіў у Табліцах Google,вы пералічваеце значэнні або спасылкі на ячэйкі/дыяпазоны ў дужках, напрыклад. ={1, 2, 3} або ={1; 2; 3}
Размяшчэнне гэтых запісаў на аркушы залежыць ад раздзяляльніка:
- Калі вы выкарыстоўваеце кропку з коскай, лічбы будуць займаць розныя радкі ў слупку:
апошняе - менавіта тое, што вам трэба зрабіць у аргуменце індэкса Google Sheets VLOOKUP.
Паколькі я аб'ядноўваю аркушы Google, абнаўляю 2-і слупок і выцягваю 3-ці, мне трэба стварыць масіў з гэтымі слупкамі: {2, 3} :
=ArrayFormula(IFERROR(VLOOKUP($B$2:$B$10,Sheet1!$B$2:$D$10,{2,3},FALSE),""))
Такім чынам, адна формула Google Sheets VLOOKUP супастаўляе імёны, абнаўляе інфармацыю пра акцыі і дадае звязаных пастаўшчыкоў у пусты суседні слупок.
Match & аб'яднаць аркушы і дадаць слупкі з INDEX MATCH
Далей ідзе INDEX MATCH. Гэтыя дзве функцыі разам канкуруюць з VLOOKUP, паколькі яны абыходзяць яе абмежаванні пры аб'яднанні табліц Google.
Парада. Пазнаёмцеся з INDEX MATCH для Google Табліц у гэтым уроку.
Дазвольце мне пачаць з нагадвання вам пра формулу, якая проста аб'ядноўвае адзін слупок на аснове супадзенняў:
=IFERROR(INDEX(Sheet1!$C$1:$C$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
У гэтай формуле Sheet1!$C$1:$C$10 - гэта слупок са значэннямі, неабходнымі кожны раз, калі Sheet1!$B$1:$B$10 сустракае тое ж значэнне, што і ў B2 у бягучай табліцы.
Улічваючы гэтыя моманты, вам трэба Sheet1!$C$1:$C$10 змяніць, каб не толькі аб'ядноўваць табліцы і абнаўляць ячэйкі, але і дадаваць слупкі.
У адрозненне ад Google Sheets VLOOKUP, тут няма нічога асаблівага. Вы проста ўводзіце дыяпазон з усімі неабходнымі слупкамі: адзін для абнаўлення і іншыя для дадання. У маім выпадку гэта будзе Sheet1!$C$1:$D$10 :
=IFERROR(INDEX(Sheet1!$C$1:$D$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Або я магу пашырыць дыяпазон да E10 , каб дадаць 2 слупкі, а не толькі адзін:
=IFERROR(INDEX(Sheet1!$C$1:$E$10,MATCH(B2,Sheet1!$B$1:$B$10,0)),"")
Заўвага. Гэтыя дадатковыя запісы заўсёды трапляюць у суседнія слупкі. Калі гэтыя слупкі будуць мець іншыя значэнні, формула не перазапіша іх. Гэта дасць вам памылку #REF з адпаведнай падказкай:
Пасля таго, як вы ачысціце гэтыя вочкі або дадасце новыя слупкі злева ад іх, з'явяцца вынікі формулы.
Аб'яднаць аркушы Google, абнавіць ячэйкі & дадаць звязаныя слупкі — усе выкарыстоўваюць QUERY
QUERY — адна з самых магутных функцый у электронных табліцах Google. Так што нядзіўна, што я збіраюся выкарыстаць яе сёння для аб'яднання некаторых аркушаў Google, абнаўлення вочак і адначасовага дадання дадатковых слупкоў.
Гэтая функцыя адрозніваецца ад іншых тым, што адзін з яе аргументаў выкарыстоўвае камандную мову.
Парада. Калі вам цікава, як выкарыстоўваць функцыю Google Sheets QUERY, наведайце гэты пост у блогу.
Давайце ўзгадаем формулу, якая спачатку абнаўляе ячэйкі:
=IFERROR(QUERY(Sheet1!$A$2:$C$10,"select C where&QUERY!$B2:$B$10&"""),"")
Тут QUERY праглядае табліцу з неабходнымі дадзенымі ў Sheet1, супадае з ячэйкамі ў слупок B з маёй бягучай новай табліцай і зліваеццагэтыя аркушы: выцягвае даныя са слупка C для кожнага супадзення. IFERROR захоўвае вынік без памылак.
Каб дадаць дадатковыя слупкі для гэтых супадзенняў, вам трэба зрабіць 2 невялікія змены ў гэтай формуле:
- пералічыць усе абавязковыя слупкі для выбраць каманда:
…select C,D,E…
- пашырыць дыяпазон, каб выглядаць адпаведна:
…QUERY(Sheet1!$A$2:$E$10,…
Вось поўная формула:
=IFERROR(QUERY(Sheet1!$A$2:$E$10,"select C,D,E where&Sheet4!$B2:$B$10&"""),"")
Ён абнаўляе асноўны слупок і выцягвае 2 дадатковыя слупкі з табліцы пошуку ў гэту галоўную табліцу.
Як дадаць неадпаведныя радкі з выкарыстаннем FILTER + VLOOKUP
Уявіце сабе: вы аб'ядноўваеце 2 аркушы Google, абнаўляеце старую інфармацыю новай і атрымліваеце новыя слупкі з дадатковымі звязанымі значэннямі.
Што яшчэ вы маглі б рабіць, каб мець поўную карціну запісаў пад рукой?
Магчыма, дадаць неадпаведныя радкі ў канец вашай табліцы? Такім чынам, вы будзеце мець усе значэнні ў адным месцы: не толькі супадзенні з абноўленай адпаведнай інфармацыяй, але і несупадзенні, каб зрабіць іх падлікам.
Я быў прыемна здзіўлены, што Google Sheets VLOOKUP ведае, як зрабіць гэта. Пры выкарыстанні разам з функцыяй FILTER яна аб'ядноўвае аркушы Google і дадае неадпаведныя радкі.
Парада. У рэшце рэшт, я таксама пакажу, як адзін дадатковы кампанент робіць тое ж самае з адным сцяжком.
Аргументы FILTER Google Sheets даволі зразумелыя:
=FILTER(дыяпазон, умова1, [умова2, ...])- дыяпазон гэта даныя, якія вы хочаце адфільтраваць.
- умова1 - гэта aслупок або радок з крытэрам фільтрацыі.
- крытэрыі2, крытэрыі3 і г.д. зусім неабавязковыя. Выкарыстоўвайце іх, калі вам трэба выкарыстоўваць некалькі крытэраў.
Парада. Вы даведаецеся больш пра функцыю Google Sheets FILTER у гэтым паведамленні ў блогу.
Такім чынам, як гэтыя дзве функцыі спалучаюцца і аб'ядноўваюць аркушы Google? Ну, FILTER вяртае даныя на аснове крытэрыяў фільтрацыі, створаных VLOOKUP.
Паглядзіце на гэтую формулу:
=FILTER(Sheet1!$A$2:$E$10,ISERROR(VLOOKUP(Sheet1!$B$2:$B$10,$B$2:$C$10,2,FALSE)=1))
Яна скануе 2 табліцы Google на супадзенні і выцягвае не- адпаведнасць радкоў з адной табліцы ў іншую:
Дазвольце мне растлумачыць, як гэта працуе:
- ФІЛЬТР пераходзіць на ліст пошуку (табліца з усе дадзеныя — Sheet1!$A$2:$E$10 ) і выкарыстоўвае VLOOKUP, каб атрымаць правільныя радкі.
- VLOOKUP бярэ назвы элементаў са слупка B на гэтым аркушы пошуку і супастаўляе іх з імёнамі з маёй бягучай табліцы. Калі супадзенняў няма, VLOOKUP кажа пра памылку.
- ISERROR пазначае кожную памылку 1, загадваючы FILTER перанесці гэты радок на іншы аркуш.
У выніку формула выцягвае 3 дадатковыя радкі для тых ягад, якіх няма ў маёй асноўнай табліцы.
Гэта не так складана, калі вы трохі пагуляеце з гэтым метадам :)
Але калі вы гэтага не зробіце хочаце патраціць на гэта свой час, ёсць лепшы і хуткі спосаб — без адзінай функцыі і формулы.
Бясплатны спосаб супастаўлення & аб'яднаць дадзеныя — аб'яднаць аркушыon
Дадатак Merge Sheets ахоплівае ўсе 3 магчымасці пры аб'яднанні аркушаў Google:
- ён абнаўляе звязаныя ячэйкі на аснове супадзенняў
- дадае новыя слупкі для гэтых супадзенняў
- устаўляе радкі з несупадаючымі запісамі
Каб пазбегнуць блытаніны, працэс падзелены на 5 простых крокаў :
- У першых двух вы выбіраеце свае табліцы нават калі яны знаходзяцца ў розных табліцах.
- У 3d вы павінны выберыце ключавыя слупкі(ы) , якія трэба праверыць на супадзенні.
- 4-ы крок дазваляе вам наладзіць абнаўленне слупкоў новымі запісамі або дадаць з аднаго аркуша на другі:
Прайшло некалькі секунд, перш чым я мог убачыць вынік:
Усталюйце Merge Sheets з крамы Google Sheets, і вы ўбачыце, што ён апрацоўвае вялікія табліцы гэтак жа вул. Дзякуючы Merge Sheets у вас будзе больш часу на важныя справы.
Я таксама пакіну гэта 3-хвіліннае дэманстрацыйнае відэа, каб дапамагчы вам прыняць рашэнне :)
Электронная табліца з прыкладамі формул
Аб'яднаць аркушы Google, дадаць звязаныя слупкі & несупадаючыя радкі - прыклады формул (зрабіце копію гэтай табліцы)