Excel errore #RIF! (#REF!): cause e soluzioni
L'errore #RIF! (#REF!) in Excel indica che una formula fa riferimento a una cella, colonna o foglio che non esiste più, in genere dopo una cancellazione. Puoi ripristinarlo subito con Ctrl+Z oppure sostituire il testo #RIF! nella barra della formula con l'intervallo corretto. Per evitare che si ripeta, usa tabelle Excel e intervalli con nome.
L'errore #RIF! è uno dei messaggi più fastidiosi di Excel, perché compare spesso solo dopo aver eliminato o spostato qualcosa. A differenza di un errore di battitura, segnala un riferimento che letteralmente non esiste più. Scopri da cosa deriva, come risolverlo e come prevenirne la ricomparsa.
L'errore #RIF! indica che una formula punta a una cella che non esiste più
L'errore #RIF! (in inglese #REF!, abbreviazione di reference) compare quando una formula fa riferimento a una cella, riga, colonna o foglio non più valido. Excel non può sostituire il riferimento con un'altra cella, quindi inserisce il testo #RIF! al posto di quello che era un indirizzo di cella.
Lo vedi nella barra della formula. Dove prima c'era, ad esempio, =B2*C2, dopo aver cancellato la colonna C leggi all'improvviso =B2*#RIF!. La formula esiste ancora, ma manca un indirizzo valido per eseguire il calcolo.
L'errore si propaga. Se una seconda formula fa riferimento alla cella con #RIF!, eredita l'errore. In un modello articolato, una sola colonna cancellata può mettere decine di celle in rosso. Per questo conviene individuare l'origine dell'errore invece di riparare ogni cella singolarmente.
Non confondere #RIF! con altri messaggi. #NOME? significa che Excel non riconosce un nome di funzione o un intervallo con nome, #VALORE! indica un tipo di dati errato, e #N/D segnala che una funzione di ricerca non ha trovato nulla. #RIF! indica specificamente un riferimento che ha perso il suo bersaglio. Questa differenza ti aiuta a scegliere la soluzione giusta: con #RIF! ripristini il riferimento, non il nome della funzione o il tipo di dato.
Quattro situazioni causano quasi ogni #RIF!
L'errore nasce sempre quando il bersaglio di un riferimento scompare o non è più raggiungibile. La tabella riassume le quattro cause più comuni.
| Causa | Esempio |
|---|---|
| Riga, colonna o cella eliminata a cui si faceva riferimento | Colonna C cancellata mentre =B2*C2 vi puntava |
| Foglio di lavoro eliminato a cui la formula guardava | =Gen!B2 dopo che il foglio Gen è stato rimosso |
| Una funzione di ricerca punta oltre la tabella | CERCA.VERT con indice colonna 5 in una tabella di 4 colonne |
| Contenuto incollato o tagliato sopra la cella di destinazione | Altri dati incollati sopra l'intervallo di origine |
In particolare, tagliare (Ctrl+X) e poi incollare è infido. Se tagli una cella e la incolli sopra una cella a cui una formula faceva riferimento, l'obiettivo originale scompare e rimane un #RIF!. Copiare (Ctrl+C) non ha questo effetto, perché l'origine continua a esistere.
Nelle funzioni di ricerca e riferimento #RIF! compare più rapidamente
Alcune funzioni sono particolarmente sensibili a questo errore, perché lavorano con posizioni fisse.
- CERCA.VERT. L'errore compare se il numero indice colonna è maggiore del numero di colonne della matrice tabella. Se elimini una colonna all'interno della matrice, il conteggio slitta e l'indice non rientra più nella tabella. Se preferisci un metodo che faccia riferimento alla colonna stessa, leggi la differenza in CERCA.VERT vs CERCA.X.
- INDICE. Se chiedi a INDICE la riga 12 in un intervallo di 10 righe, la funzione restituisce #RIF! perché quella riga non esiste.
- INDIRETTO. Questa funzione costruisce un riferimento a partire da un testo. Se il testo non è corretto, ad esempio per un foglio eliminato, ottieni subito un #RIF!.
- Riferimenti 3D. Quando una formula fa riferimento a una serie di fogli (
=SOMMA(Gen:Dic!B2)) e uno di questi viene cancellato, la sequenza può rompersi.
Lo schema è sempre lo stesso: la funzione calcola con una posizione che è venuta meno a causa di una modifica.
Subito dopo un'eliminazione puoi correggere l'errore con Ctrl+Z
Se il #RIF! è comparso subito dopo aver cancellato qualcosa, la soluzione più rapida è annullare.
- Premi subito Ctrl+Z, oppure fai clic su Annulla nella barra di accesso rapido. La riga o la colonna eliminata riappare e il riferimento si ripristina.
- Se l'annullamento non è più possibile, seleziona la cella con l'errore e visualizza la formula nella barra della formula.
- Seleziona il frammento
#RIF!nella formula e digita sopra l'indirizzo o l'intervallo corretto. - Conferma con Invio e verifica che il risultato sia corretto.
Se devi correggere una funzione di ricerca, modifica il numero indice colonna in base alla nuova posizione della colonna desiderata, oppure sostituisci l'indice fisso con uno che cerchi la colonna stessa. Se l'errore è in una formula INDICE, controlla che il numero di riga o di colonna richiesto rientri nei limiti dell'intervallo.
In una cartella di lavoro grande puoi individuare ogni #RIF! con Trova e sostituisci
In un file molto esteso gli errori possono essere sparsi su più fogli. Cercali tutti insieme.
- Premi Ctrl+H per aprire Trova e sostituisci.
- Digita
#RIF!in Trova. - Fai clic su Opzioni e imposta In su Cartella di lavoro per esaminare tutti i fogli.
- Scegli Trova tutto. Excel mostra un elenco di ogni cella che contiene l'errore; fai clic su una riga per passare direttamente a quella cella.
Se vuoi capire come una formula arriva all'errore, usa Formule > Valuta formula. Excel esegue il calcolo passo passo, mostrandoti esattamente il momento in cui il riferimento si perde. Un altro strumento utile è Formule > Individua precedenti, che con delle frecce indica quali celle alimentano una formula.
Ripristinare un CERCA.VERT rotto mostra l'approccio
Un caso molto comune: avevi =CERCA.VERT(A2; Prezzi!A:E; 5; FALSO) per recuperare il prezzo dalla quinta colonna. Qualcuno elimina la colonna C nel foglio Prezzi, così la tabella conta solo quattro colonne. La formula continua a contare 5, ma quella colonna non esiste più e il risultato diventa #RIF!.
- Seleziona la cella con l'errore e leggi nella barra della formula se il numero indice (5) corrisponde ancora alla nuova larghezza della tabella.
- Riconta le colonne nel foglio Prezzi. Il prezzo ora si trova nella quarta colonna.
- Modifica il numero indice in 4:
=CERCA.VERT(A2; Prezzi!A:D; 4; FALSO). - Copia la formula corretta nelle altre righe.
Se vuoi evitare questo tipo di correzioni in futuro, sostituisci l'indice fisso con CERCA.X oppure con INDICE e CONFRONTA, che fanno riferimento alla colonna stessa. La differenza completa è descritta in CERCA.VERT vs CERCA.X.
Anche nomi e elenchi di convalida eliminati provocano #RIF!
Non sono solo i riferimenti di cella a rompersi. Se usi un intervallo con nome in una formula e poi elimini quel nome da Formule > Gestione nomi, ogni formula che lo utilizzava restituisce un errore. Di solito Excel mostra #NOME?, ma se all'interno del nome c'è un riferimento a un intervallo può diventare anche #RIF!.
Anche la convalida dati è sensibile. Se un elenco a discesa (Dati > Convalida dati) punta a un intervallo che hai rimosso in seguito, l'elenco non funziona più. In caso di questo tipo di errori, verifica se l'origine esiste ancora tramite Formule > Gestione nomi e ripristina il nome o assegna un nuovo intervallo. In questo modo mantieni intatti non solo le formule, ma anche gli elenchi di input e le tabelle pivot.
Tabelle e nomi definiti evitano che i riferimenti si rompano
Previeni l'errore #RIF! usando riferimenti che si adattano quando la struttura cambia.
- Lavora con tabelle Excel. Trasforma il tuo intervallo in una tabella con Ctrl+T. I riferimenti strutturati come
Vendite[Fatturato]si adattano automaticamente quando aggiungi o elimini righe e colonne. - Usa nomi per gli intervalli. Assegna un nome a un intervallo tramite Formule > Definisci nome. Se fai riferimento con quel nome, la formula rimane leggibile e si sposta insieme all'intervallo.
- Scegli INDICE e CONFRONTA oppure CERCA.X invece di un numero indice colonna fisso. Questi metodi di ricerca puntano direttamente alla colonna e non si rompono se ne inserisci una in mezzo.
- Elimina le colonne con consapevolezza. Se vuoi rimuovere una colonna, controlla prima con Individua precedenti se ci sono formule che ne dipendono.
- Nascondi invece di eliminare. Se una colonna di supporto dà solo ingombro visivo, nascondila (clic con il tasto destro, Nascondi) anziché cancellarla; le colonne nascoste non rompono i riferimenti.
Anche le tabelle pivot sono sensibili alla rimozione di colonne di origine; come crearle e aggiornarle è spiegato in come creare una tabella pivot in Excel.
Con SE.ERRORE puoi nascondere in modo elegante un errore residuo
A volte un riferimento è temporaneamente vuoto oppure l'errore non dovrebbe comparire nel report finale. In questi casi, intercettalo con SE.ERRORE in modo che appaia un valore vuoto o un testo personalizzato al posto di #RIF!:
=SE.ERRORE(B2*C2; "")
Usa SE.ERRORE con giudizio. Nasconde non solo #RIF!, ma anche altri errori come #DIV/0! e #N/D. Perciò, risolvi prima il riferimento sottostante e aggiungi SE.ERRORE solo quando sei certo che l'errore sia innocuo. Altrimenti mascheri un problema reale nel calcolo e ti accorgi troppo tardi che mancano dei numeri.
Se vuoi intercettare solo errori specifici, usa SE.NON.DISP. esclusivamente per #N/D, oppure controlla in anticipo con VAL.ERRORE. In questo modo tieni sotto controllo gli errori che vuoi vedere. Una buona pratica è lasciare gli errori visibili durante la fase di costruzione e aggiungere SE.ERRORE solo quando il modello è finito e pronto per essere condiviso. Così non mascheri problemi che devi ancora risolvere. Approfondisci i messaggi più comuni e come evitarli nella spiegazione di Microsoft sull'errore #RIF!.
Domande frequenti
L'errore #RIF! indica che una formula fa riferimento a una cella, riga, colonna o foglio di lavoro che non esiste più. Excel non può sostituire l'indirizzo e inserisce perciò il testo #RIF! nella formula. La causa è quasi sempre un'eliminazione o una cella tagliata.
Sì, se l'errore si è appena prodotto a seguito di un'eliminazione, premi immediatamente Ctrl+Z. La riga o la colonna eliminata torna visibile e il riferimento si ripristina. Se l'annullamento non è più possibile, sostituisci il testo #RIF! nella barra della formula con l'indirizzo corretto.
Apri Trova e sostituisci con Ctrl+H e digita #RIF! nel campo Trova. Tramite Opzioni imposta In su Cartella di lavoro e scegli Trova tutto. Excel mostra un elenco di tutte le celle che contengono l'errore, permettendo di raggiungerle direttamente.
CERCA.VERT restituisce #RIF! quando l'indice di colonna è maggiore del numero di colonne presenti nella matrice della tabella. Questo succede spesso dopo aver eliminato una colonna all'interno della tabella. Correggi l'indice oppure usa CERCA.X, che fa riferimento direttamente alla colonna.
Converti i tuoi dati in una tabella Excel con Ctrl+T e utilizza riferimenti strutturati o intervalli con nome. Questi si adattano automaticamente quando aggiungi o elimini righe o colonne, riducendo così la probabilità dell'errore #RIF!.
Se una formula fa riferimento a una cella che a sua volta contiene un #RIF!, eredita l'errore. Così una singola colonna eliminata può mettere in rosso un'intera serie di celle. Ripara per prima cosa l'errore originario; le celle dipendenti si correggeranno da sole.
Articoli correlati
Mira supporta le aziende nelle implementazioni Windows e Office e risolve quotidianamente problematiche di attivazione, licenze e codici di errore.
Vai al profilo