Artikel Beställa

Flytta in det gamla Excel-arket i appen: beställ en import som talar om vilka rader den inte tog

Medlemslistan, kundregistret eller anmälningarna finns redan i ett kalkylark, och det arket har levt i flera år. Det har tomma celler, samma person två gånger, datum skrivna på tre sätt och belopp med komma. Beställer du bara ”importera arket” får du en app som säger ”Klart” och ett register där något saknas. Du märker det om tre veckor, när någon inte finns.

Publicerad · Senast granskad

Trämodell där en stor rutmönstrad träskiva lutar mot en liten vit byggnad med en öppning; framför öppningen ligger några lösa träbitar på en bricka intill en liten vit flagga, och en röd stav löper snett över rutnätet.
Det mesta av arket går in genom öppningen. Bitarna som blev kvar på brickan är de rader rapporten ska räkna upp, med radnummer och orsak.

Kort sagt

En import som inte fått regler för stökiga rader väljer själv, och valet syns ofta inte i något meddelande. Du kan beställa fem saker i klartext: hur kolumnerna matchas, vad en tom cell betyder, vad som händer med dubbletter, vilka datum och tal som tas emot, och en rapport som räknar upp varje rad som inte togs och varför. Prova sedan importen på ett litet ark med tio fel du själv lagt in, innan det riktiga arket rörs.

”Klart” säger inte hur många rader som kom in

Det riktiga arket har 412 rader. Du laddar upp det, appen visar ”Import klar” och listan ser full ut. Vad du inte ser är att 9 rader inte kom med: tre saknade e-post, fyra hade ett datum appen inte förstod och två var samma person som redan fanns. Ingen av dem gav ett felmeddelande, för importen fick aldrig någon regel om vad som är ett fel. Den gjorde det enklaste: hoppade över det den inte förstod och fortsatte.

Det andra utfallet är värre än att hoppa över, för det syns ännu senare. Raden kom in, men fel. Beloppet 1 234,50 blev 123 450. Datumet 3 april blev 4 mars. Telefonnumret tappade sin nolla. Varje rad finns i listan, antalet stämmer, och felet upptäcks först när en faktura går ut på fel belopp eller en påminnelse skickas fel dag.

Det tredje utfallet är dubbletter. Arket hade samma medlem på rad 41 och rad 388, en gång med stor bokstav i e-postadressen. Appen tog in båda, för ingen sa att e-posten avgör vem som är vem. Nu får hen två utskick, och den som rättar adressen i den ena posten undrar varför den gamla adressen fortfarande dyker upp.

Alla tre utfallen har samma orsak. Du sa vad som skulle importeras, inte vad som skulle hända med det arket inte kan lova. Den här sidan går åt motsatt håll mot kursens del om att spara data, som exporterar anmälningar ut ur appen till ett kalkylark. Här ska ett ark in, och det är den svårare riktningen.


Fem saker arket bär med sig som appen inte vet

Ett kalkylark ser strukturerat ut, men det är ett papper med rutor. Ingenting i arket säger att kolumnen ”Epost” är samma sak som appens fält ”E-post”, att en tom cell betyder ”vet ej” snarare än ”noll”, eller att två rader med samma adress är samma person. Allt det vet du, och inget av det står i filen. Fem beslut behöver du fatta innan du beställer.

