Käännetty tekoälyn avulla englanninkielisestä versiosta, päivätty 28. lokakuuta 2026. Lue alkuperäinen
Varastonhallinta Google Sheetsissä
Näin hoidat varastoa Google Sheetsissä: tapahtumakirjanpito, toimivat kaavat, hälytys vähäisestä saldosta, suojaus ja historia sekä huomioitavat rajat.
Päivitetty viimeksi 28. lokakuuta 2026
Google Sheetsissä voi pitää luotettavaa varastoa, kunhan saldoa ei koskaan kirjoiteta yli. Kirjaa jokainen vastaanotto, otto, korjaus ja siirto uutena rivinä tapahtumakirjanpitoon ja anna kaavojen laskea, mitä varastossa on. Tämä yksi suunnitteluratkaisu antaa sinulle sijaintikohtaiset saldot, hälytykset vähäisestä saldosta ja luettavan historian, kaikki sisäänrakennetuilla funktioilla.
Tämä opas käy läpi taulukon rakenteen, kaavat, datan vahvistuksen, suojauksen, historian ja Google Sheetsin olennaiset rajat. Lopuksi katsotaan rehellisesti, missä kohtaa pelkkä Sheets ei enää riitä.
Suunnittele taulukko
Käytä yhtä laskentataulukkoa, jossa on kolme välilehteä. Jokaisella välilehdellä on yksi tehtävä.
| Välilehti | Yksi rivi on | Muokkaat sitä, kun |
|---|---|---|
Items | Yksi tuote tai osa | Lisäät nimikkeen tai muutat sen tietoja |
Locations | Yksi varasto, huone, hylly tai pakettiauto | Lisäät paikan tai nimeät sen uudelleen |
Movements | Yksi saldomuutos | Jotain tulee sisään, lähtee ulos tai siirtyy |
Nimikkeet (Items)
| Sarake | Otsikko | Esimerkki | Huomiot |
|---|---|---|---|
| A | SKU | BOLT-M8-40 | Yksilöllinen, ei koskaan uudelleenkäytetty. Muotoile sarake pelkäksi tekstiksi |
| B | Nimi | Kuusiokantaruuvi M8 × 40 mm | |
| C | Yksikkö | laatikko | Yksikkö, jota jokainen tapahtuma käyttää |
| D | Tilauspiste | 20 | Kun saldo laskee tähän, tilaa lisää |
| E | Saldo | (kaava) | Ei koskaan käsin kirjoitettu |
| F | Tila | (kaava) | Reorder tai OK |
Sijainnit (Locations)
| Sarake | Otsikko | Esimerkki |
|---|---|---|
| A | Sijainti | WH1 |
| B | Nimi | Päävarasto |
Tapahtumat (Movements): kirjanpito
| Sarake | Otsikko | Esimerkki | Huomiot |
|---|---|---|---|
| A | Päivämäärä | 2026-10-28 | Oikea päivämääräarvo, ei tekstiä |
| B | SKU | BOLT-M8-40 | Avattava valikko Items-välilehdeltä |
| C | Sijainti | WH1 | Avattava valikko Locations-välilehdeltä |
| D | Määrä | -5 | Positiivinen lisää saldoa, negatiivinen vähentää |
| E | Tyyppi | Issue | Receive, Issue, Adjust tai Transfer |
| F | Viite | PO-1042 | Ostotilaus, työ tai inventointilista |
| G | Kirjaaja | Sami | Kuka kirjauksen teki |
| H | Huomautus | Vaurioitui kuljetuksessa | Miksi, jos se ei ole itsestään selvää |
Siirto on kaksi riviä: -5 lähtösijainnissa ja +5 kohdesijainnissa, molemmat tyyppiä Transfer ja samalla viitteellä. Inventointi, jossa löytyy 3 kappaletta odotettua vähemmän, on yksi Adjust-rivi arvolla -3.
Miksi pelkkä lisäävä kirjanpito voittaa määräsarakkeen
Yleisimmässä varastotaulukossa on yksi ”Määrä”-sarake, jonka arvo kirjoitetaan yli. Se toimii, kunnes jokin menee pieleen, eikä se silloin kerro, mitä tapahtui.
- Ylikirjoitetulla luvulla ei ole tarinaa. Jos 40 muuttuu 25:ksi, taulukko ei kerro, myytiinkö 15, katosiko 15 vai laskettiinko väärin. Kirjanpidon rivi kertoo
-15,Issue,JOB-311, päivämäärän ja nimen kanssa. - Kaksi ihmistä ei voi turvallisesti muokata samaa lukua. Jos kaksi ihmistä ottaa kumpikin 5 laatikkoa ja molemmat kirjoittavat luvun 40 päälle 35, yksi tapahtuma katoaa. Kaksi lisättyä
-5-riviä laskevat yhteen oikein. - Virheet korjataan lisäämällä, ei pyyhkimällä. Väärä rivi korjataan vastakkaisella rivillä, joten sekä virhe että korjaus pysyvät näkyvissä.
- Minkä tahansa päivän saldo on yhden kaavan päässä. Laske yhteen tapahtumat siihen päivään asti.
- Sijaintikohtainen saldo tulee kaupan päälle. Samat rivit antavat summat nimikkeittäin, sijainneittain tai molemmittain.
Sääntö kaikille taulukon käyttäjille on yksinkertainen: lisää rivejä Movements-välilehdelle, älä koskaan muokkaa tai poista vanhoja.
Kaavat varastosaldolle
Kaikki alla olevat kaavat olettavat yllä kuvatun välilehti- ja sarakerakenteen, ja otsikot ovat rivillä 1.
Saldo nimikkeittäin
Soluun Items!E2, sitten täytä alaspäin:
=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2)
SUMIFS laskee yhteen jokaisen kirjanpidon määrän, jonka SKU vastaa kyseisen rivin nimikettä.
Jos haluat täyttää koko sarakkeen yhdellä kaavalla, kirjoita tämä soluun Items!E2 ja jätä sen alla olevat solut tyhjiksi:
=ARRAYFORMULA(IF(A2:A="", "", SUMIF(Movements!B:B, A2:A, Movements!D:D)))
Saldo nimikkeittäin ja sijainneittain
Yhden nimikkeen saldo yhdessä sijainnissa, esimerkiksi Items-välilehden soluun H1 kirjoitetussa sijainnissa:
=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$C:$C, $H$1)
Täydelliseen saldotaulukkoon omalla välilehdellään käytä funktiota QUERY. Tämä listaa jokaisen nimike- ja sijaintiparin, jolla on tapahtumia:
=QUERY(Movements!A1:H, "select B, C, sum(D) where B is not null group by B, C label sum(D) 'On hand'", 1)
Tämä muuttaa sijainnit sarakkeiksi, yksi rivi nimikettä kohden:
=QUERY(Movements!A1:H, "select B, sum(D) where B is not null group by B pivot C", 1)
Saldo menneenä päivänä
Näin näet, mitä varastossa oli tietyn päivän lopussa, esimerkiksi solun Items!H2 päivämääränä:
=SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$A:$A, "<="&$H$2)
Havaitse negatiivinen saldo
Sijainnissa ei voi olla vähemmän kuin nolla. Tämä listaa jokaisen nimike- ja sijaintiparin, jonka saldo on alle nollan, mikä tarkoittaa yleensä puuttuvaa vastaanottoa tai kirjoitusvirhettä:
=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)
Sisempi QUERY muodostaa sijaintikohtaiset summat, ulompi jättää jäljelle vain negatiiviset rivit. Tyhjä tulos tarkoittaa, ettei minkään sijainnin saldo ole alle nollan.
Hälytys vähäisestä saldosta ja tilauspisteet
Tilasarake
Soluun Items!F2, sitten täytä alaspäin:
=IF(D2="", "", IF(E2<=D2, "Reorder", "OK"))
Tila on tyhjä, kun tilauspistettä ei ole asetettu, joten uudet nimikkeet eivät aiheuta väärää hälytystä.
Korosta rivit, jotka pitää tilata
- Valitse
A2:FItems-välilehdeltä. - Valitse Muoto → Ehdollinen muotoilu.
- Valitse kohdassa Muotoile solut jos vaihtoehto Oma kaava on.
- Kirjoita
=AND($D2<>"", $E2<=$D2). - Valitse täyttöväri ja valitse Valmis.
Dollarimerkit pitävät sarakkeet paikallaan rivin vaihtuessa, joten koko rivi vaihtaa väriä. Google huomauttaa, että ehdollisen muotoilun kaavat voivat viitata vain samaan taulukkoon, ellei käytetä funktiota INDIRECT. Siksi saldo ja tilauspiste ovat vierekkäin Items-välilehdellä.
Samalla toiminnolla voit merkitä kirjanpidon rivit, joiden etumerkki ei vastaa tyyppiä. Valitse A2:H Movements-välilehdeltä ja käytä kaavaa:
=OR(AND($E2="Receive", $D2<0), AND($E2="Issue", $D2>0))
Tilauspisteen perusteet
Tilauspiste vastaa yhteen kysymykseen: kuinka alas saldo voi laskea ennen kuin on pakko tilata, jotta uusi toimitus ehtii perille ennen kuin varasto loppuu? Peruskaava on:
Tilauspiste = keskimääräinen päiväkulutus × toimitusaika päivinä + varmuusvarasto
- Keskimääräinen päiväkulutus saadaan kirjanpidostasi.
- Toimitusaika on päivien määrä tilaamisesta siihen, kun tavara on hyllyssä.
- Varmuusvarasto on puskuri hitaita toimituksia tai kiireisiä viikkoja varten.
Lisää Items-välilehdelle kolme apusaraketta: G ”Keskikulutus/pv (30 pv)”, H ”Toimitusaika (pv)” ja I ”Varmuusvarasto”. Soluun G2:
=-SUMIFS(Movements!$D:$D, Movements!$B:$B, $A2, Movements!$E:$E, "Issue", Movements!$A:$A, ">="&(TODAY()-30))/30
Miinusmerkki muuttaa negatiiviset Issue-määrät positiiviseksi kulutukseksi. Aseta sitten tilauspiste soluun D2:
=ROUNDUP(G2*H2 + I2, 0)
Esimerkiksi nimikkeellä, jota kuluu 4 laatikkoa päivässä, jonka toimitusaika on 5 päivää ja jonka varmuusvarasto on 10 laatikkoa, tilauspiste on 4 × 5 + 10 = 30. Tarkista toimitusajat ja varmuusvarasto, kun toimittajat tai sesongit vaihtuvat; kaava on vain niin hyvä kuin nämä kaksi lähtötietoa.
Datan vahvistus ja avattavat valikot
Avattavat valikot estävät kirjoitusvirheet, jotka rikkovat SUMIFS- ja QUERY-kaavat: SKU, jonka perässä on välilyönti, tai kahdella tavalla kirjoitettu sijainti ei koskaan täsmää.
Lisää avattava valikko väliltä
- Valitse
Movements-välilehdeltäB2:B. - Valitse Data → Datan vahvistus → Lisää sääntö.
- Valitse kohdassa Kriteerit vaihtoehto Avattava valikko väliltä ja kirjoita
Items!A2:A. - Valitse Valmis.
Toista sama välille C2:C välillä Locations!A2:A. Valitse välille E2:E Avattava valikko ja lisää vaihtoehdot Receive, Issue, Adjust ja Transfer. Google tarjoaa myös valinnan Lisää → Avattava valikko ja hiiren kakkospainikkeen valikossa kohdan Avattava valikko; kaikki avaavat saman datan vahvistuksen sääntöjen paneelin.
Hylkää tai varoita
Oletuksena Google Sheets hylkää syötteen, joka ei vastaa listaa. Jos haluat sallia sen varoituksen kanssa, avaa Lisäasetukset ja valitse kohdassa Jos data ei kelpaa: vaihtoehto Näytä varoitus. Pidä varastokirjanpidossa hylkäys käytössä: tapahtuma tuntemattomalle SKU:lle on lähes aina virhe.
Lisää myös vahvistussääntö välille D2:D, joka hyväksyy vain lukuja, ja välille A2:A, joka hyväksyy vain päivämääriä. SUMIFS ohittaa tekstinä kirjoitetun määrän, joten saldo jää huomaamatta vääräksi.
Suojaa alueet ja jaa harkiten
Google Sheetsin käyttöoikeuksissa on kaksi tasoa, ja molemmat ovat tärkeitä.
- Jakaminen määrää, kuka voi avata tiedoston ja onko hän katselija, kommentoija vai muokkaaja. Se asetetaan Jaa-painikkeella, ja se koskee koko tiedostoa.
- Suojatut taulukot ja välit rajaavat, mitä muokkaajat voivat muuttaa tiedoston sisällä.
Suojaa se, mihin kenenkään ei pidä kirjoittaa
- Valitse Data → Suojaa taulukot ja välit.
- Valitse Lisää taulukko tai alue.
- Valitse Väli ja valitse
Items!E2:F(kaavasarakkeet). - Valitse Aseta käyttöoikeudet.
- Valitse Rajoita, kuka voi muokata tätä väliä, valitse Vain sinä ja valitse Valmis.
Suojaa koko Locations-välilehti samalla tavalla, jos lista muuttuu harvoin. Movements-välilehdellä ihmisten on voitava lisätä rivejä, joten tiukka suojaus ei sovi. Käytä sen sijaan olemassa oleville riveille vaihtoehtoa Näytä varoitus, kun tätä väliä muokataan; se pyytää vahvistuksen ennen kuin historiaa muutetaan.
Tiedä, mitä suojaus ei tee. Googlen mukaan suojausta ”ei pidä käyttää tietoturvatoimenpiteenä”, ja ”suojatun laskentataulukon kopioita voi tulostaa, kopioida, liittää, importoida ja eksportoida”. Omistaja voi aina muokata suojattua aluetta, eikä tietoja voi suojata salasanalla. Vaiheittaiset ohjeet ovat artikkelissa Suojaa taulukko tai alue.
Jaa suppeimmalla roolilla
- Anna katselijan rooli niille, joiden tarvitsee vain tarkistaa saldo.
- Anna muokkaajan rooli vain niille, jotka kirjaavat tapahtumia.
- Google Sheetsin jakoasetuksilla voit estää muokkaajia jakamasta tiedostoa, kuten ohjeessa Tiedostojen jakaminen Google Drivesta kuvataan.
Versiohistoria ja solun muokkaushistoria
Google Sheets tallentaa kahdenlaista historiaa: koko tiedoston versiot ja yksittäisen solun muokkaushistorian. Versiohistoriaa ei näe ilman oikeutta muokata tiedostoa.
Versiohistoria
Näet aiemmat versiot valitsemalla taulukon oikeasta yläkulmasta Viimeisin muokkaus. Valitse versio oikeasta paneelista nähdäksesi, kuka muutti mitä. Google Sheets piilottaa oletuksena muuttumattomat rivit; valitse Näytä muuttumattomat rivit, niin näet kaiken.
Voit palauttaa version tai luoda siitä kopion. Laskentataulukon version palauttaminen tyhjentää solukohtaisen muokkaushistorian kaikista ennen palautusta tehdyistä muutoksista, joten vilkkaassa varastotiedostossa kopio on yleensä turvallisempi valinta. Katso Palauta aiempi versio.
Voit nimetä enintään 15 versiota laskentataulukkoa kohden, eikä nimettyjä versioita yhdistetä. Nimeä versio jokaisen inventoinnin jälkeen, esimerkiksi ”Inventointi 2026-10-31”, niin voit aina palata siihen.
Solun muokkaushistoria
Napsauta solua hiiren kakkospainikkeella ja valitse Näytä muokkaushistoria, niin näet, kuka muutti solua. Google luettelee muutoksia, jotka eivät ehkä näy siinä:
- lisätyt tai poistetut rivit ja sarakkeet
- solun muotoilun muutokset
- ennen aiemman version palauttamista tehdyt muutokset
- kaavojen aiheuttamat muutokset.
Viimeinen kohta on tärkeä kaavoihin perustuvassa taulukossa: saldosolut (On hand) muuttuvat kaavojen kautta, joten niiden muokkaushistoria ei selitä uutta lukua. Kirjanpidon rivit selittävät. Lisätietoja on artikkelissa Selvitä, kuka muutti solua.
Muokkausilmoitukset
Valitse Työkalut → Ilmoitusasetukset → Muokkaa ilmoituksia, niin saat sähköpostin, kun muut muuttavat laskentataulukkoa, joko heti tai päivittäisenä koosteena. Google huomauttaa, että voit tilata ilmoitukset ainoastaan itsellesi.
Google Sheetsin rajat, jotka kannattaa huomioida
Nämä ovat Googlen dokumentoimat rajat 28.10.2026 tarkistettuina. Täydellinen luettelo ja ohjeet siitä, mitä tehdä kunkin rajan lähellä, ovat artikkelissa Google Sheetsin rajat varastonhallinnassa.
| Raja | Mitä Google dokumentoi |
|---|---|
| Solut laskentataulukossa | Enintään 20 miljoonaa solua tai 100 Mt Google Sheetsissä luoduille tai Google Sheetsiin muunnetuille laskentataulukoille (Driven tiedostorajat). Google nosti rajaa 10 miljoonasta syyskuussa 2026 (Workspace Updates) |
| Samanaikaiset muokkaajat | Google-tiedostoa voi muokata aktiivisesti enintään 100 avoimella välilehdellä tai laitteella samanaikaisesti (jakamisen rajat) |
| Jakaminen | Enintään 600 yksittäistä sähköpostiosoitetta tiedostoa kohden (jakamisen rajat) |
| Nimetyt versiot | Enintään 15 laskentataulukkoa kohden (versiohistoria) |
| IMPORTRANGE | Enintään 10 Mt vastaanotettua dataa pyyntöä kohden; tarkistaa päivitykset tunnin välein, kun asiakirja on auki (IMPORTRANGE) |
Kirjanpito kasvaa yhdellä rivillä jokaista tapahtumaa kohden. Kun sarakkeita on 8, 1 000 tapahtumaa kuukaudessa lisää 8 000 solua kuukaudessa eli noin 96 000 solua vuodessa. Useimmat pienet tiimit eivät koskaan saavuta solurajaa, mutta suuret tiedostot hidastuvat jo paljon ennen sitä. Arkistoi päättyneet vuodet erilliseen tiedostoon ja siirrä loppusaldo eteenpäin yhtenä Adjust-rivinä nimike- ja sijaintiparia kohden.
Kun pelkkä Sheets ei enää riitä
Yllä kuvattu rakenne toimii hyvin muutamalle huolelliselle käyttäjälle. Kun tiimi kasvaa, nämä puutteet alkavat maksaa aikaa tai rahaa.
- Samanaikaiset muokkaukset. Google Sheets näyttää muokkaukset reaaliajassa, mutta mikään ei estä kahta ihmistä muuttamasta samaa riviä tai jotakuta lajittelemasta kirjanpitoa, kun toinen kirjoittaa. Mikään ei tarkista muutosta ennen kuin se tallentuu.
- Ei hyväksyntöjä. Kuka tahansa muokkaaja voi kirjata 500 yksikön korjauksen tai muuttaa tilauspistettä. Missään vaiheessa toinen henkilö ei tarkista sitä ensin.
- Historia, jota on vaikea tarkastaa. Versiohistoria on ryhmitelty, ja versiot saatetaan joskus yhdistää. Solun muokkaushistoria ohittaa kaavojen tulokset, lisätyt ja poistetut rivit sekä muotoilun muutokset, ja palautus tyhjentää sen. Henkilökohtaisen Google-tilin tiedoston omistaja voi poistaa sen nimeämättömät versiot pysyvästi. Mikään ei todista, että näkemäsi historia on täydellinen.
- Vahingossa tehdyt ylikirjoitukset. Yksi liittäminen väärälle alueelle tai liian pitkälle venytetty täyttö muuttaa kerralla satoja kirjanpidon rivejä. Versiohistoriasta sen voi palauttaa, jos joku huomaa.
- Käyttöoikeudet ovat tiedostokohtaisia. Muokkaaja voi muokata jokaista välilehteä ja jokaista sijaintia, ellet rakenna suojauksia käsin, eikä suojaus Googlen omankaan kuvauksen mukaan ole tietoturvatoimenpide. Et voi määrätä, että ”tämä henkilö kirjaa tapahtumia vain pohjoiseen varastoon”.
- Säännöt ovat ihmisten päässä. ”Älä koskaan muokkaa vanhoja rivejä” ja ”lisää aina viite” ovat käytäntöjä. Taulukko ei valvo niitä.
Jos nämä kuulostavat tutuilta, sinulla on kolme vaihtoehtoa: hyväksy riski, siirry erilliseen varastojärjestelmään tai pidä Sheets-taulukko ja lisää sen päälle hallinta.
Miten LightInventory lisää hallinnan samaan taulukkoon
LightInventory on varastosovellus, joka toimii omistamasi Google Sheets -taulukon päällä. Se on kehitysvaiheessa eikä vielä yleisesti saatavilla. Se käyttää samaa kirjanpitorakennetta kuin tämä opas, ja sovellus valvoo yllä kuvattuja sääntöjä sen sijaan, että ne jäisivät käytäntöjen varaan.
- Tietosi pysyvät taulukossasi. Nimikkeet, sijainnit, tapahtumat ja muutosloki ovat välilehtiä omassa laskentataulukossasi. Jos lopetat LightInventoryn käytön, tiedosto jää sinulle.
- Jokainen muutos kirjataan. Jokainen muutos kirjoitetaan
Log-välilehdelle: kuka sen teki, milloin, arvo ennen ja arvo jälkeen. Virheet korjataan kumoavalla merkinnällä, ei koskaan pyyhkimällä historiaa. - Historia, jonka peukalointi paljastuu. Lokin avaimella suojattu tiivisteketju ilman arvojasi tallennetaan tiedostosi ulkopuolelle ja ankkuroidaan ulkoisesti, joten salaa muokattu tai poistettu lokirivi ei läpäise tarkistusta. Katso muutoshistoria.
- Hyväksynnät. Valitset, mitkä muutokset vaativat hyväksynnän, esimerkiksi hinnanmuutokset. Tarkastaja ei voi olla sama henkilö, joka pyysi muutosta.
- Roolit. Omistaja, Järjestelmänvalvoja, Hyväksyjä, Muokkaaja ja Katselija, ja Muokkaajille ja Katselijoille voi valinnaisesti rajata sijainnit. Tiimin jäsenet työskentelevät sovelluksessa, eikä heitä lisätä tiedostoon, ellei omistaja anna heille suoraa muokkausoikeutta.
- Suorien muokkausten havaitseminen. Jos joku muokkaa taulukkoa suoraan, LightInventory havaitsee muutoksen ja käsittelee sen käytäntösi mukaan: estää sen, kunnes omistaja hyväksyy sen tai palauttaa aiemman tilan, kirjaa sen automaattisesti tai lähettää sen hyväksyttäväksi.
Free-paketti on yhdelle käyttäjälle ja yhdelle laskentataulukolle. Team maksaa 2,99 € käyttäjältä kuukaudessa kuukausilaskutuksella tai 2,49 € vuosilaskutuksella, hinnat ilman veroja. Lisätiedot ovat hinnoittelusivulla, ja tietojesi ja käyttöoikeuksien käsittely on kuvattu tietoturvasivulla.
Liity jonotuslistalle
Ole ensimmäisten joukossa kokeilemassa LightInventorya. Lähetämme sinulle sähköpostia, kun ennakkokäyttö avautuu.