Miten korjata #REF! -virheen korjaaminen

Miten korjata #REF! -virheen korjaaminen

#VIITTAUS!-virhe näytetään, kun kaava viittaa soluun, joka ei ole kelvollinen. Näin käy yleensä silloin, kun soluja, joihin kaavat viittaavat, poistetaan tai niiden päälle liitetään.

Esimerkki – #REF! sarakkeen poistamisesta johtuva virhe

Seuraavassa esimerkissä käytetään kaavaa =SUMMA(B2,C2,D2) sarakkeessa E.

Eksplisiittisiä soluviittauksia, kuten =SUMMA(B2,C2,D2) käyttävät kaavat voivat aiheuttaa #REF! -virhe, jos sarake poistetaan.

Jos poistat sarakkeen B, C tai D, se aiheuttaa #REF! Jos esimerkiksi yrität luoda Pivot-taulukon näiden tietotyyppien tietojen perusteella, saat #ARVO!-virheen. Tässä tapauksessa poistamme sarakkeen C (2007 Myynti) ja kaava lukee nyt =SUMMA(B2,#REF!,C2). Kun käytät eksplisiittisiä soluviittauksia (jos viittaat kuhunkin soluun yksitellen pilkulla erotettuna) ja poistat viitatun rivin tai sarakkeen, Excel ei voi ratkaista sitä, joten se palauttaa #REF! Jos esimerkiksi yrität luoda Pivot-taulukon näiden tietotyyppien tietojen perusteella, saat #ARVO!-virheen. Tämä on ensisijainen syy siihen, miksi eksplisiittisiä soluviittauksia ei suositella funktioissa.

Esimerkki #REF! #VIITTAUS!-virhe.

Ratkaisu

  • Jos poistat rivejä tai sarakkeita vahingossa, voit palauttaa ne heti pikatyökalurivin Kumoa-painikkeella (tai näppäinyhdistelmällä CTRL+Z).

  • Muokkaa kaavaa niin, että se käyttää alueviittausta yksittäisten solujen asemesta: =SUMMA(B2:D2). Nyt voit poistaa minkä tahansa sarakkeen summa-alueelta: Excel muokkaa kaavaa automaattisesti. Voit käyttää rivien summaan myös kaavaa =SUMMA(B2:B5).

Esimerkki PHAKU-kaavasta, jossa on virheellisiä alueviittauksia

Seuraavassa esimerkissä =PHAKU(A8,A2:D5,5,FALSE) palauttaa #VIITTAUS!-virheen, koska se etsii palautettavaa arvoa 5. sarakkeesta, mutta viittausalue on vain neljä saraketta: A:D.

Esimerkki PHAKU-kaavasta, jossa on virheellinen alue.  Kaava on =PHAKU(A8;A2:D5;5;EPÄTOSI).  PHAKU-alueella ei ole viidettä saraketta, joten 5 aiheuttaa #REF! Jos esimerkiksi yrität luoda Pivot-taulukon näiden tietotyyppien tietojen perusteella, saat #ARVO!-virheen.

Ratkaisu

Muokkaa aluetta suuremmaksi tai pienennä sarakehaun arvoa viittausalueen kokoiseksi. =PHAKU(A8,A2:E5,5,FALSE) olisi kelvollinen viittausalue, samoin =PHAKU(A8,A2:D5,4,FALSE).

Esimerkki INDEKSI-kaavasta, jossa on virheellinen rivi- tai sarakeviittaus

Tässä esimerkissä kaava =INDEKSI(B2:E5,5,5) palauttaa #REF! -virhe, koska INDEKSI-alue on 4 riviä ja 4 saraketta, mutta kaava pyytää palauttamaan 5. rivin ja 5. sarakkeen tiedot.

Esimerkki INDEKSI-kaavasta, jossa on virheellinen alueviittaus.  Kaava on =INDEKSI(B2:E5,5,5), mutta alue on vain neljä riviä kertaa neljä saraketta.

Ratkaisu

Muokkaa rivi- tai sarakeviittauksia siten, että ne ovat INDEKSI-hakualueella. =INDEKSI(B2:E5,4,4) palauttaisi kelvollisen tuloksen.

Esimerkki viittauksesta suljettuun työkirjaan EPÄSUORA-funktiolla

Seuraavassa esimerkissä EPÄSUORA-funktio yrittää viitata suljettuun työkirjaan, mikä #REF! Jos esimerkiksi yrität luoda Pivot-taulukon näiden tietotyyppien tietojen perusteella, saat #ARVO!-virheen.

Esimerkki #REF! -virheen, joka johtuu siitä, että EPÄSUORA viittaa suljettuun työkirjaan.

Ratkaisu

Avaa viitattu työkirja. Sama virhe ilmenee, jos viittaat suljettuun työkirjaan dynaamisella matriisifunktiolla.

OLE-ongelmat

Jos olet käyttänyt OLE (Object Linking and Embedding) -linkkiä, joka palauttaa #REF! ja käynnistä sitten ohjelma, jota linkki soittaa.

Huomautus: OLE on tekniikka, jolla voit jakaa tietoja ohjelmien välillä.

DDE-ongelmat

Jos olet käyttänyt DDE (Dynamic Data Exchange) -aihetta, joka palauttaa #REF! -virheen tarkista ensin, että viittaat oikeaan aiheeseen. Jos saat edelleen #REF! -virheen, tarkista valvontakeskuksen ulkoisen sisällön asetukset Office-tiedostojen ulkoisen sisällön estäminen tai eston poistaminen -kohdassa.

Huomautus: DDE (Dynamic Data Exchange) onmicrosoft Windows -pohjaisten ohjelmien välisen tietojenvaihdon protokolla.

Makro-ongelmat

Jos makro lisää laskentataulukkoon funktion, joka viittaa funktion yläpuolella olevassa solussa ja funktion sisältävä solu on rivillä 1, funktio palauttaa #REF! koska rivin 1 yläpuolella ei ole soluja. Tarkista funktiosta, viittaako argumentti soluun tai solualueeseen, joka ei ole kelvollinen. Tämä saattaa edellyttää makron muokkaamista Visual Basic Editorissa (VBE), jotta tilanne voidaan ottaa huomioon.

Tarvitsetko lisätietoja?

Voit aina kysyä neuvoa Excel Tech Community -yhteisön asiantuntijalta, saada tukea yhteisön vastauksista tai ehdottaa uutta ominaisuutta tai parannusta Excel User Voice -sivustolla.

Katso myös

Yleiskuva kaavoista Excelissä

Viallisten kaavojen ratkaiseminen

Kaavoissa esiintyvien virheiden etsiminen

Excelin funktiot (aakkosjärjestyksessä)

Excelin funktiot (luokittain)

Tarvitsetko lisäohjeita?

Kehitä Office-taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×