corretta sintassi cerca vet su tabella esterna

Anonimo
2016-05-13T22:53:16+00:00

Salve

vorrei sapere la corretta sintassi per la formula cerca vert dato che non riesco ad applicarla su una tabella contenuta in un altra cartella di lavoro excel.

Se inserisco i riferimenti di cella della matrice funziona, ma se aggiungo altre celle al database sono costretto a cambiare sempre la formula per aggiornare il file e lavorando con una tabella che aumenta costantemente di giorno in giorno questa operazione diventa un po scomoda. Non riesco tuttavia a scrivere corrttamente la formula.

Ho povato piu volte ma funziona solo se la tabella si trova nello stesso foglio in cui si trova la formula cerca vert, mentre invece non funziona se la tabella e' in un altra cartella di lavoro.

Grazie mille

Banjer71

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2016-05-15T08:37:26+00:00

Ciao Banjer71

Grazie mille Norman,  davvero!

Grazie a te,  Banjer, per il cortese riscontro.

Se il mio codice risolva il problema, per chiudere questo thread, vorrei chiederti gentilmente di segnare la mia risposta come Risposta. In questo modo, tu aiuterai anche coloro che potessero cercare soluzioni ai problemi simili negli archivi della Community.

Solo oggi a Londra? 

No, Vado a Londra molto spesso perchè abito a soli 40 km.

Buona domenica.

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2016-05-14T05:14:47+00:00

Ciao Banjer71,

vorrei sapere la corretta sintassi per la formula cerca vert dato che non riesco ad applicarla su una tabella contenuta in un altra cartella di lavoro excel.

Se inserisco i riferimenti di cella della matrice funziona, ma se aggiungo altre celle al database sono costretto a cambiare sempre la formula per aggiornare il file e lavorando con una tabella che aumenta costantemente di giorno in giorno questa operazione diventa un po scomoda. Non riesco tuttavia a scrivere corrttamente la formula.

Ho povato piu volte ma funziona solo se la tabella si trova nello stesso foglio in cui si trova la formula cerca vert, mentre invece non funziona se la tabella e' in un altra cartella di lavoro.

Un approccio ad una tabella di ricerca dinamica in una cartella di lavoro chiusa potrebbe essere di rivolgersi a VBA.

Per dimostrare questo approccio, prova qualcosa del genere:

  • Fai clic dx sulla linguetta del foglio con la tabella di ricerca
  • Seleziona l'opzione Visualizza Codice dal **** menu contestuale risultante
  • Incolla il seguente codice:

'=========>>

Option Explicit

'--------->>

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Rng As Range, Rng2 As Range

    Dim Nme As Name

    Const sColonneTabella = "A:C"                                                '<<=== Modifica

    Const sPrimaCellaTabella As String = "A1"                              '<<=== Modifica

    Const sNomeTabella As String = "MiaTabella"                       '<<=== Modifica

    With Me

        Set Rng = Intersect(.Range(sPrimaCellaTabella).CurrentRegion, _

                            .Columns(sColonneTabella))

    End With

    If Rng Is Nothing Then

        Exit Sub

    Else

        ThisWorkbook.Names.Add Name:=sNomeTabella, RefersTo:=Rng

    End If

End Sub

'<<========= 

  • Alt+Q per chiudere l'editor di VBA e tornare a Excel.
  • Salva il file con l'estensione xlsm.

Questo codice automaticamente crea o aggiorna l'intervallo del nome definito MiaTabella assegnato alla tabella.

Per le mie prove ho creato un file MyDataBase.xlsm con una tabella di ricerca nell'intervallo A1:C50 del primo foglio.  Ho poi creato un file di prova, TestLookup.xlsx in cui ho inserito delle semplice formule del tipo:

=CERCA.VERT(A2;'C:\Users\NDJ\Dropbox\MyDatabase.xlsm'!MiaTabella;2;0)

Se le formule fossero immesse quando il primo file è aperto, non sarebbe necessario includere anche il percorso del primo file in quanto verrà automaticamente aggiunta alla chiusura del file.

Queste formule restituiranno i risultati voluti, independentmente di eventuali modifiche alla tabella di ricerca dinamica, e independentente del fatto che quel file sia chiuso o aperto. 

Potresti scaricare il file zippato **MyDatabase.zip.**che comprende le mie due file, MyDatabase.xlsm e TestLookup.xlsx,  a:

https://www.dropbox.com/s/s3hu9bh3r1had61/MyDatabase.zip?dl=0

Anche se non cambia il principio di questo suggerimento, ti consiglierei anche di prendere in considerazione l'uso delle due funzioni INDICE e  CONFRONTO, anzichè CERCA.VERT, per la tua esigenza in quanto sono più flessibile e non sono volatile. 

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-05-16T12:41:17+00:00

    Senza nulla togliere alla ottima soluzione di Norman, mi permetto di suggerire l'uso delle tabelle di excel.

    Home > Formatta come tabella. Una volta creata la tabella, nella scheda Progettazione degli strumenti tabella, le puoi dare un nome (Excel le assegna un nome predefinito tipo Tabella1, Tabella2,...) e poi usi il nome (eventualmente preceduto dal nome del file).

    Ogni volta che aggiungi delle righe sotto, la tabella si espande automaticamente e le tue formule funzionano considerando sempre tutti i dati. Ovviamente, se cancelli righe, la tabella si accorcia.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-05-16T05:31:11+00:00

    Ok certo

    Complimenti per il tuo italiano

    Alla prossima

    Banjer

    Ps: se ripassi il caffe ti aspetta, grazie ancora !!

    La risposta è stata utile?

    0 commenti Nessun commento