Excel udtræk af ip oktet

Det er ikke nødvendigvis noget der er behov for hver dag. Men det kan spare en masse tid når der er brug for det. En virksomhed havde en masse informationer samlet omkring pc’er i forskellige lande og butikker. Det gav et fantastisk overblik, og blev brugt flittigt i firmaet til at give informationer omkring TPM versioner, type, cpu, antal ram osv.

Jeg skulle holde excel dokumenterne opdateret til et par projekter jeg var med i, og fik at vide hvor mange fagsystemer det var sammenkørt af. Bl.a. Heimdal, Snow, OCS mm. Noget af det mest unikke på tværs af systemerne var en ip adresse, som kunne bruges til at sammenkøre nødvendige informationer. Den unikke ip var dog ikke interessant, men typisk kun 3. oktet i ip adressen.

Hvis det skal laves en enkelt gang er det hurtigste bare at vælge kolonnen og bruge “tekst til kolonner” funktionen og dele op på punktum. Så har du 4 kolonner med hver oktet. Men det skal gerne være mere automatiseret og med færre muligheder for copy paste fejl pga. de mange kilder der er involveret. Det er dog lidt mere bøvlet at hente de individuelle oktetter ud end jeg først havde regnet med. For hver oktet kan variere i længden og der er kun brug for 3. oktet. (Ok i hvert fald lige i mit tilfælde)

Der findes forskellige måder at trække det ud på, f.eks. søgning på 2 og 3 punktum mm. Det bliver dog også hurtigt en lang funktion for at undgå at få en midlertidig kolonne ind i ligningen.

Men en ganske smart måde at få det hele i en linje er følgende “=FJERN.OVERFLØDIGE.BLANKE(MIDT(UDSKIFT(A1;”.”;GENTAG(” “;100));201;100))” eller hvis der benyttes engelsk Excel “=TRIM(MID(SUBSTITUTE(A1,”.”,REPT(” “,100)),201,100))”

Funktionen ser meget mystisk ud, men egentlig tilføjer den bare blanke felter ind i teksten for derefter at fjerne dem igen i slutningen med Fjern.overflødige.blanke.

Den kan nemt rettes til hvad end du har brug for 1., 2. eller 4. oktet. Tallet 201 i formlen skal ændres. Ændrer du den til 1, får du første oktet, 101 giver 2. oktet, mens 301 giver 4 oktet.

Som sagt, så kræver det nok meget specifikke bruges cases for at være brugbart. Til den oprindelige opgave gav det god mening, ikke mindst fordi data blot kunne kopieres ind uden at lave en transformation af dele af det der så blev kopieret tilbage.

Nu tænker du sikkert “Jamen det giver da meget bedre mening at tage fat direkte i datakilden og lave udtrækket on the fly, så slipper du da helt for at skulle manuelt sidde og fedte rundt i at lave csv filer kopiere rundt mm.” Helt enig, men der kom lige lidt interne bureaukrati i vejen for at det kunne lade sig gøre.