Edukien taula
Tutorialak VLOOKUP funtzioa beste lan-orri edo lan-liburu bateko datuak kopiatzeko, Vlookup orri anitzetan nola erabili erakusten du, eta dinamikoki bilatzeko orri ezberdinetako balioak gelaxka ezberdinetara itzultzeko.
Excel-en informazio batzuk bilatzean, kasu arraroa da datu guztiak orri berean daudenean. Sarritan, orri askotan edo lan-liburu ezberdinetan bilatu beharko duzu. Albiste ona da Microsoft Excel-ek hori egiteko modu bat baino gehiago eskaintzen duela, eta albiste txarra da modu guztiak VLOOKUP formula estandarra baino pixka bat konplikatuagoak direla. Baina pazientzia pixka batekin, asmatuko ditugu :)
Nola egin VLOOKUP bi orrien artean
Hasteko, iker dezagun kasurik errazena: VLOOKUP erabiliz. kopiatu beste lan-orri bateko datuak. Lan-orri berean bilatzen duen VLOOKUP formula arrunt baten oso antzekoa da. Desberdintasuna da orriaren izena table_array argumentuan sartzen duzula zure formula zein lan-orritan dagoen bilaketa-barrutia esateko.
BILAKETAren formula generikoa beste orri batetik honako hau da:
VLOOKUP(lookup_value, Hori!barrutia, col_index_num, [barrutia_lookup])Adibide gisa, atera ditzagun urtarrila txosteneko salmenta-zifrak Laburpenera fitxa. Horretarako, argumentu hauek definitzen ditugu:
- Bilaketa_balioak Laburpena orriko A zutabean daude, etaVLOOKUP:
VLOOKUP($A2, 'West'!$A$2:$C$6 , 2, FALSE)
Azkenik, VLOOKUP formula oso estandar honek A2 balioa bilatzen du A2:C6 barrutiaren lehen zutabean Mendebaldea orriko eta bat itzultzen du. 2. zutabeko partida. Hori da!
VLOOKUP dinamikoa orri anitzetako datuak gelaxka ezberdinetara itzultzeko
Hasteko, defini dezagun zehazki zer esan nahi duen "dinamiko" hitzak testuinguru honetan eta nola izango den formula. aurrekoetatik desberdina.
Formatu berean hainbat kalkulu-orritan banatuta dauden datu-puska handiak badituzu, baliteke orri ezberdinetako informazioa gelaxka desberdinetara ateratzea. Beheko irudiak kontzeptua ilustratzen du:
Aurreko formulek ez bezala, identifikatzaile esklusibo batean oinarritutako orri zehatz batetik balio bat berreskuratzen zuten, oraingoan hainbat orritatik aldi berean balioak atera nahi ditugu. denbora.
Zeregin honetarako bi irtenbide ezberdin daude. Bi kasuetan, prestaketa lan txiki bat egin behar duzu eta bilaketa-orri bakoitzean datu-gelaxketarako izen-barrutiak sortu behar dituzu. Adibide honetarako, honako barruti hauek definitu ditugu:
- Ekialdeko_Salmentak - A2:B6 Ekialdeko fitxan
- Iparraldeko_Salmentak - A2: B6 Iparraldeko fitxan
- Hego_Salmentak - A2:B6 Hegoaldeko fitxan
- Mendebaldeko_Salmentak - A2:B6 Mendebaldeko fitxan
VLOOKUP eta IF habiaratuak
Bilatzeko arrazoizko orri kopuru bat baduzu, IF funtzio habiaratuak erabil ditzakezuaurrez zehaztutako gelaxketako gako-hitzetan oinarritutako orria hautatzeko (B1-tik D1-eko gelaxkak gure kasuan).
A2-ko bilaketa-balioarekin, formula hau da:
=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)
Ingelesera itzulita, IF zatiak honela dio:
B1 Ekialdea bada, begiratu Ekialdeko_Sales izeneko barrutian; B1 Iparraldea bada, begiratu Iparraldea_Salmentak izeneko barrutian; B1 Hegoaldea bada, begiratu Hego_Salmentak izeneko barrutian; eta B1 West bada, begiratu West_Sales izeneko barrutian.
IF-ek itzultzen duen barrutia VLOOKUP-eko table_array -ra doa, eta horrek ateratzen du. dagokion orriko 2. zutabetik datorren balio bat.
Bilaketa-baliorako erreferentzia mistoen erabilera burutsua ($A2 - zutabe absolutua eta errenkada erlatiboa) eta IF-ren proba logikoa (B$1 - zutabe erlatiboa) eta errenkada absolutua) formula beste gelaxka batzuetara kopiatzeko aukera ematen du inolako aldaketarik gabe - Excel-ek errenkada eta zutabe baten posizio erlatiboaren arabera doitzen ditu automatikoki erreferentziak.
Beraz, formula B2n sartzen dugu, eskuinera kopiatu eta behar adina zutabe eta errenkadara arte, eta lortu emaitza hau:
VLOOKUP ZEHARKOAK
Orri askorekin lan egitean, habiaratutako hainbat mailak formula ere egin dezake. luzea eta irakurtzeko zaila. Modu hobeago bat vlookup barruti dinamikoa sortzea da ZEHARKAREN laguntzarekin:
=VLOOKUP($A2, INDIRECT(B$1&"_Sales"), 2, FALSE)
Hemen, erreferentzia bat duen gelaxkarekin kateatzen dugu.izendatutako barrutiaren zati bakarra (B1) eta zati komuna (_Sales). Honek "East_Sales" bezalako testu-kate bat sortzen du, zeina ZEHARKOAK Excel-ek uler daitekeen barrutiaren izenera bihurtzen du.
Ondorioz, edozein orritan ederki funtzionatzen duen formula trinko bat lortzen duzu:
Horrela da Excel-en orrien eta fitxategien artean Vbilatzea. Eskerrik asko irakurtzeagatik eta datorren astean gure blogean ikustea espero dut!
Lan itzazu deskargatzeko lan-koadernoa
Bilatu hainbat orrien adibideak (.xlsx fitxategia)
erreferentzia lehen datu-gelaxkara, hau da, A2. - Taula_matrizea Jan-orriko A2:B6 barrutia da. Horri erreferentzia egiteko, jarri barrutiaren erreferentzia orriaren izena eta ondoren harridura-puntua: Jan!$A$2:$B$6.
Kontuz barrutia blokeatzen dugula gelaxka-erreferentzia absolutuekin, formula beste gelaxka batzuetara kopiatzerakoan alda ez dadin.
Col_index_num 2 da balio bat kopiatu nahi dugulako. B zutabetik, hau da, taula-matrizeko 2. zutabea.
- Barrutia_lookup FALSE gisa ezartzen da bat-etortze zehatz bat bilatzeko.
Argumentuak elkartuz, formula hau lortuko dugu:
=VLOOKUP(A2, Jan!$A$2:$B$6, 2, FALSE)
Arrastatu formula zutabean behera eta emaitza hau lortuko duzu:
Beste batean antzera, Otsaila eta Mar orrietako datuak bilatu ditzakezu:
=VLOOKUP(A2, Feb!$A$2:$B$6, 2, FALSE)
=VLOOKUP(A2, Mar!$A$2:$B$6, 2, FALSE)
Aholkuak eta oharrak:
- Orriaren izenak hutsuneak edo alfabetikoak ez diren karaktereak baditu, komatxo bakarren artean sartu behar da,
'Urtarrileko salmentak'!$A$2:$B$6 . Informazio gehiago lortzeko, ikus Nola egin beste orri bat Excel-en erreferentzia. - Formula batean orri-izena zuzenean idatzi beharrean, bilaketa-orrira alda dezakezu eta hor barrutia hauta dezakezu. Excel-ek automatikoki sintaxi zuzena duen erreferentzia bat txertatuko du, izena egiaztatzeko eta arazoak konpontzeko arazoak ez dizkizu.
Bilaketa beste lan-liburu batetik
Bi artean VLOOKUP.lan-liburuetan, sartu kortxeteen artean fitxategiaren izena, ondoren orriaren izena eta harridura-puntua.
Adibidez, Jan orrian A2:B6 barrutian A2 balioa bilatzeko. Sales_reports.xlsx lan-liburuan, erabili formula hau:
=VLOOKUP(A2, [Sales_reports.xlsx]Jan!$A$2:$B$6, 2, FALSE)
Xehetasun osoetarako, ikusi Excel-eko beste lan-liburu bateko VLOOKUP.
Blookup zehar. IFERROR-arekin hainbat orri
Bi orri baino gehiagoren artean bilatu behar duzunean, irtenbiderik errazena VLOOKUP erabiltzea da IFERROR-ekin batera. Ideia IFERROR funtzioak habiatzea da, lan-orri bat baino gehiago banan-banan egiaztatzeko: lehenengo VLOOKUP-ak ez badu bat etortzerik aurkitzen lehen orrian, bilatu hurrengo orrian, eta abar.
IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), …, " Ez da aurkitu "))Ikuspegi honek bizitza errealeko datuetan nola funtzionatzen duen ikusteko, har dezagun hurrengo adibidea. Jarraian, Mendebaldea eta Ekialdea orrietan eskaera-zenbakia bilatuz elementuen izenekin eta zenbatekoekin bete nahi dugun Laburpena taula dago:
Lehenik eta behin, elementuak aterako ditugu. Horretarako, VLOOKUP formulari aginduko diogu Ekialdea orrian A2-ko ordena-zenbakia bilatzeko eta B zutabeko balioa itzultzeko ( table_array A2:C6ko 2. zutabea). Bat-etortze zehatzik aurkitzen ez bada, bilatu Mendebaldea fitxan. Bi Vlookupek huts egiten badute, itzuli "Ez da aurkitu".
=IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 2, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 2, FALSE), "Not found"))
Kopurua itzultzeko,aldatu besterik ez zutabearen indize-zenbakia 3ra:
=IFERROR(VLOOKUP(A2, East!$A$2:$C$6, 3, FALSE), IFERROR(VLOOKUP(A2, West!$A$2:$C$6, 3, FALSE), "Not found"))
Aholkua. Beharrezkoa izanez gero, taula-matrize desberdinak zehaztu ditzakezu VLOOKUP funtzio desberdinetarako. Adibide honetan, bi bilaketa-orriek errenkada kopuru bera dute (A2: C6), baina zure lan-orriek tamaina desberdina izan dezakete.
Bilaketa hainbat lan-liburutan
Bi lan-liburu edo gehiagoren artean Vbilaketa egiteko, sartu lan-liburuaren izena kortxete artean eta jarri orri-izena baino lehen. Adibidez, hona hemen bi fitxategi desberdinetan ( Liburua1 eta Liburua2 ) nola bilatu dezakezun formula bakar batekin:
=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"))
Ezar ezazu zutabe indize-zenbakia dinamikoa Vlookup hainbat zutabetan
Hainbat zutabetako datuak itzuli behar dituzunean, col_index_num dinamikoa egiteak denbora pixka bat aurreztuko dizu. Doikuntza pare bat egin behar dira:
- col_index_num argumenturako, erabili zehaztutako matrize bateko zutabe kopurua itzultzen duen COLUMNS funtzioa: COLUMNS($A$1 : B$ 1). (Errenkadaren koordenatuak ez du benetan axola, edozein errenkada izan daiteke.)
- lookup_value argumentuan, blokeatu zutabe-erreferentzia $ zeinuarekin ($A2), horrela geratzen da. formula beste zutabe batzuetan kopiatzean konpondu da.
Ondorioz, zutabe ezberdinetatik bat datozen balioak ateratzen dituen formula dinamiko moduko bat lortzen duzu, formula zein zutabetara kopiatzen den arabera:
=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"))
B zutabean sartzen direnean, ZUTABEAK($A$1:B$1)2 balioesten du VLOOKUP taula-matrizeko 2. zutabetik balio bat itzultzeko esanez.
C zutabean kopiatzen denean (hau da, formula B2tik C2ra arrastatu duzu), B$1 C$1era aldatzen da. zutabearen erreferentzia erlatiboa da. Ondorioz, COLUMNS($A$1:C$1) 3 balioesten du VLOOKUP 3. zutabeko balio bat itzultzera behartuz.
Formula honek ondo funtzionatzen du 2-3 bilaketa-orrietarako. Gehiago badituzu, IFERROR errepikakorrak astunegiak bihurtzen dira. Hurrengo adibideak ikuspegi apur bat korapilatsuagoa baina askoz dotoreagoa erakusten du.
Bilaketa ZEHARKAKO hainbat orrirekin
Excel-en hainbat orriren artean Vlookup beste modu bat VLOOKUP eta konbinazio bat erabiltzea da. ZEHARKAKO funtzioak. Metodo honek prestaketa apur bat behar du, baina, azkenean, Vlookup formula trinkoagoa izango duzu edozein kalkulu-orritan.
Orrietan zehar Vlookup formula generiko bat honako hau da:
VLOOKUP(<" '! lookup_range "), lookup_value )>0), 0)) & "'! table_array "), col_index_num , GEZURRA)Non:
- Bilaketa_orriak - bilaketa-orrien izenez osatutako sorta izendatua.
- Bilaketa_balioa - bilatu beharreko balioa.
- Bilaketa_barrutia - bilaketa-orrietako zutabe-barrutia non bilatu behar den.balioa.
- Taula_matrizea - bilaketa-orrietako datu-barrutia.
- Col_index_num - taula-matrizeko zutabearen zenbakia zein den. balio bat itzuli.
Formulak behar bezala funtziona dezan, kontuan izan honako ohar hauek:
- Matrize-formula bat da, Ctrl + sakatuz osatu behar dena. Shift + Sartu teklak batera.
- Orri guztiek zutabeen ordena bera izan behar dute.
- Bilaketa-orri guztietarako taula-matrize bat erabiltzen dugunez, zehaztu barruti handiena zure orriak errenkada-kopuru desberdinak baditu.
Nola erabili formula orrietan zehar Vbilatzeko
Orrialde bat baino gehiago Vbilatzeko, egin hauek urratsak:
- Idatzi bilaketa-orrien izen guztiak nonbait zure lan-liburuan eta izendatu barruti horri ( Bilaketa_orriak gure kasuan).
- A2 balioa bilatzen ( lookup_value )
- A2:A6 ( lookup_range ) barrutian. lau lan-orri ( Ekialdea , Iparraldea , Hegoaldea eta Mendebaldea ), eta
- B zutabetik bat datozen balioak atera, hau da, 2. zutabea ( col_index_num ) datu-barrutian A2:C6 ( table_array ).
Goiko argumentuekin, formulak forma hau hartzen du:
=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)
Kontuan izan bi barrutiak ($A$2:$A$6 eta $A$2:$C$6) gelaxka-erreferentzia absolutuekin blokeatzen ditugula.
Ez. emaitza, eskaera-zenbakia 4 orritan bilatzeko eta dagokion elementua berreskuratzeko formula lortu dugu. Eskaera-zenbaki zehatz bat aurkitzen ez bada, #N/A errore bat bistaratzen da 14. errenkadan bezala:
Kopurua itzultzeko, ordezkatu 2 3-rekin col_index_num. argumentua zenbatekoak taula-matrizeko 3. zutabean daudenez:
=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)
#N/A errore-nota estandarra zure testuarekin ordeztu nahi baduzu, bildu formula IFNA funtzioan:
=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")
Bilatu hainbat orri lan-liburuen artean
Formula generiko hau (edo bere edozein aldaera) ere erabil daiteke. Vlookup hainbat orri beste lan-koadernoa batean. Horretarako, kateatu lan-liburuaren izena ZEHARKAKO barruan beheko formulan agertzen den bezala:
=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")
Bilatu orrien artean eta itzuli hainbat zutabe
Hainbat datuak atera nahi badituzu. zutabeak, gelaxka anitzeko matrizearen formula batek egin dezake hori. Formula hori sortzeko, eman matrize-konstante bat col_index_num argumenturako.
Adibide honetan, elementuen izenak (B zutabea) eta zenbatekoak (C zutabea) itzuli nahi ditugu. taula-matrizeko 2. eta 3. zutabeak dira, hurrenez hurren. Beraz, beharrezko array da{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)
Formula gelaxka anitzetan behar bezala sartzeko, hau da egin behar duzuna:
- Lehenengo lerroan, hautatu bete beharreko gelaxka guztiak (B2:C2 gure adibidean).
- Idatzi formula eta sakatu Ctrl + Shift + Sartu . Honek formula bera sartzen du hautatutako gelaxketan, eta zutabe bakoitzean balio ezberdin bat itzuliko da.
- Arrastatu behera formula gainerako errenkadetara.
Formula honek nola funtzionatzen duen
Logika hobeto ulertzeko, zati dezagun oinarrizko formula hau banakako funtzioetan:
=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)
Barrutik lan eginda, hona hemen formulak zer egiten duen:
COUNTIF eta INDIRECT
Laburbilduz, INDIRECT-ek bilaketa-orri guztien erreferentziak eraikitzen ditu eta COUNTIF bilaketaren agerraldiak zenbatzen ditu. balioa (A2) orri bakoitzean:
--(COUNTIF( INDIRECT("'"&Lookup_sheets&"'!$A$2:$A$6"), $A2)>0)
Xehetasun gehiagorekin:
Lehenik eta behin, barrutiaren izena (Lookup_sheets) eta barrutiaren erreferentzia ($A$2): $A$6), apostrofoak eta harridura-puntua gehituz kanpoko erreferentzia bat egiteko, eta ondoriozko testu-katea ZEHARKAKO funtziora elikatu bilaketa-orrietara dinamikoki erreferentzia egiteko:
INDIRECT({"'East'!$A$2:$A$6"; "'South'!$A$2:$A$6"; "'North'!$A$2:$A$6"; "'West'!$A$2:$A$6"})
COUNTIF A2:A6 barrutiko gelaxka bakoitza bilaketa-orri bakoitzeko A2 balioarekin egiaztatzen du. orria eta fitxa bakoitzeko partida kopurua itzultzen du. Gure datu multzoan, A2 (101) ordena-zenbakia Mendebaldea orrian dago, hau da, 4.izendatutako barrutia, beraz COUNTIF matrize hau itzultzen du:
{0;0;0;1}
Ondoren, goiko arrayko elementu bakoitza 0rekin konparatzen duzu:
--({0; 0; 0; 1}>0)
Honek ematen du EGIA (0 baino handiagoa) eta GEZURRA (0ren berdina) balioen matrizea, 1 eta 0etara behartzen duzun unario bikoitza (--) erabiliz, eta emaitza gisa honako array hau lortzen da:
{0; 0; 0; 1}
Eragiketa hau beste neurri bat da bilaketa-orri batek bilaketa-balioaren hainbat agerraldi dituen egoera bat kudeatzeko, kasu horretan COUNTIF 1 baino handiagoa den zenbaketa bat itzuliko luke, 1 eta 0 bakarrik nahi ditugun bitartean. azken array (une batean, ulertuko duzu zergatik).
Eraldaketa hauen guztien ondoren, gure formula honela ikusten da:
VLOOKUP($A2, INDIRECT("'"&INDEX(Lookup_sheets, MATCH(1, {0;0;0;1} , 0)) &"'!$A$2:$C$6"), 2, FALSE)
INDEX eta MATCH
Une honetan, INDEX MATCH konbinazio klasiko batek urrats hauek egiten ditu:
INDEX(Lookup_sheets, MATCH(1, {0;0;0;1}, 0))
Etorkizun zehatzerako konfiguratutako MATCH funtzioak (0 azken argumentuan) 1 balioa bilatzen du matrizean { 0;0;0;1} eta bere posizioa itzultzen du, hau da, 4:
INDEX(Lookup_sheets, 4)
INDEX funtzioak itzulitako zenbakia erabiltzen du MATCH arabera errenkada-zenbakiaren argumentu gisa (errenkada_zenbakia), eta Bilaketa_orriak izeneko barrutian 4. balioa itzultzen du, hau da, Mendebaldea .
Beraz, formula gehiago murrizten da. Hona:
VLOOKUP($A2, INDIRECT("'"&" West "&"'!$A$2:$C$6"), 2, FALSE)
VLOOKUP eta ZEHARKOAK
ZEHARKAKO funtzioak barruan dagoen testu-katea prozesatzen du:
INDIRECT("'"&"West"&"'!$A$2:$C$6")
Eta bihurtzen du table_array argumentura doan erreferentzia batean