Kolumnmatchning: vilken kolumn hör till vilket fält. Arkets rubriker heter det någon skrev 2019: ”Namn”, ”Epost”, ”Tel”, ”Betalt”. Appens fält heter något annat. Beställ att appen visar matchningen innan den importerar, och att en kolumn den inte känner igen stoppar importen med en fråga i stället för att tyst ignoreras. En bortglömd kolumn är en bortglömd uppgift för alla 412 rader.
Tomma celler: saknad uppgift eller frivillig uppgift. En tom cell i namnkolumnen är en rad du inte kan använda. En tom cell i telefonkolumnen är en medlem utan telefon, vilket är helt i sin ordning. Skillnaden är vilka uppgifter appen kräver, och det måste du säga. Säg också vad en tom frivillig cell ska bli: ett tomt fält, inte 0, inte texten ”tom” och inte förra radens värde.
Dubbletter: vad som avgör att två rader är samma. Oftast e-postadressen, ibland personnummer eller medlemsnummer. Bestäm också om stora och små bokstäver och ett mellanslag i slutet ska räknas som samma adress, för det är precis så dubbletter ser ut i ett gammalt ark. Och bestäm vad som ska hända: hoppa över den andra raden och rapportera, eller stanna och fråga. Att ta in båda är det du inte vill.
Datum: vilken form som tas emot. Arket har 2026-09-21 på några rader, 21/9/2026 på andra och 21 sep på resten, eftersom tre personer fyllt i det. Det säkra är att appen tar emot en enda form, 2026-09-21, och avvisar resten med besked så att du rättar i arket i stället för att låta appen gissa. Ett datum som inte finns, som 30 februari, ska avvisas oavsett form. Vad som är svenskt datumformat i appen äger artikeln om svenska i appen.
Tal: decimalkomma, mellanslag och nollor. Beloppet 1 234,50 med mellanslag mellan tusental och komma som decimaltecken ska tas emot som just det talet. Text i en talkolumn, som ”ca 500”, ska avvisas, inte bli 500 och inte bli 0. Telefonnummer och postnummer är inte tal utan texter som råkar bestå av siffror; en nolla i början ska behållas. Den kan ha försvunnit redan i arket, för ett kalkylprogram som ser 0701234567 som ett tal kan ta bort nollan. Därför ska ett telefonnummer utan inledande nolla eller plustecken avvisas, så att du hittar de raderna.

Det sjätte beslutet är det som gör de fem synliga: rapporten. Efter importen ska appen visa tre siffror, antalet rader i arket, antalet importerade och antalet avvisade, och en lista över de avvisade med radnummer och orsak. Utan listan är de fem reglerna löften du inte kan kontrollera.


Beställningen: en import som talar om vad den inte tog

Beställningen nedan är skriven för ett medlemsregister med sex uppgifter. Byt ut fälten i hakparenteserna mot dina egna, men behåll strukturen: först matchningen, sedan reglerna per uppgift, sist rapporten. Den ber uttryckligen om att ingenting ska gissas. Det är den meningen som skiljer en import du kan lita på från en som säger ”Klart”.

Beställning: import av ett befintligt kalkylark
Jag vill kunna ladda upp ett kalkylark (Excel eller CSV) med
befintliga [medlemmar] till appen. Arket har kolumnerna
[Namn, E-post, Telefon, Anmäld, Belopp, Postnummer].

Innan något importeras ska appen visa vilken kolumn i arket
som matchas mot vilket fält i appen och låta mig ändra
matchningen. En kolumn som inte matchar något fält ska stoppa
importen med en fråga, inte hoppas över tyst.

Regler per rad:
- [Namn] och [E-post] är obligatoriska. Saknas någon av dem
  ska raden avvisas.
- [Telefon, Anmäld, Belopp, Postnummer] är frivilliga. En tom
  cell ska sparas som tomt fält, inte som 0, inte som text och
  inte som värdet från raden ovanför.
- Två rader med samma [E-post] är samma person, oavsett stora
  och små bokstäver och mellanslag i början eller slutet. Finns
  personen redan i appen, eller tidigare i samma ark, ska raden
  avvisas som dubblett med besked om vilken rad den krockar med.
- [Anmäld] ska tas emot bara i formen 2026-09-21. Andra former
  och datum som inte finns ska avvisas, inte gissas.
- [Belopp] ska ta emot decimalkomma och mellanslag mellan
  tusental, så att 1 234,50 sparas som 1234,50. Text i
  kolumnen ska avvisas, inte bli 0.
- [Telefon] och [Postnummer] är text, inte tal. En nolla i
  början ska behållas. Ett telefonnummer som inte börjar med 0
  eller + ska avvisas.
- En helt tom rad ska hoppas över utan att räknas som avvisad,
  och importen ska fortsätta med raderna efter den.

