Come cercare o trovare valori in un'altra cartella di lavoro?
Nel lavoro quotidiano con Excel, capita spesso di dover recuperare informazioni da un’altra cartella di lavoro. Che tu stia compilando un riepilogo, confrontando registrazioni tra reparti o semplicemente desideri utilizzare dati di riferimento archiviati separatamente, saper cercare valori e restituire informazioni da una cartella esterna è fondamentale. Questa funzionalità migliora notevolmente la coerenza dei dati e riduce gli errori manuali, soprattutto quando si lavora con intervalli di origine distribuiti, set di dati di grandi dimensioni o cartelle condivise con i colleghi.
Questo articolo presenta diversi metodi per cercare valori in un’altra cartella di lavoro e restituire direttamente i dati correlati nel file Excel attivo. Vengono illustrati tre approcci pratici, pensati per coprire gli scenari più comuni: la classica funzione CERCA.VERT con riferimento a cartelle aperte o chiuse, una soluzione basata su VBA per esigenze dinamiche e tecniche alternative basate su formule avanzate. Spiegazioni chiare ed esempi concreti ti aiuteranno a individuare il metodo più adatto al tuo flusso di lavoro.
- Cercare dati con VLOOKUP e Valore restituito da un'altra cartella di lavoro in Excel
- Cercare dati con VLOOKUP e Valore restituito da un'altra cartella di lavoro chiusa con VBA
- Soluzioni alternative con formule per ricerche tra cartelle di lavoro
Recuperare dati con VLOOKUP e Valore restituito da un'altra cartella di lavoro in Excel
Si supponga di preparare una tabella Acquisti frutta in Excel e di dover recuperare gli ultimi prezzi dei frutti memorizzati in un’altra cartella di lavoro. Invece di copiare e incollare, è possibile cercare automaticamente i nomi dei frutti dalla cartella di origine e recuperare i relativi prezzi, garantendo accuratezza in tempo reale e aggiornamenti automatici. Di seguito viene illustrato come eseguire questa operazione utilizzando la funzione VLOOKUP.


Inizia aprendo sia la cartella di lavoro in cui desideri raccogliere o riepilogare i dati, sia quella di origine che contiene le informazioni (ad esempio, i prezzi).
Scegli la cella in cui desideri visualizzare il prezzo di un frutto e inseriscici la seguente formula, sostituendo i dettagli come necessario:
=VLOOKUP(B2,[Price.xlsx]Sheet1!$A$1:$B$24,2,FALSE)
Dopo aver digitato la formula, premi Invio. Se vuoi applicare questa formula anche alle altre righe, trascina semplicemente il quadratino di riempimento (il piccolo quadrato nell’angolo in basso a destra della cella) verso il basso per compilare automaticamente tutte le celle necessarie.


Spiegazione e suggerimenti:
(1) Nella formula d’esempio sopra:
- B2 è la cella che contiene il frutto da cercare.
- Price.xlsx è la cartella di lavoro di origine che contiene i dati sui prezzi. Assicurati che il nome del file e l’estensione siano corretti.
- Foglio1 è il foglio all’interno della cartella di lavoro di origine che contiene la tabella di ricerca.
- A$1:$B$24 è l’intervallo in cui si trovano sia la chiave (ad esempio, i nomi dei frutti) sia il valore (i prezzi). Modifica l’intervallo se l’area dei dati è diversa.
- 2 indica che i valori verranno restituiti dalla seconda colonna dell’intervallo limitato.
- FALSO garantisce che sia richiesta una corrispondenza esatta; con VERO, invece, si potrebbero ottenere risultati approssimativi o errati.
(3) Se visualizzi un errore #N/D, in genere significa che il valore cercato non esiste nell’intervallo di origine. Controlla l’ortografia, l’intervallo e assicurati che tutte le cartelle necessarie siano disponibili.
Utilizzando questo metodo, puoi consolidare prezzi o informazioni aggiornati provenienti da origini esterne. Il valore restituito verrà aggiornato automaticamente ogni volta che la cartella di lavoro di origine cambia, purché quest’ultima sia aperta o accessibile nel percorso corretto.
Vantaggi: Facile da configurare per la maggior parte degli utenti; i dati vengono aggiornati automaticamente.
Limitazioni: Le formule possono diventare complesse se percorsi o nomi delle cartelle di lavoro cambiano, e le ricerche tra cartelle di lavoro chiuse potrebbero rallentare file di grandi dimensioni o richiedere l’aggiornamento dei collegamenti.
Per recuperi più complessi o quando si fa spesso riferimento ai dati con la cartella di lavoro esterna chiusa, valuta l’uso del metodo VBA o delle formule alternative riportate di seguito.
![]() | La formula è troppo complicata da ricordare? Salvatala come voce di Testo automatico e riutilizzala in futuro con un solo clic!Ulteriori informazioni… Prova gratuita |

