Feilsøking

#I/T i Excel – hvorfor oppslaget ikke finner verdien

Kort svar

#I/T betyr at et oppslag ikke fant det du lette etter. Verdien finnes ofte likevel - den ser bare ikke lik ut for Excel. De vanligste årsakene er tall lagret som tekst i den ene listen, mellomrom på slutten av verdien, ulik skrivemåte, eller at søkeområdet ikke dekker hele listen. Bruk ANTALL.HVIS for å teste om verdien i det hele tatt finnes.

#I/T er den mest misforståtte feilmeldingen i Excel, fordi verdien du leter etter som regel finnes – den ser bare ikke lik ut for Excel.

Test først om verdien finnes i det hele tatt

Før du endrer formelen, still spørsmålet direkte:

=ANTALL.HVIS(Priser!$A$2:$A$500; A2)

Får du 0, finnes ikke verdien slik du har skrevet den. Får du 1 eller mer, finnes den – og da er problemet i formelen, ikke i dataene.

Dette ene grepet halverer feilsøkingstiden, fordi det skiller de to helt ulike årsakene fra hverandre:

ANTALL.HVIS gir Problemet ligger i Les videre
0 Dataene – verdiene matcher ikke Årsak 1 og 2
1 eller mer Formelen – område eller referanser Årsak 3 og 4

Er du usikker på om de to cellene faktisk er like, sammenlign dem direkte med =A2=D2. USANN på noe som ser identisk ut er beviset du trenger.

Årsak 1: tall mot tekst

Artikkelnummeret er 10241 i den ene listen og "10241" i den andre. På skjermen er de identiske. For Excel er de ikke det.

Kjennetegn: tekst venstrejusteres, tall høyrejusteres. Test med =ERTALL(A2) i begge listene.

Rett det på kilden med Data → Tekst til kolonner → Fullfør. Trenger du en midlertidig løsning i formelen, kan du konvertere underveis:

=XOPPSLAG(VERDI(A2); Priser!$A$2:$A$500; Priser!$C$2:$C$500; "Ikke funnet")

Går det motsatt vei – tall som skal treffe tekst – bruker du &"" for å gjøre søkeverdien til tekst:

=XOPPSLAG(A2&""; Priser!$A$2:$A$500; Priser!$C$2:$C$500; "Ikke funnet")

Vet du ikke hvilken vei det går, dekker denne begge:

=HVIS.IT(XOPPSLAG(A2; område; returområde); XOPPSLAG(A2&""; område; returområde))

Det er en nødløsning. Riktig svar er å gjøre datatypen lik i begge listene.

Årsak 2: mellomrom og usynlige tegn

Et mellomrom på slutten av "Nordvik AS " gjør at verdien ikke matcher "Nordvik AS". Test lengden:

=LENGDE(A2)

Er svaret høyere enn antall synlige tegn, er det ekstra tegn der. Så gjelder det å vite hvilke:

Tegn Kommer fra Fjernes med
Vanlig mellomrom Manuell inntasting, eksport =TRIMME(A2)
Hardt mellomrom (160) Nettsider, e-post, PDF =BYTT.UT(A2; TEGNKODE(160); "")
Linjeskift (10) Adressefelt, kommentarer =BYTT.UT(A2; TEGNKODE(10); "")
Kontrolltegn Eldre systemer =RENSK(A2)

Alt på én gang:

=TRIMME(RENSK(BYTT.UT(A2; TEGNKODE(160); " ")))

Har begge listene problemet, er det raskest å rense begge kolonnene én gang i stedet for å pakke inn hver eneste formel. Lag hjelpekolonnen, kopier den, og lim inn som verdier over originalen.

Årsak 3: søkeområdet dekker ikke alt

Priser!$A$2:$A$400 når listen har vokst til 600 rader gir #I/T for alt under rad 400 – og ingen feilmelding for at området er for lite.

Løsningen er å gjøre kilden om til en Excel-tabell (Ctrl + L) og referere til kolonnenavnet:

=XOPPSLAG(A2; Prisliste[Artikkelnummer]; Prisliste[Pris]; "Ikke funnet")

Da følger området med når listen utvides.

Årsak 4: referansene forskyver seg

Uten dollartegn flytter søkeområdet seg nedover når du kopierer formelen. De første radene treffer, resten gjør det ikke. Låst område – $A$2:$A$500 – eller tabellreferanse løser det. F4 setter inn dollartegnene.

Kjennetegnet er lett å se: feilen begynner et sted midt i listen og gjelder alt under. Se låse celle i Excel.

Årsak 5: FINN.RAD med omtrentlig treff

=FINN.RAD(A2; Priser!A:C; 3) ← mangler siste argument

Uten USANN (eller 0) til slutt bruker FINN.RAD omtrentlig treff, som krever sortert data. På usortert data gir det enten #I/T eller – verre – et treff på feil rad, uten feilmelding. Skriv alltid:

=FINN.RAD(A2; Priser!$A$2:$C$500; 3; USANN)

Det samme gjelder SAMMENLIGNE, der 0 som tredje argument betyr eksakt treff.