Efter importen ska appen visa: antal rader med innehåll i
arket, antal importerade, antal avvisade, och en lista över
varje avvisad rad med radnummer, orsak och radens innehåll.
Antalet rader med innehåll ska vara summan av importerade och
avvisade. Ingen rad får ändras tyst för att passa; det som inte
följer reglerna ska avvisas och stå i listan.

Förklara i klartext, utan kodord, vad som händer med en rad som
bryter mot två regler samtidigt. Ändra ingenting annat.

Två val i beställningen kan du vilja göra annorlunda. En dubblett kan uppdatera den befintliga posten i stället för att avvisas, och det är rimligt om arket är nyare än appen. Byt då ”avvisas som dubblett” mot ”uppdatera den befintliga posten och räkna raden som uppdaterad, inte importerad” och lägg till ”uppdaterade” som en fjärde siffra i rapporten. Och datumregeln kan vara mjukare om du vet att hela arket har formen 21/9/2026. Säg då exakt den formen, en enda, och inte ”svenska datum”.


Testarket: tio avsiktliga fel före det riktiga arket

Prova inte importen på det riktiga arket först. Gör ett litet ark med samma kolumner, 14 rader, där du vet exakt vilka rader som ska komma in och vilka som ska avvisas. Rad 1 och 2 är helt rätt. Rad 3 till 12 bär var sitt fel. Rad 13 och 14 är helt rätt igen, och de finns där för att avslöja en import som stannar vid den tomma raden.

Testarket: tio avsiktliga fel
Rad 1 och 2: två helt korrekta rader.
Rad 3:  namnet saknas (tom cell i en uppgift appen kräver).
Rad 4:  telefonen saknas (tom cell i en uppgift appen inte kräver).
Rad 5:  samma e-post som rad 1, namnet stavat annorlunda.
Rad 6:  samma e-post som rad 2 med stora bokstäver och ett
        mellanslag sist.
Rad 7:  datumet skrivet 21/9/2026.
Rad 8:  datumet 2026-02-30, som inte finns.
Rad 9:  beloppet skrivet 1 234,50 med mellanslag och
        decimalkomma.
Rad 10: beloppet skrivet ca 500.
Rad 11: telefonnumret 701234567, med nollan borta.
Rad 12: en helt tom rad.
Rad 13 och 14: två helt korrekta rader.

Facit följer av beställningen. Rad 1, 2, 4, 9, 13 och 14 ska komma in: 6 rader, varav rad 4 med tomt telefonfält och rad 9 med beloppet sparat som 1234,50. Rad 3, 5, 6, 7, 8, 10 och 11 ska avvisas: 7 rader, var och en med sin orsak. Rad 12 ska varken räknas som importerad eller avvisad. Rapporten ska alltså säga 13 rader med innehåll, 6 importerade, 7 avvisade. Skriv de tre siffrorna på ett papper innan du laddar upp arket.

1
Ta en säkerhetskopia av appens data. Testarket är litet, men det är den första importen som körs, och en import som gör fel gör det på riktiga poster. Hur du tar och återställer en kopia står i artikeln om att återställa appen från backup.
2
Döp om en rubrik i testarket. Skriv ”Epost” i stället för ”E-post”. Rätt utfall är att appen visar matchningen och låter dig peka kolumnen till rätt fält, eller stannar och frågar. Fel utfall är att importen går igenom och alla 14 rader saknar e-post, eller att raderna avvisas för att e-posten ”saknas”.
3
Ladda upp arket och läs rapporten mot pappret. Tre siffror: 13, 6, 7. Stämmer inte siffrorna vet du redan vilken regel som inte hölls, för varje rad bär ett enda fel. Fyra avvisade i stället för sju betyder att någon regel inte finns.
4
Öppna de sex importerade posterna. Rad 9 ska visa 1 234,50, inte 123 450 och inte 1234. Rad 13 och 14 ska finnas, annars stannade importen vid den tomma raden. Rad 4 ska ha ett tomt telefonfält, inte 0.
5
Läs orsakerna i listan över avvisade. Rad 6 ska stå som dubblett av rad 2, trots stora bokstäver och mellanslaget. Rad 7 ska stå som ”datum i oväntad form”, inte ha blivit 9 september eller 21 september utan att någon sa något. Rad 11 ska stå som avvisad, inte finnas i listan med ett nio-siffrigt nummer.
6
Kör samma ark en gång till. Nu ska rapporten säga 13 rader, 0 importerade, 13 avvisade, där rad 1, 2, 4, 9, 13 och 14 avvisas som dubbletter av det som redan finns. Får du 6 importerade igen har du tolv poster i stället för sex, och dubblettregeln gäller bara inom arket.
Antalet i listan är inte ett bevis

