Leter du etter måter å hente data fra et annet regneark eller arbeidsbok i Excel for å bygge tabeller, diagrammer osv.? Fortsett å lese for å lære noen raske og effektive måter.
I tillegg til å være den ledende programvaren for dataanalyse og visualisering, er Excel også et robust verktøy for databasebehandling. Den tilbyr ulike måter å samle data fra forskjellige regneark, arbeidsbøker og arbeidsbøker lagret på en server eller skylagring.
Derfor kan du lage dynamiske instrumentbord og tabeller for å få datainnsikt fra rådata. Du trenger ikke å beholde rådataene i det samme regnearket der du har datavisualiseringene dine. Arbeidsbok- og arbeidsarkreferanser gjør dette mulig.
Nedenfor finner du flere måter å hente data fra et annet ark eller arbeidsbok ved å bruke manuelle og automatiserte metoder.
Hvorfor hente data fra et annet ark i Excel
Å trekke data fra et annet regneark eller arbeidsbok er spesielt nyttig når det blir upraktisk å vedlikeholde omfattende regnearkmodeller i en enkelt arbeidsbok. Teknikken hjelper deg å:
- Du kan etablere koblinger mellom arbeidsbøker som brukes av ulike brukere eller avdelinger og inkludere relevante data i en sammendragsarbeidsbok.
- Skriv inn alle data i én eller flere kildearbeidsbøker, og lag deretter en egen rapportarbeidsbok som bruker eksterne referanser for å trekke ut de nødvendige dataene.
- Ved å bryte ned en kompleks modell i sammenkoblede arbeidsbøker, kan du jobbe med spesifikke aspekter uten å åpne alle relaterte ark.
Bruke ark- og cellereferanser
Du kan enkelt hente data fra forskjellige regneark og arbeidsbøker hvis du følger følgende konvensjon i Excel for å referere til kilden:
- Når du refererer til et regneark i samme arbeidsbok, skriv inn navnet på regnearket etterfulgt av et utropstegn. For eksempel hvis du importerer en tabell fra celleområdet
A1:B4
iArk 2
tilArk 1
, skriv inn følgende syntaks i målcellen påArk 1
.
=Ark2!A1:B4
- Hvis det er noe mellomrom i navnet på regnearket, skriv inn navnet som det er og sett det i anførselstegn. For eksempel navnet på regnearket
Ark 2
må omtales som='Ark 2'! A1:B4
. - Når du refererer til en arbeidsbok, setter du arbeidsboknavnet innenfor hakeparenteser og refererer deretter til målregnearket i den arbeidsboken som det er. For eksempel hvis du henter data fra en annen arbeidsbok
pulldata2.xlsx
tilpulldata.xlsx
, deretteruthev en destinasjonscelleog skriv inn denne syntaksen:
=[pulldata2.xlsx]Ark1!A1:B4
Hvis du bruker en datert Excel-skrivebordsapp som Excel 2007, Excel 2010 osv., må du trykkeCtrl+Skifte+Tast innå referere til et regneark eller arbeidsbok. Fordi disse referanseformlene fungerer som Excel-matriseformler.
Men hvis du bruker Excel for nettet eller Excel for Microsoft 365 desktop app, kan du ganske enkelt trykke påTast inn
nøkkel.
Hent data fra samme arbeidsbok
Finn instruksjonene nedenfor for å hente data fra et regneark i samme arbeidsbok ved å brukeINDEKSogKAMPformler. Dette eksemplet forklarer hvordan du bruker en formel med regnearkreferanser.
- I
Ark 1
, jeg fikk medarbeidernavn, lønnsplater og lønnskolonner. Jeg må importere lønnen til de ansatte fra en database med lønnstapper og faktiske lønninger innArk 2
.
- I celle
C2
, jeg skriver inn følgende formel som brukerINDEKSogKAMPå hente de riktige dataene fraArk 2
tilArk 1
:
=INDEKS(Ark2!$A$2:$A$4,MATCH(B2,Ark2!$B$2:$B$4,0))
- Nå kan jeg dra fyllhåndtaket nedkolonne Cå fylle ut lønn for andre ansatte.
Når du bruker formelen i ditt eget datasett, endre den som beskrevet nedenfor:
Ark 2!
: Endre det til det nøyaktige regnearknavnet i arbeidsboken.$A$2:$A$4
: Endre celleområdet i henhold til datasettet som trenger indeksering.B2
: Det er referansedataene ved å matche hvilken Excel som henter data fra det indekserte datasettet.$B$2:$B$4
: Dette er oppslagsverdien eller matrisen. Endre den i henhold til ditt eget datasett.
Trekk data fra en annen arbeidsbok
Når du henter data fra en annen arbeidsbok enn den du jobber med, trenger du bare å inkludere navnet i den samme formelen vist ovenfor. Nå kan det være to situasjoner. Den ene, der du har åpnet kildearbeidsboken, og den andre hvor du ikke åpnet kildearbeidsboken.
Hvis kildearbeidsboken også er åpen, bruk denne formelen:
=INDEKS([pulldata2.xlsx]Ark1!$A$2:$A$4,MATCH(B2,[pulldata2.xlsx]Ark1!$B$2:$B$4,0))
Hvis kilden Excel-filen ikke er åpen, men den er på samme datamaskin, bruk følgende formel i stedet:
=INDEX('C:\[pulldata2.xlsx]Sheet1'!$A$2:$A$4,MATCH(B2,'C:\[pulldata2.xlsx]Sheet1'!$B$2:$B$4,0))
Forskjellen i de to ovennevnte formlene er omtalen av den fullstendige plasseringen av kildearbeidsboken i den interne lagringen til PC-en.
Når du oppretter koblingen mellom to arbeidsbøker for første gang, hold begge åpne og bruk den første formelen som ikke viser adressen til Excel-kildearbeidsboken. Nå, neste gang, hvis du holder kildearbeidsboken lukket, vil Excel legge til katalogadressen i formelen hvis arbeidsboken ikke er åpen.
Trekk data ved hjelp av fyllhåndtaket
En annen enkel måte å trekke data uten noen formel i Excel er å bruke fyllhåndtaket. Anta at du ofte må kopiere et datasett fra ett regneark til det andre.
Slik kan du gjøre det med noen få klikk uten å huske noen regneark eller arbeidsbokreferanser i Excel:
- Dobbeltklikkmålcellen og skriv inn et likhetstegn (=).
- Gå nå til kilderegnearket eller arbeidsboken og marker startcellen til tabellen eller datasettet.
- TruffetTast inn.
- Excel tar deg til målregnearket og henter de valgte celledataene fra kilden.
- Bruk nå fyllhåndtaket vertikalt for å fylle ut dataene fra kilderegnearket eller arbeidsboken.
- Deretter drar du fyllhåndtaket horisontalt for å få resten av datasettet eller tabellen.
- Du kan se noen celler som inneholder nummeret0. Dette representerer de tomme cellene i kilderegnearket eller arbeidsboken.
- Bruk fyllhåndtaket igjen for å justere celleområdene horisontalt og vertikalt for å slette nuller.
Sub RemoveZeros() Dim rng As Range Dim cell As Range Set rng = ActiveSheet.UsedRange For hver celle In rng If IsNumeric(cell.Value) And cell.Value <> "" Then If cell.Value = 0 Then cell.Value = "" End If End If Next cellEnd Sub
Alternativt kan du bruke ovenståendeExcel VBA-kodefor å bli kvitt nuller.
Slik kan du raskt bruke koden ovenfor:
- Høyreklikkpå regnearkets navn.
- KlikkSe kodepå kontekstmenyen.
- Kopier og lim inn VBA-skriptet ovenfor inne i den tomme modulen.
- Klikk påLagreknapp.
- Nå, trykkAlt+F8å ta oppMakro dialogboksog kjøreFjern Zerosmakro.
Trekk data ved å bruke navngitt område
Navngitt område i Excel lar deg definere et navn for en tabell eller datasett i en arbeidsbok. Nå kan du referere til navnet i stedet for celleområdet for å hente data fra et annet regneark eller arbeidsbok. Nedenfor finner du trinnene for å opprette og koble et navngitt område for å importere data til et regneark:
- Uthev datasettet i kilderegnearket eller arbeidsboken.
- Klikk påFormlerfanen påExcel-båndmeny.
- Inne iDefinerte navnkommandoblokk, klikkDefiner navn.
- INytt navndialogboksen, skriv inn et navn du kan huske for det uthevede datasettet iNavnfelt.
- KlikkOKfor å fullføre prosessen.
=puuldata.xlsx!salg
- Gå nå til målcellen i et regneark og skriv inn formelen ovenfor.
- trykkTast innellerCtrl+Skifte+Tast innfor å hente data fra et annet ark i Excel.
Kopier data fra et annet ark
Den enkleste måten å hente data fra et annet regneark eller arbeidsbok på er kopier-lim-metoden. Imidlertid er denne metoden kanskje ikke praktisk når du trenger å trekke et stort datasett. For ikke å nevne, manuell kopiering og liming medfører risiko for menneskelige feil.
Finn nedenfor to måter å automatisere kopier-lim-prosessen i Excel for å hente data fra et kilderegneark:
Kopier data mellom regneark ved hjelp av VBA
- trykkAlt+F11å ringe tilExcel VBA Editorgrensesnitt.
- Klikk påSett innmeny og velgModul.
Sub PullDataFromSheet4ToSheet3() Dim sourceSheet As Worksheet Dim destinationSheet As Worksheet Dim sourceRange As Range Dim destinationCell As Range Set sourceSheet = ThisWorkbook.Worksheets("Sheet4") Set destinationSheet = ThisWorkbook.Worksheets("Sheet3") Sett sourceSheet.Range A1:H5") Sett destinationCell = destinationSheet.Range("A1") sourceRange.Copy destinationCellEnd Sub
- Kopier og lim denne inn i den nye modulenVBA-skript:
- Klikk påLagreog lukk VBA Editor.
- Nå, ta oppMakrodialogboksen ved å trykkeAlt+F8nøkler.
- VelgPullDataFromSheet4ToSheet3makro og trykk påLøpeknapp.
Excel vil kopiere kildedataene til målregnearket umiddelbart. Finn nedenfor hvordan du tilpasserVBA makrofor å få det til å fungere for regnearket ditt:
Ark 4
: Det er datakilden, så endre arknavnet.Ark 3
: Det er destinasjonen der Excel henter data fra kilden.A1:H5
: Dette er celleområdet til kildedataene som Excel vil kopiere. Endre den til å inkludere mer eller mindre data i henhold til kildearket.A1
: Det er den første cellen i målregnearket som Excel vil begynne å lime inn de kopierte dataene fra. Du kan endre den hvis du vil.
Kopier data mellom ark ved hjelp av Office-skript
Anta at du vil automatisere trekkdataprosessen fra ett regneark til et annet på Excel-nettappen. Siden VBA ikke fungerer der, kan du bruke Office-skript. Nedenfor finner du trinnene du bør prøve:
- Gå til målarket og klikkAutomatiserpåExcel-bånd.
- KlikkNytt skriptinne iSkriptverktøykommandoblokk.
- DeKoderedigererpanelet vises på høyre side av Excel.
function main(arbeidsbok: ExcelScript.Workbook) {let sheet3 = workbook.getWorksheet("Sheet3");let sheet4 = workbook.getWorksheet("Sheet4");la selectedSheet = ark3; // Sett Sheet3 som det valgte arket// Paste til område E1 på Sheet4 fra område E1:H5 på det valgteSheet (Sheet3)sheet4.getRange("E1").copyFrom(selectedSheet.getRange("E1:H5"), ExcelScript .RangeCopyType.all, false, false);}
- Der, kopier og lim inn Office Scripts-koden ovenfor.
- Klikk påLagre skriptfor å lagre koden.
- Nå, trykk påLøpefor å hente data fra et annet regneark i Excel automatisk.
Slik kan du tilpasse Office Scripts-koden ovenfor.
- Endre alle forekomster av
Ark 3
med det faktiske regnearknavnet til kildedataene. - På samme måte endre alle forekomster av
Ark 4
i henhold til navnet på destinasjonsregnearket. - Erstatte
"E1"
i kodeelementetsheet4.getRange("E1")
med en celleadresse som du vil begynne å lime inn kildedataene fra. - Bytt ut celleområdet
"E1:H5"
i kodeelementetselectedSheet.getRange("E1:H5")
med det faktiske kildedataområdet, som"A1:F100"
,"B2:E10"
, etc.
Office Scripts er kun tilgjengelig påMicrosoft 365abonnement Business Standard eller bedre. Du trenger også en internettforbindelse hvis du vil bruke Office Scripots i Excel for Microsoft 365 desktop app. Hvis du ser Automatiser-fanen i Excel, kan du bruke Office-skript.
Trekk data fra et annet ark ved hjelp av Power Query
Power Queryer et annet kult databasespørringsverktøy i Excel som lar deg importere data fra forskjellige regneark i samme arbeidsbok eller fra en annen arbeidsbok.
Når du henter data fra Excel-filer ved hjelp avPower Query, kan du gjøre prosessen mer effektiv ved å bruke navngitte områder. Se prosessen for opprettelse av navngitt område forklart ovenfor for å gi et navn til kildedatasettet eller tabellen.
Når du har fåttDefinert navndu trenger, følg disse trinnene:
- Gå til destinasjonsarket og klikk påDatafanen.
- Slå denHent dataknappen og velgFra Excel-arbeidsbok.
- Naviger til kildearbeidsboken og velg den iImporter datadialogboks.
- KlikkImportfor å laste innholdet i arbeidsboken iNavigatordialogboks.
- Velg det navngitte området fra panelet til venstre.
- Nå klikker du pårullegardinpilavLasteknappen og velgLast til.
- Plukke utEksisterende regnearkpåImporter datadialogboksen og klikkOK.
Excel vil umiddelbart importere det valgte navngitte området som en tabell med aktive filtre. Velg alle kolonneoverskriftene og trykkCtrl+Skifte+Lfor å deaktivere filtre.
Konklusjoner
Så nå kjenner du alle de kule og intuitive metodene for å hente data fra et annet ark i Excel. Du kan også bruke disse trinnene for å importere data fra et regneark i en annen arbeidsbok på datamaskinen.
Hvis du akkurat har startet Excel-reisen, kan du bruke ark- og cellereferansemetoden eller fyllhåndtaksmetoden. Disse er egnet for små datasett.
Hvis du er en Excel-bruker på ekspertnivå og ikke har noe imot å skrive noen få linjer med koder, bruk Excel VBA- og Office-skriptbaserte metoder. Disse lar deg automatisere hele prosessen.
Til slu*tt, hvis du trenger å transformere kildedataene til en organisert struktur før import til det aktive regnearket, bruk den Power Query-baserte metoden. Den kommer med et visuelt grensesnitt slik at du kan utføre komplekse databehandlingsaktiviteter uten å skrive koder.