#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 ASmotNordvik A/S. Ingen formel løser dette – kilden må standardiseres. - Ledende nuller.
00241som tekst mot241som tall. Vanlig i artikkelnumre og kontonumre eksportert fra fagsystemer. - Bokstaver som ser like ut.
O(bokstav) mot0(null), ellerlmot1. - Ulik desimal.
12,50mot12.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 F5 → Utvalg → Formler → Feil 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.