Oversat med AI fra den engelske version dateret 28. oktober 2026. Læs originalen
Lagerstyring i Google Sheets
Sådan styrer du lager i Google Sheets med en bevægelsesjournal, formler, markering af lav beholdning, beskyttelse og historik, plus de grænser, du skal planlægge efter.
Senest opdateret 28. oktober 2026
Du kan styre et pålideligt lager i Google Sheets, hvis du aldrig skriver oven i en lagermængde. Registrér hver modtagelse, udlevering, regulering og overførsel som en ny række i en bevægelsesjournal, og lad formler beregne, hvad du har på lager. Det ene designvalg giver dig beholdning pr. placering, markering af lav beholdning og en historik, du kan læse, alt sammen med indbyggede funktioner.
Denne vejledning gennemgår arkets opbygning, formlerne, datavalidering, beskyttelse, historik og de grænser i Google Sheets, der betyder noget. Den slutter med et ærligt blik på, hvor Sheets alene ikke længere slår til.
Opbyg regnearket
Brug ét regneark med tre faner. Hver fane har én opgave.
| Fane | Én række er | Du redigerer den, når |
|---|---|---|
Items | Ét produkt eller én reservedel | Du tilføjer en vare eller ændrer dens oplysninger |
Locations | Ét lager, rum, hylde eller én varevogn | Du tilføjer eller omdøber et sted |
Movements | Én ændring i beholdningen | Noget kommer ind, går ud eller flyttes |
Fanenavne og værdier i kode er dem, formlerne nedenfor bruger. Omdøber du dem, skal formlerne også ændres.
Items
| Kolonne | Overskrift | Eksempel | Bemærkninger |
|---|---|---|---|
| A | SKU | BOLT-M8-40 | Entydigt og genbruges aldrig. Formatér kolonnen som almindelig tekst |
| B | Name | M8 × 40 mm sekskantbolt | |
| C | Unit | æske | Den enhed, alle bevægelser bruger |
| D | Reorder point | 20 | Når beholdningen når dette tal, skal du genbestille |
| E | On hand | (formel) | Skrives aldrig i hånden |
| F | Status | (formel) | Reorder eller OK |
Locations
| Kolonne | Overskrift | Eksempel |
|---|---|---|
| A | Location | WH1 |
| B | Name | Hovedlager |
Movements: journalen
| Kolonne | Overskrift | Eksempel | Bemærkninger |
|---|---|---|---|
| A | Date | 2026-10-28 | En rigtig datoværdi, ikke tekst |
| B | SKU | BOLT-M8-40 | Rullemenu fra Items |
| C | Location | WH1 | Rullemenu fra Locations |
| D | Qty | -5 | Positivt tal lægger til beholdningen, negativt trækker fra |
| E | Type | Issue | Receive, Issue, Adjust eller Transfer |
| F | Reference | PO-1042 | Indkøbsordre, opgave eller optællingsliste |
| G | Entered by | Sam | Hvem der registrerede den |
| H | Note | Beskadiget under transport | Hvorfor, når det ikke er indlysende |
En overførsel er to rækker: -5 på afsenderplaceringen og +5 på modtagerplaceringen, begge med typen Transfer og samme reference. En optælling, der finder 3 færre end forventet, er én Adjust-række med -3.
Derfor er en journal, der kun tilføjes til, bedre end en mængdekolonne
Det mest almindelige lagerark har én kolonne med “Antal”, som folk skriver oven i. Det fungerer, indtil noget går galt, og så kan det ikke fortælle dig, hvad der skete.
- Et overskrevet tal har ingen historie. Hvis 40 bliver til 25, siger arket ikke, om 15 blev solgt, gik tabt eller blev talt forkert. En journalrække siger
-15,Issue,JOB-311med en dato og et navn. - To personer kan ikke sikkert redigere det samme tal. Hvis to personer hver tager 5 æsker og begge skriver 35 oven i 40, mister du en bevægelse. To tilføjede rækker med
-5giver den rigtige sum. - Fejl rettes ved at tilføje, ikke ved at slette. En forkert række rettes med en modsat række, så både fejlen og rettelsen forbliver synlige.
- Beholdningen på en given dato er kun en formel væk. Summér bevægelserne frem til den dato.
- Beholdning pr. placering får du gratis. De samme rækker giver totaler pr. vare, pr. placering eller begge dele.
Reglen for alle, der bruger arket, er enkel: tilføj rækker i Movements, og redigér eller slet aldrig gamle.
Formler til lagerbeholdning
Alle formlerne nedenfor forudsætter faner og kolonner som ovenfor, med overskrifter i række 1.
Beholdning pr. vare
I Items!E2, og fyld derefter ned:
=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2)
SUMIFS lægger alle Qty i journalen sammen, hvor SKU'en svarer til varen i den række.
Hvis du i stedet vil fylde hele kolonnen med én formel, så sæt denne i Items!E2, og lad cellerne under den være tomme:
=ARRAYFORMULA(IF(A2:A="", "", SUMIF(Movements!B:B, A2:A, Movements!D:D)))
Beholdning pr. vare og placering
For én vare på én placering, for eksempel den placering, der står i celle H1 i Items:
=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$C:$C, $H$1)
Brug QUERY til en komplet beholdningstabel på sin egen fane. Denne viser alle par af vare og placering, der har bevægelser:
=QUERY(Movements!A1:H, "select B, C, sum(D) where B is not null group by B, C label sum(D) 'On hand'", 1)
Denne gør placeringerne til kolonner med én række pr. vare:
=QUERY(Movements!A1:H, "select B, sum(D) where B is not null group by B pivot C", 1)
Beholdning på en tidligere dato
Sådan ser du, hvad der var på lager ved udgangen af en bestemt dag, for eksempel datoen i Items!H2:
=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$A:$A, "<="&$H$2)
Find negativ beholdning
En placering kan ikke rumme færre end nul. Denne viser alle par af vare og placering under nul, hvilket som regel betyder en manglende modtagelse eller en tastefejl:
=QUERY(QUERY(Movements!A1:H, "select B, C, sum(D) where B is not null group by B, C", 1), "select * where Col3 < 0", 1)
Den inderste QUERY beregner totalerne pr. placering; den yderste beholder kun de negative rækker. Et tomt resultat betyder, at ingen placering er under nul.
Markering af lav beholdning og genbestillingspunkter
En statuskolonne
I Items!F2, og fyld derefter ned:
=IF(D2="", "", IF(E2<=D2, "Reorder", "OK"))
Status er tom, når der ikke er angivet et genbestillingspunkt, så nye varer ikke giver falsk alarm.
Fremhæv de rækker, der skal genbestilles
- Markér
A2:Fpå fanenItems. - Klik på Formatér → Betinget formatering.
- Vælg Tilpasset formel er under Formatér celler, hvis.
- Indtast
=AND($D2<>"", $E2<=$D2). - Vælg en fyldfarve, og klik på Udfør.
Dollartegnene holder kolonnerne faste, mens rækken skifter, så hele rækken skifter farve. Google skriver, at formler i betinget formatering kun kan henvise til det samme ark, medmindre du bruger INDIRECT. Derfor står beholdningen og genbestillingspunktet ved siden af hinanden på fanen Items.
Du kan bruge samme funktion til at markere journalrækker, hvor fortegnet ikke passer til typen. Markér A2:H på Movements, og brug:
=OR(AND($E2="Receive", $D2<0), AND($E2="Issue", $D2>0))
Grundlæggende om genbestillingspunkter
Et genbestillingspunkt besvarer ét spørgsmål: hvor lavt kan beholdningen komme, før du skal bestille, så den nye levering når frem, før du løber tør? Grundformlen er:
Genbestillingspunkt = gennemsnitligt dagligt forbrug × leveringstid i dage + sikkerhedslager
- Gennemsnitligt dagligt forbrug kommer fra din journal.
- Leveringstid er antallet af dage fra bestilling, til varerne står på hylden.
- Sikkerhedslager er bufferen til forsinkede leverancer eller travle uger.
Tilføj tre hjælpekolonner i Items: G “Avg daily use (30 days)”, H “Lead time (days)” og I “Safety stock”. I G2:
=-SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$E:$E, "Issue", Movements!$A:$A, ">="&(TODAY()-30))/30
Minustegnet gør de negative Issue-mængder til et positivt forbrug. Angiv derefter genbestillingspunktet i D2:
=ROUNDUP(G2*H2 + I2, 0)
En vare med et forbrug på 4 æsker om dagen, 5 dages leveringstid og 10 æsker i sikkerhedslager har for eksempel et genbestillingspunkt på 4 × 5 + 10 = 30. Gennemgå leveringstider og sikkerhedslager, når leverandører eller sæsoner skifter; formlen er kun så god som de to input.
Datavalidering og rullemenuer
Rullemenuer forhindrer de tastefejl, der ødelægger SUMIFS og QUERY: en SKU med et mellemrum til sidst eller en placering, der er stavet på to måder, matcher aldrig.
Tilføj en rullemenu ud fra et område
- Markér
B2:BpåMovements. - Klik på Data → Datavalidering → Tilføj regel.
- Vælg Rullemenu (ud fra et område) under Kriterier, og indtast
Items!A2:A. - Klik på Udfør.
Gentag for C2:C med Locations!A2:A. For E2:E skal du vælge Rullemenu og tilføje punkterne Receive, Issue, Adjust og Transfer. Google tilbyder også Indsæt → Rullemenu og en Rullemenu-mulighed, når du højreklikker; de åbner alle det samme panel Regler for datavalidering.
Afvis eller advar
Som standard afviser Google Sheets en indtastning, der ikke matcher listen. Hvis du i stedet vil tillade den med en advarsel, så åbn Avancerede valgmuligheder, og vælg Vis en advarsel under Hvis dataene er ugyldige:. Lad afvisningen være slået til i en lagerjournal: en bevægelse på en ukendt SKU er næsten altid en fejl.
Tilføj også en valideringsregel på D2:D, der kun accepterer tal, og på A2:A, der kun accepterer datoer. En mængde, der er indtastet som tekst, ignoreres af SUMIFS, så beholdningen forbliver forkert, uden at nogen opdager det.
Beskyt områder, og del med omtanke
Tilladelser i Google Sheets har to lag, og begge har betydning.
- Deling bestemmer, hvem der kan åbne filen, og om de er Læser, Kommentator eller Redaktør. Du angiver det med Del, og det gælder hele filen.
- Beskyttede ark og områder indskrænker, hvad redaktører kan ændre i filen.
Beskyt det, som ingen skal skrive i
- Klik på Data → Skrivebeskyt ark og områder.
- Klik på Tilføj ark eller område.
- Vælg Område, og markér
Items!E2:F(formelkolonnerne). - Klik på Angiv tilladelser.
- Vælg Begræns, hvem der kan redigere dette område, vælg Kun dig, og klik på Udfør.
Beskyt hele fanen Locations på samme måde, hvis listen sjældent ændres. På Movements skal folk kunne tilføje rækker, så en streng beskyttelse passer ikke. Brug i stedet Vis en advarsel, når dette område redigeres på de eksisterende rækker; så bliver folk bedt om at bekræfte, før de ændrer historikken.
Vær klar over, hvad beskyttelse ikke gør. Google skriver, at beskyttelse “ikke bør bruges som en sikkerhedsforanstaltning”, og at “brugere kan udskrive, kopiere, indsætte samt importere og eksportere kopier af et beskyttet regneark”. Ejeren kan altid redigere et beskyttet område, og du kan ikke beskytte data med en adgangskode. Den trinvise vejledning står i Beskyt et ark eller område.
Del med den mest begrænsede rolle
- Giv Læser til personer, der kun skal slå beholdningen op.
- Giv kun Redaktør til personer, der registrerer bevægelser.
- Med Googles delingsindstillinger kan du forhindre redaktører i at dele filen, som beskrevet i Del filer fra Google Drev.
Versionshistorik og cellernes redigeringshistorik
Google Sheets gemmer to slags historik: versioner af hele filen og redigeringshistorikken for en enkelt celle. Du kan ikke se versionshistorikken uden tilladelse til at redigere filen.
Versionshistorik
Klik på Seneste redigering øverst til højre i regnearket for at se tidligere versioner. Vælg en version i panelet til højre for at se, hvem der ændrede hvad. Som standard skjuler Google Sheets uændrede rækker; klik på Vis uændrede rækker for at se det hele.
Du kan gendanne en version eller lave en kopi af den. Når du gendanner en version af et regneark, ryddes cellernes redigeringshistorik for ændringer foretaget før gendannelsen, så i en travl lagerfil er en kopi som regel det sikreste valg. Se Gendan en tidligere version.
Du kan navngive op til 15 versioner pr. regneark, og navngivne versioner flettes ikke. Giv en version et navn efter hver optælling, for eksempel “Optælling 2026-10-31”, så du altid kan vende tilbage til den.
Cellernes redigeringshistorik
Højreklik på en celle, og vælg Vis redigeringshistorik for at se, hvem der ændrede cellen. Google nævner ændringer, der muligvis ikke vises der:
- tilføjede eller slettede rækker og kolonner;
- ændringer af celleformatet;
- ændringer foretaget, før en tidligere version blev gendannet;
- ændringer foretaget af formler.
Det sidste punkt har betydning i et formelstyret ark: On hand-cellerne ændres via formler, så deres redigeringshistorik forklarer ikke et nyt tal. Det gør journalrækkerne. Flere detaljer står i Find ud af, hvem der ændrede en celle.
Notifikationer om redigeringer
Klik på Værktøjer → Indstillinger for notifikationer → Rediger notifikationer for at få en e-mail, når andre ændrer regnearket, enten med det samme eller som en daglig sammenfatning. Google skriver, at du kun kan konfigurere notifikationer til dig selv.
Grænser i Google Sheets, du skal planlægge efter
Det er de grænser, Google dokumenterer, kontrolleret den 28. oktober 2026. Den fulde liste, med hvad du gør tæt på hver grænse, står i Grænser i Google Sheets for lagerstyring.
| Grænse | Hvad Google dokumenterer |
|---|---|
| Celler pr. regneark | Op til 20 millioner celler eller 100 MB for regneark, der er oprettet i eller konverteret til Google Sheets (filgrænser i Drev). Google hævede den fra 10 millioner i september 2026 (Workspace Updates) |
| Personer, der redigerer på samme tid | En Google-fil kan kun redigeres aktivt på op til 100 åbne faner eller enheder på samme tid (delingsgrænser) |
| Deling | Op til 600 individuelle e-mailadresser pr. fil (delingsgrænser) |
| Navngivne versioner | Op til 15 pr. regneark (versionshistorik) |
| IMPORTRANGE | Begrænset til 10 MB modtagne data pr. anmodning; søger efter opdateringer hver time, mens dokumentet er åbent (IMPORTRANGE) |
En journal vokser med én række pr. bevægelse. Med 8 kolonner tilføjer 1.000 bevægelser om måneden 8.000 celler om måneden, hvilket er cirka 96.000 om året. De fleste små teams når aldrig cellegrænsen, men store filer bliver langsomme længe før. Arkivér afsluttede år i en separat fil, og overfør slutbeholdningen som én Adjust-række pr. vare og placering.
Når Sheets alene ikke længere slår til
Opbygningen ovenfor fungerer godt for nogle få omhyggelige personer. Når teamet vokser, begynder disse huller at koste tid eller penge.
- Samtidige redigeringer. Google Sheets viser redigeringer live, men intet forhindrer to personer i at ændre den samme række, eller nogen i at sortere journalen, mens en anden skriver. Intet kontrollerer en ændring, før den slår igennem.
- Ingen godkendelser. Enhver redaktør kan registrere en regulering på 500 enheder eller ændre et genbestillingspunkt. Der er intet trin, hvor en anden person gennemgår det først.
- Historik, der er svær at revidere. Versionshistorikken er grupperet, og revisioner kan lejlighedsvis blive flettet. Cellernes redigeringshistorik springer formelresultater, indsatte og slettede rækker og formatændringer over, og en gendannelse rydder den. Ejeren af en fil på en personlig Google-konto kan slette filens unavngivne versioner permanent. Intet beviser, at den historik, du ser, er komplet.
- Utilsigtede overskrivninger. Én indsættelse over det forkerte område eller en “fyld ned” for langt ændrer hundredvis af journalrækker på én gang. Versionshistorikken kan gendanne det, hvis nogen opdager det.
- Tilladelser gælder hele filen. En redaktør kan redigere alle faner og alle placeringer, medmindre du opbygger beskyttelser manuelt, og beskyttelse er ifølge Googles egen beskrivelse ikke en sikkerhedsforanstaltning. Du kan ikke sige “denne person registrerer kun bevægelser for nordlageret”.
- Reglerne findes kun i folks hoveder. “Redigér aldrig gamle rækker” og “angiv altid en reference” er konventioner. Arket håndhæver dem ikke.
Hvis det lyder bekendt, har du tre muligheder: acceptere risikoen, skifte til et separat lagersystem eller beholde arket og tilføje kontrol oven på det.
Sådan tilføjer LightInventory kontrol til det samme ark
LightInventory er en lagerapp bygget oven på et Google Sheets-ark, som du ejer. Den er under udvikling og endnu ikke generelt tilgængelig. Den bruger samme journaldesign som denne vejledning, og appen håndhæver reglerne ovenfor i stedet for at overlade dem til konventioner.
- Dine data bliver i dit ark. Varer, placeringer, bevægelser og ændringsloggen er faner i dit eget regneark. Hvis du holder op med at bruge LightInventory, beholder du filen.
- Hver ændring registreres. Hver ændring skrives til en
Log-fane med, hvem der foretog den, hvornår, værdien før og værdien efter. Fejl rettes med en modpost, aldrig ved at slette historik. - Manipulationssikker historik. En hashkæde med nøgle over loggen, uden dine værdier, gemmes uden for din fil og forankres eksternt, så en loggrække, der i det stille er redigeret eller slettet, ikke består kontrollen. Se revisionssporet.
- Godkendelser. Du vælger, hvilke ændringer der kræver godkendelse, for eksempel prisændringer. Godkenderen kan ikke være den person, der anmodede om ændringen.
- Roller. Ejer, Administrator, Godkender, Redaktør og Læser, med valgfri afgrænsning til placeringer for Redaktører og Læsere. Teammedlemmer arbejder i appen og føjes ikke til filen, medmindre ejeren giver dem direkte redigeringsadgang.
- Opdagelse af direkte ændringer. Hvis nogen redigerer arket direkte, opdager LightInventory ændringen og håndterer den efter din politik: bloker den, indtil en ejer godtager eller gendanner den, log den automatisk, eller send den til godkendelse.
Der er en Free-plan til 1 bruger og 1 regneark. Team koster 2,99 € pr. bruger pr. måned ved månedlig betaling eller 2,49 € ved årlig betaling, ekskl. skat. Detaljerne står under priser, og hvordan dine data og din adgang håndteres, står under sikkerhed.
Skriv dig på ventelisten
Bliv blandt de første til at prøve LightInventory. Vi sender dig en e-mail, når den tidlige adgang åbner.