Att listan har 412 poster efter importen av det riktiga arket säger inte att rätt 412 kom in. Rad 41 och rad 388 kan båda vara där, och den tomma raden på 200 kan ha stoppat allt efter sig utan att det syns i en lista som ändå ser lång ut. Beviset är rapportens tre siffror och att de summerar: rader med innehåll är lika med importerade plus avvisade. Stämmer inte summan har rader försvunnit på vägen utan att räknas.


Sedan det riktiga arket, i tre omgångar

När testarket ger 13, 6, 7 och facit stämmer på alla sex stegen är importen redo för riktiga rader. Kör ändå inte alla 412 på en gång. Ta de första 20 raderna i ett eget ark, importera, läs rapporten och öppna varje avvisad rad i det riktiga arket. Nu ser du vilka fel det riktiga arket faktiskt har, och de är sällan de tio du hittade på. Kanske är det ett fjärde datumformat, eller en kolumn där någon skrivit ”se anteckning” i beloppsfältet.

Rätta de raderna i arket, inte i appen. Ett ark du rättat kan importeras om; en post du rättat inne i appen är borta om du behöver börja om. Kör sedan resten av arket, läs de tre siffrorna, rätta det som avvisades och kör de rättade raderna som en tredje omgång. Efter den tredje omgången ska antalet avvisade vara noll och antalet poster i appen vara lika med antalet rader med innehåll i arket minus dubbletterna rapporten pekade ut.

Spara testarket och de tre siffrorna som en rad i din provlista. Importen är en funktion som slutar fungera vid ändringar ingen kopplade till den, till exempel när du ber verktyget lägga till ett fält i formuläret och det bygger om vilka uppgifter som är obligatoriska.


Var beställningen slutar

Beställningen ovan säger ingenting om hur verktyget läser filen, och det är avsiktligt. Om verktyget svarar med ord som ”parser” (den del som läser filen rad för rad och delar upp den i celler) eller ”schema” (beskrivningen av vilka fält som finns och vilken sorts värde vart och ett tar) behöver du inte förstå dem. Du behöver bara kontrollera att rapporten finns och att siffrorna stämmer mot testarket. Samma mönster, beställ beteendet i klartext och läs av utfallet i ett prov, är det artikeln om två användare som gör samma sak samtidigt använder för ett helt annat problem.

Två saker täcker den här sidan inte. Den första är ett ark med flera flikar eller sammanslagna celler; det är inte en tabell utan ett dokument, och det ska göras om till en enkel tabell i kalkylprogrammet innan det importeras. Den andra är ett ark som ska importeras om varje vecka från ett annat system. Då är frågan inte längre en import utan en koppling, med egna regler om vem som vinner när samma post ändrats på båda ställena, och det är en annan beställning. Beställningen och testarket ovan kontrollerades 21 september 2026.


Klart när rapporten säger vad som inte kom in

Arbetet är klart när testarket ger de tre siffror du skrev på pappret, när varje avvisad rad står i rapporten med radnummer och orsak, när samma ark kört två gånger inte ger dubbla poster, och när det riktiga arket efter tredje omgången har noll avvisade rader och ett antal poster du kan räkna fram. Du behöver inte veta hur verktyget läste filen. Du behöver kunna visa vilka rader det inte tog.

Tre frågor att spara

Vilka uppgifter är obligatoriska, och vad avgör att två rader är samma person? Vilken enda form ska datum och belopp ha? Och när körde jag senast testarket med de tio felen?