Innehållsförteckning
Idag ska vi visa hur man använder formeln VLOOKUP med flera ark i Excel. En av de viktigaste och mest använda funktionerna i Excel är faktiskt VLOOKUP-funktionen Dessutom kan vi använda VBA VLOOKUP-funktionen för att leta efter specifika data i ett enskilt arbetsblad eller inom ett intervall av arbetsblad.
Idag kommer vi också att visa hur vi kan använda VLOOKUP-formler för att söka efter vissa specifika uppgifter i flera arbetsblad i Excel.
Ladda ner övningsboken
Du kan ladda ner övningsboken här:
VLOOKUP-formel med flera blad.xlsx Provtester Betyg.xlsxIntroduktion till Excel-funktionen VLOOKUP
=VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])- Denna funktion tar ett intervall av celler som kallas tabell_array som ett argument.
- Därefter söker den efter ett specifikt värde som kallas Lookup_value i den första kolumnen i tabell_array .
- Dessutom letar den efter en ungefärlig överensstämmelse om [range_lookup] argumentet är TRUE , annars söks en exakt matchning. Här är standardvärdet TRUE .
- Om den hittar någon matchning av Lookup_value i den första kolumnen i tabell_array , flyttar några steg till höger till en specifik kolumn. (col_index_number).
Sedan returneras värdet från den cellen.
Dessutom har vi bifogat ett exempel på detta. VLOOKUP Se på följande figur.
Fördelning av formler
Här används formeln VLOOKUP(G8,B4:D15,3,FALSE) sökte efter värdet av G8 cell " Angela " i första kolumnen i tabellen: B4:D15 .
Efter att ha hittat en sådan gick den direkt vidare till 3:e kolumnen (Eftersom den col_index_number är 3 .)
Därefter returnerades värdet därifrån, var 322 .
5 sätt att använda VLOOKUP-formeln i Excel med flera blad
Här har vi en arbetsbok med betyg från de skriftliga och viva-testerna för några kandidater under tre veckor i olika arbetsblad. Vecka 1 .
Därefter anges namnet på den 2:a arbetsbladet är Vecka 2 .
Slutligen anges namnet på 3:e arbetsblad som innehåller märken av Marco Group är Vecka 3 .
Vårt mål är nu att utvinna deras märken från den tre arbetsblad till det nya arbetsbladet med hjälp av VLOOKUP funktion i Excel.
1. VLOOKUP-formel för att söka på varje arbetsblad separat
Här har vi ett nytt arbetsblad som heter "Endast VLOOKUP" med namnen på alla kandidater sorterade i alfabetisk ordning (A till Z) Nu ska vi använda VLOOKUP formel för att söka i flera ark i Excel.
Först och främst ska vi söka i tre arbetsblad separat.
Här kommer vi att söka Lookup_value från ett arbetsblad till ett cellområde i ett annat arbetsblad.
Syntaxen för formeln blir:
=VLOOKUP(lookup_value,'Sheet_name'!table_array, col_index_number,FALSE)- För att söka efter Marker på Skrivet av den Kandidater för vecka 1 ange denna formel i C5 i det nya arbetsbladet:
=VLOOKUP(B5,'Vecka 1'!$B$5:$D$10,2,FALSE)
- Tryck sedan på ENTER .
Detta visar #N/A! Fel, eftersom värdet i cellen B5 i den "Endast VLOOKUP" ark, Alex Hales , finns inte i intervallet B5:D10 av lakanet "Vecka 1 " .
- Dra sedan i Handtag för fyllning ikon.
Därför ser vi bara betygen för de kandidater som deltog i Vecka 1 visas, resten visar fel.
- På samma sätt ska följande formel skrivas in i formuläret för att hitta viva-märket. D5 cell.
=VLOOKUP(B5,'Vecka 1'!$B$5:$D$10,3,FALSE)
- Tryck sedan på ENTER .
- Dra sedan i Handtag för fyllning ikonen för att tillämpa formeln i resten av cellerna.
Vi ser alltså bara betygen för de kandidater som deltog i Vecka 1 visas, resten visar fel.
Dessutom kan vi utföra en liknande uppgift för Vecka 2 och Vecka 3 Vi måste därför söka efter ett bättre tillvägagångssätt.
Meddelande: Här har vi använt en relativ cellreferens för den lookup_value (B5) , men en absolut cellreferens för table_array ($B$5:$D$10) Eftersom vi vill ha Lookup_value att öka en efter en när du drar i Handtag för fyllning ikonen, men den tabell_array förblir konstant.Läs mer: Varför returnerar VLOOKUP #N/A när det finns en matchning? (5 orsaker & lösningar)
2. Sök på flera blad med IFERROR-funktionen i Excel
Den här gången söker vi först efter en kandidat i det första arbetsbladet ( Vecka 1 ).
Om vi inte hittar honom/henne i det första arbetsbladet söker vi sedan i det andra arbetsbladet ( Vecka 2 ).
Och om vi fortfarande inte hittar honom/henne, kommer vi att söka i det tredje arbetsbladet ( Vecka 3 ).
Om vi inte hittar honom/henne, kommer vi att besluta att han/hon var frånvarande från provet.
I det föregående avsnittet såg vi, VLOOKUP returnerar N/A! Fel om den inte hittar någon matchning med Lookup_value i den tabell_array .
Den här gången kommer vi alltså att göra ett bo VLOOKUP funktioner inom IFERROR-funktionen för att hantera felen.
Syntaxen för formeln blir därför:
=IFERROR(VLOOKUP(lookup_value, "Sheet1_Name"!table_array,col_index_number,FALSE),IFERROR(VLOOKUP(lookup_value, "Sheet2_Name"!table_array,col_index_number,FALSE),IFERROR(VLOOKUP(lookup_value, "Sheet3_Name"!table_array,col_index_number,FALSE)), "Frånvarande"))))- Ange nu följande formel i C5 cellen i den "VLOOKUP & IFERROR" ark.
=IFERROR(VLOOKUP(B5,'Vecka 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'Vecka 2'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'Vecka 3'!$B$5:$D$10,2,FALSE), "Frånvarande"))))
- Tryck sedan på ENTER .
Som ett resultat av detta kommer du att se de skriftliga märkena av följande Alex Hales .
Därefter hittar vi Alex Hales viva-märken.
- Skriv ned följande formel i D5 cell.
=IFERROR(VLOOKUP(B5,'Vecka 1'!$B$5:$D$10,3,FALSE),IFERROR(VLOOKUP(B5,'Vecka 2'!$B$5:$D$10,3,FALSE),IFERROR(VLOOKUP(B5,'Vecka 3'!$B$5:$D$10,3,FALSE), "Frånvarande"))))
- Därefter trycker du på ENTER .
- Markera sedan båda cellerna C5 och D5 .
- Följaktligen kan man dra Handtag för fyllning ikonen till AutoFill motsvarande uppgifter i resten av cellerna C6:D24 .
Slutligen visas både de skriftliga och de muntliga betygen för alla kandidater.
Läs mer: VLOOKUP-exempel mellan två blad i Excel
Liknande läsningar
- VLOOKUP fungerar inte (8 orsaker & lösningar)
- Excel LOOKUP vs VLOOKUP: med 3 exempel
- Vad är en tabellmatris i VLOOKUP? (Förklaras med exempel)
- Hur man använder Nested VLOOKUP i Excel (3 kriterier)
- Använd VLOOKUP med flera kriterier i Excel (6 metoder + alternativ)
3. Använd kombinerad formel för att söka på flera blad i Excel
Egentligen är den inbäddade IFERROR och VLOOKUP formeln som vi använde tidigare är användbar, men fortfarande lite komplicerad att använda. Det finns en stor sannolikhet för att man blir förvirrad och får fel om det finns många arbetsblad.
Vi kommer alltså att skapa en annan formel med hjälp av INDIRECT , INDEX , MATCH , och COUNTIF funktioner som ser ännu mer komplexa ut, men som är relativt sett lättare att använda när det finns många arbetsblad.
- Skapa först och främst en horisontell array med namnen på alla arbetsblad. Här har vi skapat en array i F5:H5 celler.
- Infoga sedan följande formel i C5 cell.
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5)>0,0))&"'!$B$5:$D$10"),2,FALSE), "Frånvarande")
- Tryck sedan på ENTER .
Fördelning av formler
- För det första, COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5) returnerar hur många gånger värdet i cellen B5 finns inom området "Vecka 1′!B5:B10 , "Vecka 2"!B5:B10 och "Vecka 3"!B5:B10 respektive. [Här $F$5:$H$5 är namnen på arbetsbladen. INDIRECT formeln får 'Sheet_Name'!B5:B10 .]
- Utgång: {0,0,1} .
- För det andra, MATCH(TRUE,{0,0,1}>0,0) returnerar i vilket kalkylblad värdet i B5 är närvarande.
- Utgång: 3 .
- Här kom den tillbaka 3 som värdet i B5 ( Alex Hales ) finns i arbetsblad nr 3 ( Vecka 3 ).
- För det tredje, INDEX($F$5:$H$5,1,3) returnerar namnet på det arbetsblad där värdet i cellen B5 är.
- Resultat: "Vecka 3" .
- För det fjärde, INDIRECT("'"& "Vecka 3″&"'!$B$4:$D$9") returnerar det totala intervallet av celler i kalkylbladet där värdet i B5 är närvarande.
- Resultat: {"Nathan Mills",72,59; "Ruth Williamson",53,55; "Alex Hales",67,70; "Matthew Shepherd",76,45; "Christina Paul",69,75; "Ricardo Moyes",57,61}.
- Slutligen, VLOOKUP(B5,{"Nathan Mills",72,59; "Ruth Williamson",53,55; "Alex Hales",67,70; "Matthew Shepherd",76,45; "Christina Paul",69,75; "Ricardo Moyes",57,61},2,FALSE) returnerar den 2:a kolumnen i den rad från det intervall där värdet i cellen B5 matcher.
- Utgång: 67 .
- Detta är alltså det betyg för det skriftliga provet som vi letade efter.
- Och om namnet inte finns i något arbetsblad, kommer det att återge "Frånvarande" eftersom vi har bäddat in den i en IFERROR funktion.
Här kan du använda en liknande formel för att ta reda på Viva betyg för de sökande.
- Ändra alltså col_index_number från 2 till 3 och skriv formeln.
=IFERROR(VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),B5)>0,0))&"'!$B$5:$D$10"),3,FALSE), "Frånvarande")
- Tryck sedan på ENTER för att få fram resultatet.
- Dra sedan i Handtag för fyllning ikon.
Slutligen har vi fått in både de skriftliga och de muntliga betygen för alla kandidater. Dessutom har de kandidater vars namn inte har hittats markerats som frånvarande.
Läs mer: INDEX MATCH och VLOOKUP-funktionen (9 exempel)
4. VLOOKUP-formel med dynamiskt kolumnindexnummer
Hittills har vi använt följande metoder för att få fram poäng i det skriftliga provet col_index_num som 2 . och för betygsättningen av viva, 3 .
Egentligen infogar vi formlerna separat i båda kolumnerna.
När vi har flera kolumner blir det till slut ganska besvärligt att infoga formler i alla kolumner separat.
Den här gången kommer vi alltså att generera en formel så att vi kan infoga formeln i första kolumnen och dra den till alla kolumnerna med hjälp av Handtag för fyllning ikon.
Enkelt. Istället för att lägga in ett rent nummer som col_index_num , infoga KOLUMNER($C$1:D1) om formeln är i kolumn C ( För skriftliga poäng ).
Därefter kommer den att återge 2 .
Om vi sedan drar den till kolumn E blir det KOLUMNER($C$1:E1) och återge 3 Och så vidare.
- Nu ändrar vi formeln från föregående avsnitt till följande:
=IFERROR(VLOOKUP($B5,INDIRECT("'"&INDEX($F$5:$H$5,1,MATCH(TRUE,COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!B5:B10"),$B5)>0,0))&"'!$B$5:$D$10"),COLUMNS($C$1:D1),FALSE), "Frånvarande")
- Tryck sedan på ENTER .
- Därefter drar du den Handtag för fyllning ikonen till höger för att få fram Viva märken.
- Dra sedan i Handtag för fyllning ikonen nedåt.
Slutligen ser du både de skriftliga och de muntliga betygen för alla kandidater.
Meddelande: Här har vi ändrat Lookup_value från B5 till $B5 så att den förblir oförändrad när du drar till höger, men ändras när du drar nedåt.Läs mer: Excel Dynamic VLOOKUP (med 3 formler)
5. VLOOKUP-formel med kombinerade funktioner i Excel
Här kommer vi att använda en annan VLOOKUP formel i Excel med flera ark som ignorerar IFERROR funktion. Så, låt oss se stegen nedan.
Steg:
- Först måste du välja en ny cell. C5 där du vill behålla de skrivna markeringarna.
- För det andra bör du använda formeln nedan i C5 cell.
=VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!$B$5:$D$10"),B5)>0),0))&"'!$B$5:$D$10"),2,FALSE)
- För det tredje, tryck på ENTER .
- På samma sätt kan du använda följande formel i D5 cell för att få Viva-märken.
=VLOOKUP(B5,INDIRECT("'"&INDEX($F$5:$H$5,MATCH(1,--(COUNTIF(INDIRECT("'"&$F$5:$H$5&"'!$B$5:$D$10"),B5)>0),0))&"'!$B$5:$D$10"),3,FALSE)
- Tryck sedan på ENTER .
- Dra sedan i Handtag för fyllning ikon.
Slutligen kan du se både de skriftliga och de viva-märkta resultaten för alla kandidater. #N/A fel där namnen saknades i de nämnda arken.
Begränsningar av VLOOKUP-funktionen och några alternativ i Excel
- Här kan du inte använda VLOOKUP funktion när den Lookup_value inte finns i första kolumnen i tabellen. I det föregående exemplet kan du till exempel inte använda kolumnen VLOOKUP funktion för att få veta namnet på den kandidat som fått en 90 på det skriftliga provet.
- Du kan dock använda IF , IFS , INDEX MATCH , XLOOKUP , eller FILTER funktioner i Excel för att lösa detta (Här kan du besöka denna artikel ).
- Dessutom, VLOOKUP returnerar endast den första värdet om mer än ett värde matchar Lookup_value I dessa fall kan du använda FILTER för att få fram alla värden (Här kan du besöka denna artikel ).
Hur man tillämpar VLOOKUP-formeln i Excel med flera arbetsböcker
I det här avsnittet diskuterar vi hur man tillämpar VLOOKUP formel i Excel med flera arbetsböcker. Låt oss nu ha följande arbetsbok som heter Poäng från provtesterna Dessutom finns det i den arbetsboken följande tre arbetsblad också. De är Vecka 1, vecka 2 , och Vecka 3 .
Nu vill vi jämföra kandidaternas preliminära och slutliga skriftliga betyg. Först hittade vi de slutliga skriftliga betygen. Här kan du hitta dem genom att följa någon av de tidigare metoderna. Nu ska vi hämta de preliminära skriftliga betygen från en annan arbetsbok.
- Skriv ned följande formel i D5 cell.
=IFERROR(VLOOKUP(B5,'[Mock Test Marks.xlsx]Week 1'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5, '[Mock Test Marks.xlsx]Week 2'!$B$5:$D$10,2,FALSE),IFERROR(VLOOKUP(B5,'[Mock Test Marks.xlsx]Week 3'!$B$5:$D$10,2,FALSE), "Frånvarande"))))
När du använder denna formel måste du öppna båda arbetsböckerna, annars måste du använda fyllningssökväg/placering i stället för att bara använda filnamnet.
- Tryck sedan på ENTER .
- Dra sedan i Handtag för fyllning ikonen nedåt.
Slutligen visas både de slutliga och preliminära skriftliga betygen för alla kandidater.
Övningssektionen
Nu kan du själv öva på den förklarade metoden.
Slutsats
Med hjälp av dessa metoder kan du använda VLOOKUP funktion i Excel som en formel för att extrahera data från flera blad i en arbetsbok. Har du några andra frågor? Du kan gärna ställa dem till oss.