Menu

Errore #RIF! in Excel: perché compare e come correggerlo

#RIF! significa che una formula fa riferimento a una cella che non esiste più, di solito perché è stata eliminata una riga, una colonna o un foglio che usava: =B2*C2 diventa =B2*#RIF!. Compare anche quando CERCA.VERT o INDICE chiedono una colonna o una riga fuori dal loro intervallo.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

#RIF! (in inglese #REF!; la tabella mostra i nomi inglesi degli errori) significa che una formula fa riferimento a una cella che non c'è. La causa abituale è una riga, una colonna o un foglio eliminati: quando viene eliminata la colonna C, Excel riscrive =B2*C2 come =B2*#RIF!, e da quel momento il risultato è #RIF!. Premi Ctrl+Z (Cmd+Z su Mac) subito dopo l'eliminazione per riavere la colonna e la formula.

Dopo l'eliminazione di una colonna
D2
ABCD
1ProductPriceQtyTotal
2Apple1.210#REF!
3Pear1.520#REF!
4Plum0.815#REF!
5Bread2.45#REF!
#REF! La formula fa riferimento a una cella che non esiste.In Excel in italiano: =B2*#REF!

La colonna delle quantità è stata eliminata e poi riscritta, ma la formula dice ancora #REF!: Excel non ripara mai un riferimento una volta perso. Fai clic su D2, sostituisci #REF! con C2 e premi Invio. Tutta la colonna segue, e D2 mostra 12.

Come #RIF! entra in una formula

Excel scrive #RIF! in una formula ogni volta che una cella usata dalla formula sparisce:

Hai fatto questo=B2*C2 in D2 diventa
Hai eliminato la colonna C=B2*#RIF!
Hai eliminato la riga 2la formula viene eliminata con la sua riga; le formule di altre righe che puntavano alla riga 2 ricevono #RIF!
Hai eliminato il foglio a cui fa riferimento una formula=#RIF!B2*2 (per una formula come =Prices!B2*2)
Hai tagliato una cella e l'hai incollata sopra una cella usata dalla formula#RIF! al posto del riferimento sovrascritto

Eliminare celle dentro un intervallo non è un problema: =SOMMA(B2:D2) diventa =SOMMA(B2:C2) quando viene eliminata la colonna C. Eliminare la prima o l'ultima cella di un intervallo lo riduce soltanto. Quindi =SOMMA(B2:D2) è più sicura di =B2+C2+D2, che diventa =B2+#RIF!+C2. La tabella mostra le formule in inglese, ma puoi scriverle anche in italiano, con il punto e virgola.

Perché CERCA.VERT restituisce #RIF!

Il terzo argomento di CERCA.VERT (in inglese VLOOKUP) conta le colonne dentro l'intervallo della tabella. Se è più grande del numero di colonne dell'intervallo, il risultato è #RIF!.

Numero di colonna fuori dall'intervallo
F2
ABCDEF
1ProductPriceStockLook forStock
2Apple1.240Pear#REF!
3Pear1.525
4Plum0.860
5Bread2.412
6Milk1.130
#REF! La formula fa riferimento a una cella che non esiste.In Excel in italiano: =CERCA.VERT(E2;A2:C6;4;FALSO)

A2:C6 ha tre colonne, quindi la 4 non esiste. Cambia il 4 in 3 e F2 mostra 25. Succede soprattutto dopo aver eliminato una colonna dalla tabella di ricerca: l'intervallo si riduce, il numero di colonna scritto a mano no. CERCA.X o INDICE con CONFRONTA lo evitano perché indicano direttamente la colonna da restituire, come in =CERCA.X(E2;A2:A6;C2:C6). Vedi CERCA.VERT per il resto dei suoi argomenti.

#RIF! con INDICE e SCARTO

INDICE restituisce #RIF! quando il numero di riga o di colonna è fuori dal suo intervallo, e SCARTO (in inglese OFFSET) quando si sposta sopra la riga 1 o prima della colonna A.

Posizioni fuori dall'intervallo
B2
ABC
1ScoreResultWhat it asks for
288#REF!6th value of 5
372953rd value of 5
495#REF!2 rows above A2
564814 rows below A2
681
#REF! La formula fa riferimento a una cella che non esiste.In Excel in italiano: =INDICE(A2:A6;6)

A2:A6 ha cinque punteggi, quindi INDICE(A2:A6;6) è #RIF! mentre INDICE(A2:A6;3) restituisce 95. La riga 0 non esiste, quindi SCARTO(A2;-2;0) è #RIF!, e SCARTO(A2;4;0) arriva su A6: 81. Quando la posizione viene da un'altra formula (un CONFRONTA, un CONTA.NUMERI), controlla prima quella formula. Altro nella pagina su INDICE.

