Tabloya naverokê
Dersdar nîşan dide ka meriv çawa fonksiyona VLOOKUP-ê bikar tîne da ku daneyên ji pelgeya xebatê an pirtûkek din, Vlookupê di pir pelan de kopî bike, û bi dînamîk mêze bike da ku nirxan ji pelên cûda vegerîne şaneyên cihê.
Dema ku li Excel li hin agahdarî digerin, gava ku hemî dane li ser heman pelê ne rewşek kêm e. Pir caran, hûn neçar in ku li gelek pelan an jî pirtûkên xebatê yên cihêreng bigerin. Mizgîn ev e ku Microsoft Excel ji yekê zêdetir awayê kirina vê yekê peyda dike, û ya xirab ev e ku hemî rê ji formula standard VLOOKUP hinekî tevlihevtir in. Lê bi hindik bîhnfirehiyê, em ê wan fêhm bikin :)
Çawa di navbera du pelan de VLOOKUP bikin
Ji bo destpêkê, werin em dozek herî hêsan lêkolîn bikin - VLOOKUP bikar bînin daneyan ji kargehek din kopî bikin. Ew pir dişibihe formula VLOOKUP ya birêkûpêk ku li ser heman pelgeyê digere. Cûdahî ev e ku hûn navê pelê di nav argumana table_array de vedihewînin da ku hûn formula xwe bibêjin ku rêzika lêgerînê tê de ye.
Formula giştî ya VLOOKUP ji pelek din wiha ye:
VLOOKUP(nirx_lookup, Rêze!range, col_index_num, [range_lookup])Wek nimûne, em jimareyên firotanê ji rapora Çile derxînin Kurte pel. Ji bo vê yekê, em argumanên jêrîn diyar dikin:
- Nirxên_Lêgerînê di stûna A de li ser pelê Kurteyî hene, û emVLOOKUP:
VLOOKUP($A2, 'West'!$A$2:$C$6 , 2, FALSE)
Di dawiyê de, ev formula VLOOKUP ya pir standard li nirxa A2-ê di stûna yekem a rêza A2:C6 de li ser pelê Rojava digere û vedigere match ji stûna 2nd. Ew e!
Dînamîk VLOOKUP ku daneyan ji gelek pelan vegerîne hucreyên cihê
Pêşî, em diyar bikin ka peyva "dînamîk" bi rastî di vê çarçoveyê de tê çi wateyê û ev formula dê çawa be. ji yên berê cudatir e.
Heke di heman formatê de pariyên we yên mezin hebin ku li ser gelek pelên berbelav hatine dabeş kirin, dibe ku hûn bixwazin ku agahdariya ji pelên cihêreng derxin nav şaneyên cihê. Wêneyê li jêr têgehê destnîşan dike:
Berevajî formulan berê yên ku nirxek ji pelek taybetî li ser bingeha nasnameyek yekta distînin, vê carê em lê digerin ku nirxan ji çend pelan derxin. dem.
Ji bo vî karî du çareyên cuda hene. Di her du rewşan de, hûn hewce ne ku xebatek piçûk a amadekariyê bikin û di her pelê lêgerînê de rêzikên bi navên hucreyên daneyê biafirînin. Ji bo vê nimûneyê, me rêzikên jêrîn diyar kirin:
- Sales_Rojhilat - A2:B6 li ser pelê Rojhilat
- Bakur_Sales - A2: B6 li ser rûpela Bakur
- South_Sales - A2:B6 li ser pelê Başûr
- West_Sales - A2:B6 li ser pelê rojava
VLOOKUP û IF-yên hêlî
Heke hejmareke maqûl a pelên we hebin ku hûn lê bigerin, hûn dikarin fonksiyonên IF-ya hêl bi kar bînin.ji bo hilbijartina pelê li ser bingeha peyvên sereke yên di hucreyên pêşwext de (hucreyên B1 heya D1 di rewşa me de).
Bi nirxa lêgerînê ya di A2 de, formula wiha ye:
=VLOOKUP($A2, IF(B$1="east", East_Sales, IF(B$1="north", North_Sales, IF(B$1="south", South_Sales, IF(B$1="west", West_Sales)))), 2, FALSE)
Wergera bo Îngilîzî, beşa IF dixwîne:
Eger B1 Rojhilat be, li rêza bi navê East_Sales binêre; heke B1 Bakur be, li rêza bi navê Bakur_Firoş binêre; eger B1 Başûr be, li rêza bi navê South_Sales binêre; û heke B1 Rojava be, li rêza bi navê West_Sales binêre.
Rêzika ku ji hêla IF ve hatî vegerandin diçe table_array ya VLOOKUP, ku dikişîne nirxek lihevhatî ji stûna 2yemîn a li ser kaxeza têkildar.
Bikaranîna bi aqilane referansên tevlihev ji bo nirxa lêgerînê ($A2 - stûna mutleq û rêza têkildar) û ceribandina mentiqî ya IF (B$1 - stûna têkildar û rêza mutleq) destûrê dide kopîkirina formulê li ser şaneyên din bêyî ti guhertin - Excel referansan bixweber li gorî pozîsyona rêz û stûnekê eyar dike.
Ji ber vê yekê, em formula di B2 de têkevin, wê rast kopî bikin û bi qasî stûn û rêzan bi qasî ku hewce be dakêşin, û encama jêrîn bistînin:
VLOOKUPA NADIREKT
Dema ku bi gelek pelan re dixebitin, gelek astên hêlînkirî dikarin formula jî çêbikin. xwendina dirêj û dijwar. Rêyek pir çêtir ew e ku meriv navçeyek vlookupê ya dînamîkî bi alîkariya INDIRECT-ê biafirîne:
=VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)
Li vir, em referansê bi şaneya ku tê de şaneyek vedihewîne ve girêdidin.beşa yekta ya rêza binavkirî (B1) û beşa hevpar (_Sales). Ev rêzek nivîsê ya mîna "East_Sales" çêdike, ku INDIRECT vediguhere navekî rêzê ku ji hêla Excel ve tê fam kirin.
Wekî encam, hûn formulak tevlihev distînin ku li ser her hejmarek pelan xweş dixebite:
Bi vî rengî meriv di Excel de di navbera pel û pelan de Vlookup dike. Ez spasiya te dikim ji bo xwendinê û hêvî dikim ku hefteya pêş me we li ser bloga xwe bibînim!
Ji bo daxistinê pirtûka xebatê pratîk bikin
Mînakên pelên pirjimar ên Vlookup (pelê .xlsx)
serî li şaneya daneya yekem, ku A2 ye. - Table_array rêzika A2:B6 ya li ser pelê Jan e. Ji bo ku jê re bipeyivin, pêşgira referansa rêzê bi navê kaxezê ve bixin pêş: Jan!$A$2:$B$6.
Ji kerema xwe bala xwe bidin ku em rêzê bi referansên hucreyê yên teqez kilît dikin da ku nehêle ku ew were guheztin dema ku formulê li şaneyên din kopî dike.
Col_index_num 2 ye ji ber ku em dixwazin nirxek kopî bikin. ji stûna B, ku stûna 2yemîn e di rêzika tabloyê de.
- Range_lookup ji bo peydakirina lihevhatineke tam li ser FALSE hatiye danîn.
Dema ku argûmanan li hev kom bikin, em vê formulê distînin:
=VLOOKUP(A2, Jan!$A$2:$B$6, 2, FALSE)
Formulê li stûnê kaş bikin û hûn ê vê encamê bistînin:
Di bi vî rengî, hûn dikarin daneyan ji pelên Sibat û Adar bişopînin:
=VLOOKUP(A2, Feb!$A$2:$B$6, 2, FALSE)
=VLOOKUP(A2, Mar!$A$2:$B$6, 2, FALSE)
Şîret û têbinî:
- Eger navê pelê valahî an karekterên ne-alfabetîk hebe, divê ew di nav îşaretên yekane de bête girtin, wek 'Jan Sales'!$A$2:$B$6 . Ji bo bêtir agahdarî, ji kerema xwe binihêrin Meriv çawa di Excel de pelek din referans dike.
- Li şûna ku hûn navek pelek rasterast di formûlekê de binivîsin, hûn dikarin li pelgeya xebata lêgerînê veguherînin û li wir rêzê hilbijêrin. Excel dê referansek bi hevoksaziya rast bixwe bixweber têxe, ji bo kontrolkirina nav û çareserkirina pirsgirêkê ji we re tengasiyê dûr dixe.
Vlookup ji pirtûkek xebatê ya cûda
VLOOKUP di navbera dupirtûkên xebatê, navê pelê têxin nav kevokên çargoşe, li dûv navê pelê û xala derbirînê têxin.
Mînakî, ji bo lêgerîna nirxa A2 di rêza A2:B6 de li ser pelê Jan pirtûka xebatê Sales_reports.xlsx , vê formulê bikar bînin:
=VLOOKUP(A2, [Sales_reports.xlsx]Jan!$A$2:$B$6, 2, FALSE)
Ji bo hûrguliyên tevahî, ji kerema xwe VLOOKUP ji pirtûka xebatê ya din a Excel-ê bibînin.
Vlookup li seranserê gelek pelên bi IFERROR re
Gava ku hûn hewce ne ku di navbera du pelan de bêtir bigerin, çareseriya herî hêsan ev e ku hûn VLOOKUP-ê digel IFERROR-ê bikar bînin. Fikir ew e ku meriv çend fonksiyonên IFERROR hêlîn bike da ku gelek pelên xebatê yek bi yek kontrol bike: heke VLOOKUP-a yekem li ser pelê yekem hevrûyek peyda neke, di pela paşîn de bigere, û hwd.
IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), …, " Nehat dîtin "))Ji bo ku bibînin ka ev nêzîkatî li ser daneyên rast-ê çawa dixebite, em mînaka jêrîn bifikirin. Li jêr tabloya Kurte heye ku em dixwazin nav û mîqdarên maddeyan tijî bikin bi lêgerîna jimara fermanê di pelên Rojava û Rojhilat de:
Pêşî, em ê tiştan bikişînin. Ji bo vê yekê, em fermanê didin formula VLOOKUP ku li jimareya fermanê ya di A2 de li ser pelê Rojhilat bigere û nirxê ji stûna B (stûna 2yemîn di table_array A2:C6) vegerîne. Ger lihevhatinek tam neyê dîtin, wê hingê di pelika Rojava de bigerin. Ger her du Vlookup bisernekevin, vegerîne "Nê hat dîtin".
=IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 2, FALSE), "Not found"))
Ji bo vegerandina mîqdarê,bi tenê hejmara îndeksa stûnê biguherîne 3:
=IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 3, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 3, FALSE), "Not found"))
Tip. Ger hewce be, hûn dikarin ji bo fonksiyonên cihêreng ên VLOOKUP-ê tabloyên cûda diyar bikin. Di vê nimûneyê de, her du pelên lêgerînê heman hejmara rêzan hene (A2: C6), lê dibe ku pelên xebata we bi mezinahî cûda bin.
Vlookup di pirpirtûkên xebatê de
Ji bo ku di navbera du an çend pirtûkên xebatê de berhev bike, navê pirtûka xebatê têxe nav kevokên çargoşe û bide ber navê pelê. Mînakî, li vir ev e ku hûn çawa dikarin di du pelên cihêreng ( Pirtûk1 û Pirtûk2 ) de bi yek formûlekê Vlookup bikin:
=IFERROR(VLOOKUP(A2, [Book1.xlsx]East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, [Book2.xlsx]West!$A$2:$C$6, 2, FALSE),"Not found"))
Hejmara îndeksa stûnê ji gelek stûnên Vlookup re dînamîk bike
Di rewşek ku hûn hewce ne ku daneyan ji çend stûnan vegerînin, çêkirina col_index_num dînamîk dikare ji we re hinek dem xilas bike. Çend verastkirin hene ku bêne kirin:
- Ji bo argumana col_index_num , fonksiyona COLUMNS bikar bînin ku hejmara stûnên di rêzek diyarkirî de vedigerîne: COLUMNS($A$1 :B$1). (Koordînata rêzê bi rastî ne girîng e, ew dikare her rêzek be.)
- Di argumana lookup_value de, referansa stûnê bi nîşana $ ($A2) kilît bike, ji ber vê yekê ew dimîne. dema kopîkirina formulê li stûnên din tê rast kirin.
Di encamê de, hûn celebek formulek dînamîkî distînin ku nirxên lihevhatî ji stûnên cihê derdixe, li gorî ku formula li kîjan stûnê tê kopî kirin:
=IFERROR(VLOOKUP($A2, East!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), IFERROR(VLOOKUP($A2, West!$A$2:$C$6, COLUMNS($A$1:B$1), FALSE), "Not found"))
Dema ku di stûna B de tê nivîsandin, COLUMNS($A$1:B$1)dinirxîne 2 ji VLOOKUP re dibêje ku nirxek ji stûna 2yemîn a rêzika tabloyê vegerîne.
Dema ku li stûna C tê kopî kirin (ango te formula ji B2 ber bi C2 ve kişandiye), B$1 dibe C$1 ji ber ku referansa stûnê nisbî ye. Ji ber vê yekê, COLUMNS($A$1:C$1) bi 3 dinirxîne û zorê dide VLOOKUP-ê ku nirxek ji stûna 3yemîn vegerîne.
Ev formula ji bo 2 - 3 pelên lêgerînê pir baş dixebite. Ger we bêtir hebe, IFERROR-ên dubarekirî pir giran dibin. Mînaka paşîn hinekî tevlihevtir lê nêzîkatiyek pir xweşiktir destnîşan dike.
Bi INDIRECT re gelek pelan bişopînin
Rêyek din a Vlookupê di navbera pir pelên di Excel de ev e ku meriv berhevokek VLOOKUP û bikar bîne. fonksiyonên INDIRECT. Ev rêbaz piçekî amadekariyê hewce dike, lê di dawiyê de, hûn ê di her hejmarek pelên belavokê de formulek ji bo Vlookup-ê tevlihevtir hebin.
Formulek gelemperî ya Vlookup-ê li seranserê pelan weha ye:
VLOOKUP( nirxa_lêgerînê , INDIRECT("'"&INDEX( Rêpelên_gerînê , MATCH(1, --(COUNTIF(INDIRECT("'" & Rêpelên_gerînê & " '! range_lookup "), lookup_value )>0), 0)) & "'! table_array "), col_index_num , FALSE)Li ku:
- Pelên_lêgerînê - rêzeke binavkirî ku ji navên pelê lêgerînê pêk tê.
- Nirxa_lêgerînê - nirxa ku lê bigere.
- Lêgerîn_range - rêzika stûnê ya di pelên lêgerînê de ku li lêgerê bigerenirxên nirxek vegerîne.
Ji bo ku formula rast bixebite, ji kerema xwe van hişyariyên jêrîn li ber çavan bigirin:
- Ew formulek rêzek e, ku divê bi tikandina Ctrl + were temam kirin. Bişkojkên Shift + Enter bi hev re.
- Divê hemû pelên heman rêza stûnan bin .
- Çawa ku em ji bo hemî pelên lêgerê yek rêza tabloyê bikar tînin, <12 diyar bikin>herî mezintirîn rêz heke pelên we jimareyên rêzikên cihêreng hebin.
Meriv çawa formula ji bo Vlookup-ê li seranserê pelan bikar tîne
Ji bo ku di yek carê de gelek pelan bişopîne, van pêk bînin gav:
- Hemû navên pelê lêgerînê li deverek pirtûka xweya xebatê binivîsin û navê wê rêzê binivîsin ( pelên_lêgerînê di doza me de).
- li nirxa A2 ( lookup_value )
- di rêza A2:A6 ( range_lookup ) de bigerin çar pelên xebatê ( Rojhilat , Bakur , Başûr û Rojava ), û
- nirxên lihevhatî ji stûna B derdixin, ku stûna 2 ye ( col_index_num ) di navbera daneyê A2:C6 ( table_array ).
Bi argumanên jorîn, formula vî şeklî digire:
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)
Ji kerema xwe bala xwe bidin ku em her du rêzan ($A$2:$A$6 û $A$2:$C$6) bi referansên hucreyê yên mutleq kilît dikin.
Wekî ku di encamê de, me formula heye ku em jimareya fermanê di 4 pelan de bigerin û tiştê têkildar bistînin. Ger jimareyek fermanek taybetî neyê dîtin, xeletiyek #N/A wekî rêza 14-ê tê xuyang kirin:
Ji bo vegerandina mîqdarê, bi tenê 2 bi 3-yê di col_index_num de biguherînin. argumana wekî mîqdar di stûna 3yemîn a rêzika tabloyê de ne:
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE)
Heke hûn dixwazin nîşaneya çewtiya #N/A standard bi nivîsa xwe veguherînin, bipêçin. formula di nav fonksiyona IFNA de:
=IFNA(VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 3, FALSE), "Not found")
Gelek pelan di navbera pirtûkên xebatê de bişopîne
Ev formula giştî (an jî cûreyek wê) dikare were bikar anîn. di pirtûka xebatê ya cihê de de gelek pelên Vlookup bikin. Ji bo vê, navê pirtûka xebatê di hundurê INDIRECT-ê de mîna ku di formula jêrîn de tê xuyang kirin bi hev ve girêbide:
=IFNA(VLOOKUP($A2, INDIRECT("'[Book1.xlsx]" & INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'[Book1.xlsx]" & Lookup_sheets & "'!$A$2:$A$6"), $A2)>0), 0)) & "'!$A$2:$C$6"), 2, FALSE), "Not found")
Di navbera pelan de bişopînin û gelek stûnan vegerînin
Heke hûn dixwazin daneyan ji çendan derxînin stûnan, formûleyek rêza pir-hucreyî dikare wiya bi yek gavê bike. Ji bo afirandina formulek weha, ji bo argumana col_index_num domdarek rêzê peyda bikin.
Di vê nimûneyê de, em dixwazin navên tiştan (stûna B) û mîqdarên (stûna C) vegerînin. di rêza tabloyê de stûnên 2. û 3. in. Ji ber vê yekê, array pêwîst e{2,3}.
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets &"'!$A$2:$C$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), {2,3}, FALSE)
Ji bo rast binivîsin formula di gelek şaneyan de, ev e ya ku divê hûn bikin:
- Di rêza yekem de, Hemî şaneyên ku werin komkirin hilbijêrin (di mînaka me de B2:C2).
- Formulê binivîsin û Ctrl + Shift + Enter bikirtînin. Ev yek heman formulê di şaneyên hilbijartî de dike, ku dê di her stûnekê de nirxek cûda vegerîne.
- Formulê kaş bikin berbi rêzên mayî.
Ev formula çawa dixebite
Ji bo ku em mantiqê baştir fêm bikin, werin em vê formula bingehîn ji fonksiyonên kesane veqetînin:
=VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, --(COUNTIF(INDIRECT("'"& Lookup_sheets&"'!$A$2:$A$6"), $A2)>0), 0)) &"'!$A$2:$C$6"), 2, FALSE)
Ji hundurê der ve dixebite, li vir formula çi dike:
COUNTIF û INDIRECT
Bi kurtî, INDIRECT ji bo hemî pelên lêgerînê referansan çêdike, û COUNTIF bûyerên lêgerînê dihejmêre. nirxa (A2) di her pelekê de:
--(COUNTIF( INDIRECT("'"&Lookup_sheets&"'!$A$2:$A$6"), $A2)>0)
Bi hûrgulî:
Pêşî, hûn navê rêzê (Sheets_Lookup) û referansa rêzê ($A$2): $A$6), ji bo çêkirina referansek derveyî, apostrof û xala derbirînê li cîhên rast lê zêde bike, û rêzika nivîsê ya ku derketiye têxe fonksiyona INDIRECT da ku bi awayekî dînamîkî serî li pelên lêgerînê bide:
INDIRECT({"'East'!$A$2:$A$6"; "'South'!$A$2:$A$6"; "'North'!$A$2:$A$6"; "'West'!$A$2:$A$6"})
COUNTIF her şaneyek di rêza A2:A6 de li ser her pelê lêgerînê li hember nirxa A2 ya sereke kontrol dike kaxez û ji bo her pelê hejmartina maçan vedigerîne. Di daneheva me de, hejmara fermanê ya di A2 (101) de di pela Rojava de, ku di rêza 4emîn de ye, tê dîtin.rêjeyek bi navkirî, ji ber vê yekê COUNTIF vê rêzê vedigerîne:
{0;0;0;1}
Piştre, hûn her hêmanek rêzika jorîn bi 0-yê re bidin ber hev:
--({0; 0; 0; 1}>0)
Ev der dide rêzek nirxên TRUE (ji 0-ê mezintir) û FALSE (wek 0) ku hûn bi karanîna unaryek ducar (--) zorê didin 1 û 0yan, û di encamê de rêzika jêrîn digirin:
{0; 0; 0; 1}
Ev kar tedbîrek zêde ye ji bo birêvebirina rewşek dema ku pelek lêgerînê çend bûyerên nirxa lêgerînê dihewîne, di vê rewşê de COUNTIF dê jimareyek ji 1-ê mezintir vegerîne, dema ku em tenê 1 û 0-yan dixwazin di rêza dawîn (di demekê de, hûn ê çima fêm bikin).
Piştî van hemî veguherînan, formula me weha xuya dike:
VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, {0;0;0;1} , 0)) &"'!$A$2:$C$6"), 2, FALSE)
INDEX û MATCH
Di vê nuqteyê de, berhevokek INDEX MATCH ya klasîk gavan diavêje:
INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0))
Fonksiyon MATCH ku ji bo berhevdana tam hatî mîheng kirin (di argumana paşîn de 0) li nirxa 1 di rêzê de digere { 0;0;0;1} û pozîsyona xwe vedigerîne, ku ev 4 e:
INDEX(Lookup_sheets, 4)
Fonksiyon INDEX hejmara ku hatiye vegerandin bikar tîne ji hêla MATCH ve wekî argumana jimareya rêzê (row_num) vegere, û nirxa 4emîn di nav rêza binavkirî de vedigerîne Sheets_Lêgerîn , ku Rojava ye .
Ji ber vê yekê, formula bêtir kêm dike ber:
VLOOKUP($A2, INDIRECT("'"&" West "&"'!$A$2:$C$6"), 2, FALSE)
VLOOKUP û INDIRECT
Fonksiyon INDIRECT rêzika nivîsê di hundirê xwe de pêvajo dike:
INDIRECT("'"&"West"&"'!$A$2:$C$6")
Û diguherîne nav referansek ku diçe argumana table_array ya