Jeg har et månedligt regneark, som er baseret på tal fra den foregående måned. Jeg vil gerne importere disse værdier dynamisk i stedet for at klippe og indsætte dem. Er det muligt? Hvordan kan jeg gøre det?
IMPORTRANGE()
ser ud til at være den funktion, du ønsker.
Fra Google-regnearkets funktionsliste:
Google Regneark lader dig henvise til et andet regneark i regnearket som du er i gang med at redigere ved at bruge funktionen ImportRange. ImportRange lader dig trække en eller flere celleværdier fra et regneark til et andet. Til oprette dine egne ImportRange-formler, indtaste =importRange(regneark-nøgle, række). For sprog, hvor komma er bruges til decimaladskillelse, skal du bruge et semikolon i stedet for et komma for at at adskille argumenter i din formel.
Spreadsheet-key er en STRING, som er nøgleværdien fra regnearket URL.
Range er en STRING, der repræsenterer den rækkevidde, der repræsenterer det område af celler, du ønsker at importere, eventuelt med angivelse af arkets navn (standard er det første ark). Du kan også bruge et intervalnavn, hvis du foretrækker det.
I betragtning af at de to argumenter er STRINGs, skal du omslutte dem i anførselstegn eller henvise til celler, der har string-værdier i dem.
For eksempel:
=importrange("abcd123abcd123", "ark1!A1:C10") "abcd123abcd123" er værdien i attributten "key=" på URL'en for målregnearket og "sheet1!A1:C10" er det område, som er ønskes importeret.
=importrange(A1,B1) Celle A1 indeholder strengen ABCD123ABCD123 og celle B1 indeholder ark1!A1:C10
Bemærk: For at kunne bruge ImportRange skal du skal du være blevet tilføjet som en fremviser eller samarbejdspartner til regnearket fra som ImportRange henter dataene. Ellers får du denne fejl: "#REF! fejl: Den anmodede regnearkets nøgle, arktitel eller celle range was not found."
"key" er naturligvis den streng i URL'en for regnearket, der passer til parameteren key=
.
Jeg har lige testet det ved at oprette to regneark. I celle A1 i det første satte jeg en streng. I celle A1 i det andet satte jeg =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
, og den viste strengen fra det første regneark. (Din nøgle vil naturligvis være anderledes.)
(Formatet af funktionen kan afhænge af dit sprog. I Frankrig er formlen ikke gyldig med et komma, så du'skal erstatte det med et semikolon: =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)
NOTER:
Google sætter i øjeblikket en hård grænse på 50 "tværgående arbejdsbogsreferencer" formler" pr. regneark. Kilde: Google: [Google Docs, Sheets og Slides størrelsesgrænser] (https://support.google.com/drive/answer/37603). (h/t JJ Rohrer)(h/t JJ Rohrer)_
Det "nye" Google Spreadsheet (snart standard) fjerner 50-grænsen på 50 "tværgående referenceformler i arbejdsbøger (Google Support) (h/t Jacob Jan Tuinstra)(h/t Jacob Jan Tuinstra)_
I "new" Google Sheets bruger du også hele URL'en som nøgle (Google Support) (h/t Punchlinern)(h/t Punchlinern)_
I den nye grænseflade skal du blot kunne skrive =
i cellen, og så skal du bare gå til det andet ark og vælge den celle, du vil have. Hvis du vil gøre det manuelt, eller hvis du bruger den gamle grænseflade, kan du blot skrive =Ark1!A1
, hvor Ark1
er navnet på arket, og A1
er den celle på det ark, du er interesseret i. Dette er identisk med Microsoft Excel.
her er hvordan jeg gjorde det (reimplementeret 'importrange()'):
funktion REMOTEDATA(inKey, inRange) {var outData; var ss = SpreadsheetApp.openById(inKey);
if (ss) { outData = ss.getRange(inRange).getValues(); }
return outData; }
=SUM(REMOTEDATA("key", "SheetName!A1:A10"))
"key" er dokumentets nøgle, du finder den i "key=xyz" parameteren i dokumentets URL-adresse.
dokumentationen for 'regnearkstjenester' indeholder flere oplysninger om emnet.