Sblocca la magia di Excel con KUTOOLS AI
- Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
- Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
- Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
- Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
- Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Recuperare dati con VLOOKUP e Valore restituito da un'altra cartella chiusa utilizzando VBA
Configurare i riferimenti di ricerca con VLOOKUP può rivelarsi complicato, soprattutto quando si modificano spesso il percorso, il nome o il foglio del file di origine. In questi casi, automatizzare la ricerca con VBA rappresenta una soluzione più efficiente: permette infatti di recuperare valori anche quando la cartella di lavoro di origine è chiusa e gestisce automaticamente la selezione dell’intervallo e l’estrazione dei dati.
Seguire questi passaggi per utilizzare VBA nelle ricerche tra cartelle di lavoro:
1. Premere contemporaneamente Alt+F11 per aprire la finestra dell’editor Microsoft Visual Basic for Applications.
2.Nell’editor VBA, fare clic su Inserisci>Modulo, quindi copiare e incollare il codice seguente nella finestra del modulo:
VBA: Cercare dati con VLOOKUP e Valore restituito da un'altra cartella di lavoro chiusa
Option Explicit
' Convert column number to column letter
Private Function GetColumn(ByVal Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & _
Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
' Get current selection address
xAddress = Application.ActiveWindow.RangeSelection.Address
' Ask user to select lookup range
Set xUserRange = Application.InputBox( _
Prompt:="Lookup values :", _
Title:="Kutools for Excel", _
Default:=xAddress, _
Type:=8)
If Err.Number <> 0 Then Exit Sub
On Error GoTo 0
' Limit selection to used range
Set xUserRange = Application.Intersect(xUserRange, _
Application.ActiveSheet.UsedRange)
' Ask user to select source workbook
xFileName = Application.GetOpenFilename( _
"Excel Files (*.xlsx), *.xlsx", _
1, _
"Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
' Open source workbook
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
' Build external reference string
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & _
xSourceSh.Name & "'!$"
' Loop through user range
For Each xRg In xUserRange
' Find matching value in source sheet
Set xFCell = xSourceSh.Cells.Find( _
What:=xRg.Value, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
MatchCase:=False)
' If found, write formula 2 columns to the right
If Not xFCell Is Nothing Then
xRg.Offset(0, 2).Formula = _
xString & _
GetColumn(xFCell.Column + 1) & _
"$" & xFCell.Row
End If
Next xRg
' Close source workbook without saving
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub Dettagli importanti:
- Il codice restituisce il valore corrispondente in una colonna posizionata due colonne a destra rispetto all’intervallo di ricerca. Ad esempio, se si seleziona la colonna B, i risultati vengono visualizzati nella colonna D.
- Se si desidera che il risultato appaia in una colonna diversa, modificare il numero 2 in
xRg.Offset(0,2).Formulacon un altro valore (ad esempio,)1 per la colonna successiva, 3 per la terza colonna a destra). - Scegliere la cartella di lavoro e il foglio corretti quando richiesto; il codice utilizzerà sempre il primo foglio del file selezionato. Modificare il codice se il foglio di origine non è il primo.
- Salva sempre il file prima di eseguire macro sconosciute: una volta avviate, non possono essere annullate.
3. Eseguire la macro premendo il tasto F5 oppure facendo clic sul pulsante Esegui. Apparirà una finestra di dialogo intitolata «Kutools per Excel» che chiederà di selezionare l’intervallo di celle i cui valori si desidera cercare.

4. Dopo aver selezionato l’intervallo, fai clic su OK. Poco dopo apparirà un’altra finestra di dialogo che ti chiederà di scegliere la cartella di lavoro di origine (anche se è chiusa). Individua e seleziona il file appropriato, quindi fai clic su Apri per confermare.

Al termine della macro, i valori corrispondenti provenienti dalla cartella di lavoro di origine verranno inseriti nella colonna di destinazione del proprio foglio di lavoro corrente. Se alcuni valori risultano mancanti, verificare che l’intervallo dei valori di ricerca nel foglio di lavoro corrente corrisponda esattamente a quello nei dati di origine: maiuscole/minuscole e spazi iniziali o finali influiscono sulla corrispondenza esatta.

Vantaggi: Gestisce cartelle di lavoro chiuse, evita riferimenti hardcoded al percorso file nelle formule e offre massima flessibilità nella selezione dei file di origine al momento dell’uso.
Considerazioni: È necessario abilitare le macro; VBA potrebbe non funzionare su fogli protetti o con dati provenienti da file non Excel. Salvare la cartella di lavoro in formato con supporto alle macro (*.xlsm) se si prevede di utilizzare spesso questo metodo.
In caso di errori, assicurati che non vi siano errori di battitura nei nomi dei fogli o dei file, che l’intervallo selezionato sia appropriato e che i percorsi dei file siano accessibili. Per il debug, puoi eseguire il codice riga per riga utilizzando l’editor VBA.
Soluzioni alternative con formule per ricerche tra cartelle di lavoro
Oltre all’approccio classico con VLOOKUP e a VBA, esistono metodi alternativi per effettuare ricerche tra cartelle di lavoro in Excel. Questi si rivelano particolarmente vantaggiosi in determinate situazioni, ad esempio quando la struttura dei dati è diversa, si preferiscono le formule alle macro o si richiede maggiore flessibilità—come nella ricerca verso sinistra o con criteri multipli.
Utilizzo delle funzioni INDICE e CONFRONTA tra cartelle di lavoro
Combinando INDICE e CONFRONTA, è possibile cercare valori in qualsiasi direzione—sinistra, destra, sopra o sotto—in un’altra cartella di lavoro. Ciò è particolarmente utile quando la colonna da cui recuperare i dati non si trova a destra della colonna di ricerca (un limite di VLOOKUP).
Scenario: Supponiamo di voler recuperare un prezzo da un’altra cartella di lavoro aperta, in cui il nome del frutto potrebbe non trovarsi nella prima colonna.
1.Nella cartella di lavoro di destinazione, selezionare la cella in cui visualizzare il risultato (ad esempio, C2) e inserire la formula seguente (sostituire cartella di lavoro, foglio e intervallo secondo necessità):
=INDEX([Price.xlsx]Sheet1!$B$1:$B$24, MATCH(B2, [Price.xlsx]Sheet1!$A$1:$A$24,0)) 2. Premere Invio. Copiare quindi la formula nelle altre righe necessarie trascinando il quadratino di riempimento.
Spiegazione dei parametri:
- [Price.xlsx]Foglio1!$B$1:$B$24: L’intervallo in cui sono memorizzati i prezzi.
- B2: Il nome del frutto da cercare.
- [Price.xlsx]Foglio1!$A$1:$A$24: L’intervallo in cui cercare il valore desiderato.
- L’0 alla fine garantisce una corrispondenza esatta.
Punti di forza: Funziona per ricerche sia a sinistra che a destra e supporta layout più flessibili.
Suggerimenti: Evita di spostare o rinominare i file di origine senza aggiornare la formula.
Utilizzo di XLOOKUP per ricerche tra cartelle di lavoro (Excel 365 e versioni successive)
Se utilizzi Excel 365 o Excel 2021, la nuova funzione XLOOKUP offre ancora maggiore flessibilità: trova facilmente corrispondenze esatte, supporta ricerche a sinistra e gestisce automaticamente i valori mancanti senza generare errori.
Per utilizzarla:
Nella cella in cui si desidera il risultato, inserire:
=XLOOKUP(B2, [Price.xlsx]Sheet1!$A$1:$A$24, [Price.xlsx]Sheet1!$B$1:$B$24, "Not found") Premere Invio e copiare la formula secondo necessità. Qui, «Non trovato» può essere sostituito con qualsiasi testo personalizzato da visualizzare quando la ricerca non dà risultati.
Vantaggi: Più flessibile di VLOOKUP e più semplice da gestire; evita molti errori comuni legati alle formule legacy. Tuttavia, XLOOKUP è disponibile solo nelle versioni più recenti di Excel.
Per esigenze complesse—come la corrispondenza con criteri multipli, la ricerca in fogli uniti o l’ottimizzazione delle prestazioni in file molto grandi—valuta di organizzare i dati di origine in tabelle strutturate o di utilizzare lo strumento Power Query di Excel per collegare i dati in modo efficiente tra più cartelle di lavoro.
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi
