Opret formlen
- Åbn dit regneark, og vælg Udvidelser > Apps Script.
- Slet indholdet i
Code.gs, og indsæt scriptet nedenfor. - Gem projektet. Formlen er nu klar i regnearket.
javascript
/**
* Henter et felt fra CVR-registret.
* Eksempel: =CVR(A2; "name")
*
* @param {number} cvr CVR-nummer (8 cifre)
* @param {string} field Feltnavn, fx "name", "city" eller "industrydesc"
* @customfunction
*/
function CVR(cvr, field) {
const cache = CacheService.getScriptCache();
const key = "cvr_" + cvr;
let json = cache.get(key);
if (!json) {
const res = UrlFetchApp.fetch("https://apicvr.dk/api/v1/" + cvr, { muteHttpExceptions: true });
if (res.getResponseCode() === 404) return "Ikke fundet";
if (res.getResponseCode() !== 200) return "Fejl " + res.getResponseCode();
json = res.getContentText();
cache.put(key, json, 21600); // 6 timer
}
const company = JSON.parse(json);
const value = company[field || "name"];
return Array.isArray(value) ? value.map(v => v.name).join(", ") : value;
}Brug formlen
Står CVR-nummeret i A2, kan du skrive:
=CVR(A2; "name")giver virksomhedens navn=CVR(A2; "city")giver byen=CVR(A2; "industrydesc")giver branchen=CVR(A2; "protected")viser, om virksomheden er reklamebeskyttet=CVR(A2; "ejere")giver ejernes navne adskilt af komma
Bruger dit regneark engelske indstillinger, skal du adskille argumenterne med komma: =CVR(A2, "name").
Scriptet gemmer svar i 6 timer med
CacheService, så flere kolonner med samme CVR-nummer kun giver ét kald.Søg på navn
Tilføj denne funktion for at få en liste over hits med CVR-nummer, navn og branche. Resultatet fylder flere rækker og kolonner.
javascript
/**
* Søger virksomheder på navn og returnerer CVR-nummer og navn.
* Eksempel: =CVRSOEG("novo nordisk")
* @customfunction
*/
function CVRSOEG(name) {
const url = "https://apicvr.dk/api/v1/search/fuzzy/" + encodeURIComponent(name);
const hits = JSON.parse(UrlFetchApp.fetch(url).getContentText());
return hits.slice(0, 10).map(h => [h.cvr_number, h.name, h.industrytext]);
}Tjek altid
protected, før du bruger data til markedsføring. Er feltet true, har virksomheden frabedt sig reklamehenvendelser.Ofte stillede spørgsmål
Hvorfor viser cellen "Ikke fundet"?
CVR-nummeret findes ikke i registret. Tjek at det har 8 cifre og ikke er formateret som et tal med tusindtalsseparator.
Er der en grænse for, hvor mange rækker jeg kan slå op?
Google begrænser, hvor mange URL-kald et script må lave pr. dag. Cachen hjælper, men del store lister op over flere dage.