Om arbetsboken: Socialministeriets utökade mall för takstberäkning på det specialiserade socialområdet — riktad till de kommunala, regionala, privata och självägande leverantörer som beräknar sina taxor — del av ministeriets handbok för takstberäkning, se https://www.sm.dk/publikationer/2026/feb/haandbog-til-takstberegning-paa-de-specialiserede-socialomraader-. En taxa som slås upp med ungefärlig matchning skulle tyst kunna hämta beloppet från fel rad — ett annat belopp i stället för ett felmeddelande. Belägget: fem kritiska VLOOKUP med approximate match (F04) i beräkningskedjan, därtill tio hårdkodade konstanter (F01). Differensen mellan radernas taxor är inte härledd här — därför står ingen siffra.
Bedömning
33 fynd, varav 5 allvarliga
5 fynd av allvarligaste graden — mönsterbrott av typer som kan ge fel resultat utan att något felmeddelande syns.
Uppslag med ungefärlig matchning
Berörda blad: Takstberegning
5
Allvarliga
25
Varningar
3
Upplysningar
Analysens täckning
Samtliga 1022 formelceller kunde tolkas och ingick i analysen. Formler utanför analysytan redovisas alltid öppet i rapporten — i det här arket finns inga sådana.
Fynd
F04Uppslag med ungefärlig matchningAllvarliga
VLOOKUP/HLOOKUP utan FALSE (eller MATCH utan 0) returnerar närmaste värde i stället för exakt träff. Med osorterad data kan helt fel rad hämtas — utan felmeddelande. Fel pris, fel kund, fel kurs: tyst och svårupptäckt.
VLOOKUP/HLOOKUP utan FALSE (eller MATCH utan 0) returnerar närmaste värde i stället för exakt träff. Med osorterad data kan helt fel rad hämtas — utan felmeddelande. Fel pris, fel kund, fel kurs: tyst och svårupptäckt.
VLOOKUP/HLOOKUP utan FALSE (eller MATCH utan 0) returnerar närmaste värde i stället för exakt träff. Med osorterad data kan helt fel rad hämtas — utan felmeddelande. Fel pris, fel kund, fel kurs: tyst och svårupptäckt.
VLOOKUP/HLOOKUP utan FALSE (eller MATCH utan 0) returnerar närmaste värde i stället för exakt träff. Med osorterad data kan helt fel rad hämtas — utan felmeddelande. Fel pris, fel kund, fel kurs: tyst och svårupptäckt.
VLOOKUP/HLOOKUP utan FALSE (eller MATCH utan 0) returnerar närmaste värde i stället för exakt träff. Med osorterad data kan helt fel rad hämtas — utan felmeddelande. Fel pris, fel kund, fel kurs: tyst och svårupptäckt.
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Afskrivning og forrentning!E20, Afskrivning og forrentning!E21, Afskrivning og forrentning!E22
Detalj: constants 2004 in 2004+(E$14-E$13)-E$15 [same pattern in 3 cells]
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Afskrivning og forrentning!H20, Afskrivning og forrentning!H21, Afskrivning og forrentning!H22, Afskrivning og forrentning!H23, Afskrivning og forrentning!H24, Afskrivning og forrentning!H25, Afskrivning og forrentning!H26, Afskrivning og forrentning!H27, Afskrivning og forrentning!H28, Afskrivning og forrentning!H29, Afskrivning og forrentning!H30, Afskrivning og forrentning!H31, Afskrivning og forrentning!H32, Afskrivning og forrentning!H33, Afskrivning og forrentning!H34, Afskrivning og forrentning!H35, Afskrivning og forrentning!H36, Afskrivning og forrentning!H37, Afskrivning og forrentning!H38, Afskrivning og forrentning!H39, Afskrivning og forrentning!H40, Afskrivning og forrentning!H41, Afskrivning og forrentning!H42, Afskrivning og forrentning!H43, Afskrivning og forrentning!H44
Detalj: constants 12 in IF($G20=0,0,IF(($E$14-E20)>G20,0,IF($E$14=E20,((12-F20)/12)*((C20-D20)/G20),IF(AND($E$14=E20+G20,F20>0),C20-J20,I20)))) [same pattern in 25 cells]
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Afskrivning og forrentning!J20, Afskrivning og forrentning!J21, Afskrivning og forrentning!J22, Afskrivning og forrentning!J23, Afskrivning og forrentning!J24, Afskrivning og forrentning!J25, Afskrivning og forrentning!J26, Afskrivning og forrentning!J27, Afskrivning og forrentning!J28, Afskrivning og forrentning!J29, Afskrivning og forrentning!J30, Afskrivning og forrentning!J31, Afskrivning og forrentning!J32, Afskrivning og forrentning!J33, Afskrivning og forrentning!J34, Afskrivning og forrentning!J35, Afskrivning og forrentning!J36, Afskrivning og forrentning!J37, Afskrivning og forrentning!J38, Afskrivning og forrentning!J39, Afskrivning og forrentning!J40, Afskrivning og forrentning!J41, Afskrivning og forrentning!J42, Afskrivning og forrentning!J43, Afskrivning og forrentning!J44
Detalj: constants 12 in IF(I20=0,C20,IF((((12-F20)/12)*(I20)+(($E$14-(E20+1))*I20))>C20,C20,IF($E$14=E20,0,((12-F20)/12)*(I20)+(($E$14-(E20+1))*I20)))) [same pattern in 25 cells]
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Afskrivning og forrentning!K20, Afskrivning og forrentning!K21, Afskrivning og forrentning!K22, Afskrivning og forrentning!K23, Afskrivning og forrentning!K24, Afskrivning og forrentning!K25, Afskrivning og forrentning!K26, Afskrivning og forrentning!K27, Afskrivning og forrentning!K28, Afskrivning og forrentning!K29, Afskrivning og forrentning!K30, Afskrivning og forrentning!K31, Afskrivning og forrentning!K32, Afskrivning og forrentning!K33, Afskrivning og forrentning!K34, Afskrivning og forrentning!K35, Afskrivning og forrentning!K36, Afskrivning og forrentning!K37, Afskrivning og forrentning!K38, Afskrivning og forrentning!K39, Afskrivning og forrentning!K40, Afskrivning og forrentning!K41, Afskrivning og forrentning!K42, Afskrivning og forrentning!K43, Afskrivning og forrentning!K44
Detalj: constants 2, 0.5 in IF($E$14=E20,((C20+(C20-H20))/2),(C20-J20)-(0.5*I20)) [same pattern in 25 cells]
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Afskrivning og forrentning!L20, Afskrivning og forrentning!L21, Afskrivning og forrentning!L22, Afskrivning og forrentning!L23, Afskrivning og forrentning!L24, Afskrivning og forrentning!L25, Afskrivning og forrentning!L26, Afskrivning og forrentning!L27, Afskrivning og forrentning!L28, Afskrivning og forrentning!L29, Afskrivning og forrentning!L30, Afskrivning og forrentning!L31, Afskrivning og forrentning!L32, Afskrivning og forrentning!L33, Afskrivning og forrentning!L34, Afskrivning og forrentning!L35, Afskrivning og forrentning!L36, Afskrivning og forrentning!L37, Afskrivning og forrentning!L38, Afskrivning og forrentning!L39, Afskrivning og forrentning!L40, Afskrivning og forrentning!L41, Afskrivning og forrentning!L42, Afskrivning og forrentning!L43, Afskrivning og forrentning!L44
Detalj: constants 12, 100 in IF($E$14=E20,(((12-F20)/12)*($G$14/100))*K20,K20*($G$14/100)) [same pattern in 25 cells]
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Forrentning af likvider!C13
Detalj: constants 1.5 in +C11*1.5
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Overhead!C25
Detalj: constants 500000 in 500000*B25
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Overhead!C35
Detalj: constants 800000 in 800000*B35
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Overhead!C36, Overhead!C42, Overhead!C49
Detalj: constants 400000 in 400000*B36 [same pattern in 3 cells]
F01Hårdkodade konstanter i formlerVarningar
Värden som skattesatser eller påslag ligger inbakade direkt i formeln i stället för i en namngiven cell. När värdet ändras måste någon hitta och ändra varje förekomst — missas en enda räknar arket fel utan att det syns.
Celler: Overhead!C63
Detalj: constants 5, 4000 in 5*4000
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Forside!F34
Detalj: formula deviates from the pattern of 3 neighbours: +C34/D34
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Overhead!E33, Overhead!E40, Overhead!E47, Overhead!E54, Overhead!E61, Overhead!E68
Detalj: formula deviates from the pattern of 42 neighbours: SUM(E34:E39) [same pattern in 6 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F39, Takstberegning!G39, Takstberegning!H39, Takstberegning!I39, Takstberegning!J39
Detalj: formula deviates from the pattern of 43 neighbours: SUM(F23:F37) [same pattern in 5 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F44, Takstberegning!F57, Takstberegning!G44, Takstberegning!G57, Takstberegning!H44, Takstberegning!H57, Takstberegning!I44, Takstberegning!I57, Takstberegning!J44, Takstberegning!J57
Detalj: formula deviates from the pattern of 43 neighbours: SUM(F41:F43) [same pattern in 10 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F52, Takstberegning!G52, Takstberegning!H52, Takstberegning!I52, Takstberegning!J52
Detalj: formula deviates from the pattern of 43 neighbours: SUM(F47:F51) [same pattern in 5 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F63, Takstberegning!G63, Takstberegning!H63, Takstberegning!I63, Takstberegning!J63
Detalj: formula deviates from the pattern of 43 neighbours: SUM(F59:F62) [same pattern in 5 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F83, Takstberegning!G83, Takstberegning!H83, Takstberegning!I83, Takstberegning!J83
Detalj: formula deviates from the pattern of 43 neighbours: SUM(F66:F81) [same pattern in 5 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F84, Takstberegning!G84, Takstberegning!H84, Takstberegning!I84, Takstberegning!J84
Detalj: formula deviates from the pattern of 43 neighbours: F39+F44+F52+F57+F63+F83 [same pattern in 5 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F89, Takstberegning!G89, Takstberegning!H89, Takstberegning!I89, Takstberegning!J89
Detalj: formula deviates from the pattern of 43 neighbours: F39+F44+F52+F57+F63+F83+F86 [same pattern in 5 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!F91, Takstberegning!F92, Takstberegning!F93, Takstberegning!G91, Takstberegning!G92, Takstberegning!G93, Takstberegning!H91, Takstberegning!H92, Takstberegning!H93, Takstberegning!I91, Takstberegning!I92, Takstberegning!I93, Takstberegning!J91, Takstberegning!J92, Takstberegning!J93
Detalj: formula deviates from the pattern of 43 neighbours: +F$16*$C91 [same pattern in 15 cells]
F02Formel avviker från mönstretVarningar
I en rad eller kolumn där cellerna följer samma beräkningsmönster gör den här cellen något annat. Det är ofta resten av en manuell justering eller en kopiering som gått snett — och just sådana celler brukar ligga bakom summeringar som inte stämmer.
Celler: Takstberegning!K103, Takstberegning!K105, Takstberegning!K107
Detalj: formula deviates from the pattern of 59 neighbours: SUM(G103:J103) [same pattern in 3 cells]
F09Manuellt värde där formel förväntasVarningar
Mitt i ett formelmönster ligger ett hårt inskrivet värde — någon har skrivit över formeln, ofta för att 'rätta' en siffra inför en deadline. Cellen uppdateras aldrig mer när indata ändras.
Celler: Fordelingsnøgler!B13, Fordelingsnøgler!B33, Fordelingsnøgler!C18, Fordelingsnøgler!C23, Fordelingsnøgler!C28, Fordelingsnøgler!D18, Fordelingsnøgler!D23, Fordelingsnøgler!D28, Fordelingsnøgler!E18, Fordelingsnøgler!E23, Fordelingsnøgler!E28, Fordelingsnøgler!F18, Fordelingsnøgler!F23, Fordelingsnøgler!F28
Detalj: constant value where the surrounding 8-cell formula pattern predicts a formula [same pattern in 14 cells]
F09Manuellt värde där formel förväntasVarningar
Mitt i ett formelmönster ligger ett hårt inskrivet värde — någon har skrivit över formeln, ofta för att 'rätta' en siffra inför en deadline. Cellen uppdateras aldrig mer när indata ändras.
Celler: Overhead!D25
Detalj: constant value where the surrounding 7-cell formula pattern predicts a formula
F19Flyttalskänslig likhetsjämförelseVarningar
Ett villkor jämför beräknade decimaltal med exakt likhet. Flyttal lagras binärt, så uttryck som 0,1+0,2 träffar inte exakt 0,3 — villkoret kan slå fel på sista decimalen till synes slumpmässigt, och felet syns bara vissa körningar.
Celler: Afskrivning og forrentning!H20, Afskrivning og forrentning!H21, Afskrivning og forrentning!H22, Afskrivning og forrentning!H23, Afskrivning og forrentning!H24, Afskrivning og forrentning!H25, Afskrivning og forrentning!H26, Afskrivning og forrentning!H27, Afskrivning og forrentning!H28, Afskrivning og forrentning!H29, Afskrivning og forrentning!H30, Afskrivning og forrentning!H31, Afskrivning og forrentning!H32, Afskrivning og forrentning!H33, Afskrivning og forrentning!H34, Afskrivning og forrentning!H35, Afskrivning og forrentning!H36, Afskrivning og forrentning!H37, Afskrivning og forrentning!H38, Afskrivning og forrentning!H39, Afskrivning og forrentning!H40, Afskrivning og forrentning!H41, Afskrivning og forrentning!H42, Afskrivning og forrentning!H43, Afskrivning og forrentning!H44
Detalj: equality on computed floating-point value(s): ($E$14=(E20+G20)) [same pattern in 25 cells]
F20Kopierade blad som divergeratVarningar
Samma formelmönster finns på flera blad, men bladen har olika utsträckning. Det är spåret av ett kopierat blad som sedan vuxit eller krympt — formler som täckte all data på ett blad täcker den inte längre på ett annat, utan varning.
Celler: Fordelingsnøgler!G13, Takstberegning!K10
Detalj: 2 shared formula pattern(s) of >=5 cells on sheets with diverging structure: Fordelingsnøgler (used extent G55) vs Takstberegning (used extent L137)
F05Odokumenterade villkorsgränserUpplysningar
Tröskelvärden i IF-villkor ligger direkt i formeln i stället för i en dokumenterad cell. Gränserna syns inte vid granskning, och ingen vet om 37,5 är ett medvetet beslut eller en kvarglömd siffra.
Celler: Forside!F24
Detalj: condition thresholds 1 hardcoded in IF(ABS(E24)<1,"OK","Alt er ikke fordelt - det' en OM'er!")
F05Odokumenterade villkorsgränserUpplysningar
Tröskelvärden i IF-villkor ligger direkt i formeln i stället för i en dokumenterad cell. Gränserna syns inte vid granskning, och ingen vet om 37,5 är ett medvetet beslut eller en kvarglömd siffra.
Celler: Forside!F36
Detalj: condition thresholds 1 hardcoded in IF(ABS(C36)<1,"OK","NB: Indtægter svarer ikke til omkostninger...!")
F22Skydd saknas kring känsliga formlerUpplysningar
Bladen med formler saknar skrivskydd samtidigt som arket innehåller hårdkodade eller känsliga konstanter. Arkets känsligaste värden kan ändras av vem som helst med filen — utan spår, historik eller varning.
Detalj: no sheet protection on formula sheet(s) Afskrivning og forrentning, Fordelingsnøgler, Forrentning af likvider, Forside, Overhead, Puljer, Takstberegning — 110 cells with hardcoded constants (F01) can be edited by anyone with the file
Om arbetsboken
Blad
Forside, Takstberegning, Fordelingsnøgler, Budget (økonomisystem), Regnskab (økonomisystem), Overhead, Afskrivning og forrentning, Forrentning af likvider, Tidligere result, Puljer
Formelceller
1022
Inputceller
425
Dolda blad
0
Metod
Analysen läser arkets formler och struktur — aldrig cellvärden eller data.
Verktygsversion
0.1.3
Analysdatum
2026-08-01 12:54 UTC
Arkversion
februari 2026
Arket nedladdat
2026-07-29
Vad analysen inte ser
Den här analysen ser mönsterbrott: trasiga referenser, överskrivna formler, odokumenterade konstanter, avvikare i beräkningsmönster. Vad den inte kan se är fel i avsikt — när alla celler konsekvent räknar på fel sätt, eller när en etikett lovar något annat än formeln gör. Sådant kräver granskning begrepp för begrepp, mot någon som vet vad arket är tänkt att göra. En rapport utan fynd betyder därför "inga mönsterbrott hittade" — inte "färdiggranskat".
Nästa steg
Den här rapporten är den kostnadsfria hälsokontrollen. Den betalda verifieringen bygger vidare på samma analys och levererar:
Riskrapport — samtliga fynd i arkets logik med cellreferenser, allvarlighet och förklaring. Den här rapporten är det första steget och ingår redan.
Kravspecifikation — arkets beräkningslogik dokumenterad i läsbar form — ofta första gången processen finns beskriven utanför arket.
Körbar ersättare — arkets logik som testad applikation med formulär för indata.
Ekvivalensbevis — rapport som visar att ersättaren ger identiskt resultat som arket över tusentals testfall inklusive kantfall, med grentäckningsredovisning.
Första uppdraget börjar med en pilot på ett ark, fast pris. Piloten är riskvänd — och ni är domaren: tycker ni vid genomgången att fynden inte var värda priset, stryks fakturan. Kod och bevis levereras därefter i uppdraget, mot milstolpar ni själva godkänner under resans gång.