Je Excel-data migreren: hier gaat het altijd mis
De sheet importeren is een middag werk. De data erin op orde krijgen is dat niet. Wat je tegenkomt, en wat je nu al kunt opruimen.
Bij vrijwel elk project dat een spreadsheet vervangt is de bouw voorspelbaar en de datamigratie niet. Niet omdat importeren moeilijk is, dat is het niet, maar omdat een sheet dingen toestaat die een database weigert. Hieronder wat ik telkens terugzie, in volgorde van hoe vaak.
Eén kolom met drie feiten erin
"Jan de Vries - 06-12345678 - betaald 12/3". Voor een mens is dat prima leesbaar. Voor een systeem is het één tekstveld waar je niet op kunt filteren, sorteren of rekenen. Bij het overzetten moet dat uit elkaar getrokken worden, en dat lukt alleen als iedereen het op dezelfde manier heeft ingevuld. Dat is nooit zo.
Dezelfde klant, vier keer
Bakkerij de Jong, Bakkerij De Jong, Bakkerij de Jong BV en Bakkerij de Jong (oud). Een sheet heeft geen idee dat dit één bedrijf is, dus staat je omzet per klant verdeeld over vier regels. Ontdubbelen is deels automatisch te doen, maar de laatste procenten zijn een menselijke beslissing: alleen jij weet of dat filiaal in Almere dezelfde klant is of een andere.
Datums in vier notaties
12-03-2026, 3/12/26, 12 maart en een cel die er als datum uitziet maar tekst is. Die laatste categorie is de vervelendste, want die valt in Excel niet op. Zodra er twee notaties door elkaar staan, weet niemand meer of 03-04 in maart of in april valt. Dit is de reden dat migraties uitlopen: niet de import, maar de vraag welke datum bedoeld werd.
Kleur als status
Rood is spoed, geel is wacht op klant, groen is klaar. Iedereen op kantoor weet het, het staat nergens opgeschreven, en bij een export verdwijnt het volledig. Als je één ding vandaag doet: zet je kleurcodering om in een echte kolom met een woord erin. Dat helpt je nu al, en het scheelt straks een dag zoekwerk.
Wat er onder de tabel gebeurt
Onderaan de rijen staat vaak nog van alles: een totaalregel, een notitie, drie proefregels van vorig jaar en een blok dat iemand ooit heeft geplakt. Bij een import komt dat gewoon mee als klant nummer 4.312 met een lege naam. Samengevoegde cellen doen hetzelfde: die zien er netjes uit en leveren bij export lege rijen op.
Een sheet vergeeft alles. Dat is zijn kracht en precies de reden dat de migratie het lastigste deel is.
Hoe ik het aanpak
- Eerst het datamodel: wat is een klant, wat is een order, wat hangt waaronder. Pas daarna wordt er iets geïmporteerd.
- De import draait meerdere keren op een kopie, niet één keer op het echte systeem. Elke ronde levert een lijst met wat niet automatisch te plaatsen was.
- Die lijst krijg jij, niet ik. Ik kan zien dat twee klanten op elkaar lijken; alleen jij weet of het er één is.
- Wat echt onherstelbaar is, gaat mee als tekstveld en blijft leesbaar. Weggooien doen we niet, ook niet als het rommel is.
En de oude sheet blijft bestaan. Niet als werkbestand, maar als alleen-lezen kopie waar je bij kunt als er over een half jaar een vraag komt over een order uit 2024.
Wat je zelf kunt voorbereiden
Je hoeft niet op te ruimen voordat je begint, dat is mijn werk. Maar drie dingen schelen echt tijd, en dus geld: kleurcodering omzetten in een kolom, één datumnotatie afspreken, en de losse notities onder je tabel verwijderen of naar een eigen tabblad verplaatsen. De rest los ik onderweg op.
Hoe de rest van zo'n traject loopt staat op van Excel naar software. Moet je oude sheet daarna nog gevoed worden vanuit je boekhouding of andersom, dan hoort koppelingen laten maken erbij. En hoeft die sheet wat jou betreft helemaal niet weg: je hoeft Excel niet weg te doen.