Årsak 6: søkeverdien står i feil kolonne

FINN.RAD kan bare lete i den første kolonnen i området du oppgir. Er artikkelnummeret i kolonne C og du har markert A:E, leter Excel i kolonne A og finner aldri noe.

Dette er en av grunnene til at XOPPSLAG er å foretrekke – der peker du på søkekolonnen direkte, og retningen spiller ingen rolle. Se XOPPSLAG i Excel.

Årsak 7: verdien finnes – men i en annen form

De som overlever alle testene over, er som regel disse:

  • Ulik skrivemåte. Nordvik AS mot Nordvik A/S. Ingen formel løser dette – kilden må standardiseres.
  • Ledende nuller. 00241 som tekst mot 241 som tall. Vanlig i artikkelnumre og kontonumre eksportert fra fagsystemer.
  • Bokstaver som ser like ut. O (bokstav) mot 0 (null), eller l mot 1.
  • Ulik desimal. 12,50 mot 12.50.
  • Skjulte apostrofer foran verdien, som tvinger den til tekst.

Er du kommet hit, lag en hjelpekolonne som viser =LENGDE(A2) og =ERTALL(A2) ved siden av begge listene. Da ser du forskjellen på ett blikk.

Slik viser du noe annet enn feilmeldingen

Når du har funnet årsaken og bestemt at manglende treff er greit, erstatter du feilmeldingen med noe leservennlig. I XOPPSLAG er det innebygd:

=XOPPSLAG(A2; område; returområde; "Ikke registrert")

Med FINN.RAD eller INDEKS/SAMMENLIGNE pakker du inn i HVISFEIL:

=HVISFEIL(FINN.RAD(A2; Priser!$A$2:$C$500; 3; USANN); "Ikke registrert")

Vil du bare skjule manglende treff, men fortsatt se andre feil, bruker du HVIS.IT i stedet:

=HVIS.IT(FINN.RAD(A2; Priser!$A$2:$C$500; 3; USANN); "Ikke registrert")

Forskjellen er viktig: HVISFEIL skjuler også #VERDI! og #REF!, altså problemer du burde ha visst om.

Ikke skjul feilen før du vet hvorfor den kom. En rapport der 200 av 500 oppslag stille returnerer tom celle ser riktig ut, men mangler en tredjedel av tallene. Tell alltid opp hvor mange treff som mangler først: =ANTALL.HVIS(D2:D500; "Ikke registrert").

Når #I/T sprer seg til summene

En eneste #I/T i et område gjør at =SUMMER(D2:D500) også blir #I/T. Fristelsen er å pakke summen inn i HVISFEIL – men da får du et tall som ser riktig ut og er for lavt.

Riktig rekkefølge er alltid: finn radene som feiler, avgjør om de skal ha en verdi, og rett dem der. Filtrer på feilverdier, eller marker dem med F5UtvalgFormlerFeil for å se alle på én gang.

Når oppslaget bør erstattes med noe annet

Slår du opp mellom to lister som begge kommer fra andre systemer, og gjør det hver måned, hører sammenkoblingen hjemme i Power Query i stedet. Der kobler du tabellene én gang, og en venstre anti-sammenslåing viser deg umiddelbart alle radene som ikke fant treff – i stedet for at du skal oppdage dem som feilmeldinger spredt utover arket.

Du slipper også tusenvis av oppslagsformler som gjør filen treg. Se slå sammen to Excel-ark for framgangsmåten, eller sammenligne to kolonner i Excel hvis du bare vil vite hva som mangler hvor.

Vanlige spørsmål

Hva heter

#N/A, som står for «not available». Norsk Excel oversetter det til #I/T, «ikke tilgjengelig».

Kan

Ja. Slår du opp kunder som ikke finnes i registeret ennå, er #I/T et korrekt svar. Da bør du erstatte det med en forklarende tekst i stedet for å skjule det – for eksempel «Ikke registrert».

Hvordan skjuler jeg

Bruk fjerde argument i XOPPSLAG, for eksempel =XOPPSLAG(A2; område; returområde; "Ikke funnet"). Med FINN.RAD eller INDEKS/SAMMENLIGNE pakker du formelen inn i HVISFEIL. Gjør det først når du vet hvorfor treffet mangler.

Hvorfor gir SUMMER

Fordi feilmeldinger smitter oppover i beregningen. En eneste

Hva er forskjellen på HVISFEIL og HVIS.IT?

HVISFEIL fanger alle feilmeldinger, også

Formelen virker i de første radene, men gir

Da har søkeområdet forskjøvet seg fordi det ikke er låst. Sett dollartegn med F4, eller referer til en Excel-tabell i stedet – da følger området med uansett hvor formelen kopieres.

Verdien finnes tydelig i listen, men oppslaget treffer likevel ikke. Hva nå?

Sammenlign de to cellene direkte med =A2=D2. Får du USANN på noe som ser identisk ut, er det usynlige tegn eller ulik datatype. Test videre med =LENGDE() på begge og =ERTALL() på begge.