KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come cercare o trovare valori in un'altra cartella di lavoro?

AutoreKelly Data di modifica

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.


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.

crea dati di esempiocerca in verticale i frutti da un'altra cartella di lavoro

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.

inserisci una formula per cercare in verticale da un'altra cartella di lavoro

trascina e riempi la formula nelle altre celle

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.
(2) Se chiudi la cartella di origine, Excel modificherà il riferimento nella formula includendo il Percorso file (ad esempio,)=VLOOKUP(B2,'W:\test\[Price.xlsx]Sheet1'!$A$1:$B$24,2,FALSE)). Assicurati che il file di riferimento rimanga in questo percorso, altrimenti le formule potrebbero restituire errori o #RIF!. Se sposti o rinomini la cartella di origine, potresti dover aggiornare i riferimenti nelle formule.
(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.

scheda Note La formula è troppo complicata da ricordare? Salvatala come voce di Testo automatico e riutilizzala in futuro con un solo clic!Ulteriori informazioni…     Prova gratuita
uno screenshot di kutools for excel ai

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.
Potenzia le tue capacità in Excel con strumenti basati sull’intelligenza artificiale.Scarica orae scopri un’efficienza mai provata prima!

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.

specifica l'intervallo di dati da 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.

seleziona la cartella di lavoro da cui cercherai i valori

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.

i valori corrispondenti vengono restituiti da una cartella di lavoro chiusa

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.
Se la cartella di origine è chiusa, Excel aggiornerà il percorso del file nella formula. Proprio come con VLOOKUP, assicurati che il percorso rimanga valido.

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

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

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.

ExcelWordOutlookTabsPowerPoint
  • 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