Anche INDIRETTO dà #RIF! quando il suo testo non è un indirizzo valido (=INDIRETTO("ZZZ1"), perché l'ultima colonna è XFD) o punta dentro una cartella di lavoro chiusa.

#RIF! quando copi una formula

Un riferimento relativo si sposta con la formula. Copiala abbastanza in alto o di lato e il riferimento esce dal foglio:

C3:  =B2*2        (one row up, one column back)
copy C3 to B2:  =A1*2
copy C3 to A2:  =#REF!*2    (there is no column before A)

Lo stesso succede quando una formula copiata in un altro foglio o in un'altra cartella di lavoro punta a celle che lì non esistono. Blocca con $ le celle che non devono spostarsi (=$B$2*2), oppure copia il testo della formula dalla barra della formula invece della cella. I riferimenti assoluti spiegano il $.

Trovare ed eliminare ogni #RIF! in una cartella di lavoro

  1. Premi Ctrl+F (Cmd+F su Mac), scrivi #RIF!, apri Opzioni, imposta Cerca in su Formule e fai clic su Trova tutti. L'elenco mostra ogni formula con un riferimento interrotto.
  2. Per correggerne molte in una volta, usa Ctrl+H (Control+H su Mac): trova #RIF! e sostituiscilo con il riferimento corretto, ma solo quando ogni risultato deve ricevere la stessa cella.
  3. Controlla Formule > Gestione nomi: un nome la cui colonna Riferito a mostra #RIF! rompe ogni formula che lo usa.
  4. Se i dati eliminati non ci sono più e la formula non serve più, seleziona le celle e sostituisci le formule con i loro valori (Copia, poi Home > Incolla > Valori). I valori di errore restano errori, quindi elimina poi quelle celle.

Correggere una ricerca che restituisce #RIF!

Correggere la ricerca delle giacenze
F2
ABCDEF
1ProductPriceStockLook forStock
2Apple1.240Plum
3Pear1.525
4Plum0.860
5Bread2.412
6Milk1.130
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: =VLOOKUP(E2,A2:C6,4,FALSE) ha restituito #REF!. Scrivi in F2 una ricerca che funzioni e restituisca la giacenza del prodotto in E2.

Va bene qualsiasi ricerca che qui restituisca 60 e segua i dati: CERCA.VERT con la colonna 3, =CERCA.X(E2;A2:A6;C2:C6) oppure =INDICE(C2:C6;CONFRONTA(E2;A2:A6;0)).

Domande frequenti

Cosa significa #RIF! in Excel?

La formula punta a una cella che non esiste. Il più delle volte è stata eliminata una riga, una colonna o un foglio che la formula usava, ed Excel ha sostituito il riferimento con #RIF!, quindi =B2*C2 è diventata =B2*#RIF!. Anche CERCA.VERT e INDICE restituiscono #RIF! quando il numero di colonna o di riga è più grande dell'intervallo.

Come correggo #RIF! dopo aver eliminato una colonna?

Premi subito Ctrl+Z (Cmd+Z su Mac) per annullare l'eliminazione. Se è troppo tardi, fai clic sulla formula e sostituisci #RIF! con la cella che deve usare, poi copia di nuovo la formula verso il basso.

Perché CERCA.VERT restituisce #RIF!?

Il numero di colonna è più grande del numero di colonne dell'intervallo della tabella. =CERCA.VERT(E2;A2:C6;4;FALSO) chiede la 4ª colonna di un intervallo di 3 colonne. Usa 3, oppure allarga l'intervallo ad A2:D6.

Come trovo tutti gli errori #RIF! in una cartella di lavoro?

Premi Ctrl+F (Cmd+F su Mac), cerca #RIF!, imposta Cerca in su Formule e fai clic su Trova tutti. Excel elenca ogni formula che contiene un riferimento interrotto. Controlla anche Formule > Gestione nomi: dopo un'eliminazione i nomi possono puntare a #RIF!.

Come evito #RIF! quando elimino righe o colonne?

Fai riferimento a intervalli invece che a singole celle. =SOMMA(B2:D2) si riduce a =SOMMA(B2:C2) quando viene eliminata la colonna C o D, mentre =B2+C2+D2 diventa =B2+#RIF!+C2. Le ricerche che indicano la colonna da restituire, come =CERCA.X(E2;A2:A6;C2:C6), sopravvivono all'inserimento di colonne e all'eliminazione delle colonne che non usano.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA