Excel Forum Per condividere esperienze su Microsoft Excel

CERCA.VERT con parametri "dinamici"

  • Messaggi
  • OFFLINE
    edo.bor62
    Post: 4
    Registrato il: 24/01/2019
    Città: SARONNO
    Età: 62
    Utente Junior
    2013
    00 12/08/2020 13:23
    Buongiorno a tutti.
    Spero e confido nel Vostro aiuto.
    Sto cercando di creare una CERCA.VERT che usi parametri dinamici (soprattutto il secondo parametro relativo alla matrice di ricerca) in modo da inserire tale formula (il CERCA.VERT) all'interno del foglio di lavoro e non toccarla più, facendo ereditare alla formula stessa i parametri che, di volta in volta, inserisco in un foglio specifico della stessa cartella di lavoro, chiamato "Parametri".
    Obiettivo finale: inserire sulla TAB "Parametri" i valori che mi interessano e cambiano nel tempo, in modo da avere poi il corrispondente CERCA.VERT automaticamente riadattato sui nuovi parametri di ricerca. Inoltre, avendo la storia dei cambiamenti nella TAB "Parametri", inserendo una riga vuota nel mezzo delle righe, posso ricostruire la situazione a quella data (ultima riga alorizzata prima di quella vuota inserita nel mezzo).
    I fogli di lavoro su cui stavo creando l'esempio sono:
    - CercaVertParametrico.xlsx, che contiene due TAB, rispettivamente "Foglio Tariffe" dove nella cella I2 - in rosso - ho l'ultima CERCA.VERT da me creata e che non funziona, e "Parametri" dove in colonna F trovate la matrice ricerca che dovrei usare nel CERCA.VERT (in colonna G vedete invece come lavora la funzione che restituisce l'ultima riga valorizzata: se inserite, ad esempio in riga 3 una riga vuota, vedete come cambia il riferimento poi usato nel CERCA.VERT).
    - Foglio tariffe per prova Tella.xlsx che contiene i valori cercati dal CERCA.VERT
    Spero di essere stato chiaro nello spiegare.
    Grazie per l'aiuto .

    EDO62
  • ONLINE
    DANILOFIORINI
    Post: 837
    Registrato il: 15/01/2016
    Città: ROMA
    Età: 51
    Utente Senior
    2016
    00 12/08/2020 21:46
    Ciao
    se non ricevi risposte è perchè non di capisce cosa vuoi fare...
    hai allegato 3 file tutti uguali....questo

    Foglio tariffe per prova Tella.xlsx dove stà??

  • OFFLINE
    edo.bor62
    Post: 4
    Registrato il: 24/01/2019
    Città: SARONNO
    Età: 62
    Utente Junior
    2013
    00 12/08/2020 23:51
    Ciao Danilo.
    Ho avuto qualche problema nell'allegare i file... e nello spiegarmi... mi metto un po' di cenere sul capo e cerco di rimediare allegando il file mancante e cercando di semplificare la spiegazione.
    in pratica: mi piacerebbe che il secondo parametro del CERCA.VERT di cella I2 del foglio "Foglio tariffe" sia valorizzato con l'ultimo valore utile della colonna F del foglio "Parametri" prima di una cella vuota. Con l'esempio dato, il valore sarebbe quello contenuto in F4. Se aggiungessi però una riga vuota nel mezzo delle valorizzate, supponiamo una nuova riga 4, il valora da utilzzare sarebbe quello nella cella F3.
    Spero di essere stato più chiaro.
    Grazie ancora per l'aiuto.
  • ABCDEF@Excel
    00 13/08/2020 01:18
    Il 1° allegato almeno hai messo il foglio parametri.
    Rinominato il files in tella.xlsx
    In Parametri cella B11 ho messo = Tella.xlsx, cella C11 = Foglio tariffe, in D/E i tuoi dati ed in F la tua formula.
    Vado in Foglio tariffe in D2 =CERCA.VERT(A2;INDIRETTO(Parametri!$F$11);2;FALSO) e funziona.
    Ho creato pure la riga12 ed in E2 =CERCA.VERT(A2;INDIRETTO(Parametri!$F$12);3;FALSO) e funziona.

    Non ho capito altro, soppratutto la cella I2
  • OFFLINE
    edo.bor62
    Post: 5
    Registrato il: 24/01/2019
    Città: SARONNO
    Età: 62
    Utente Junior
    2013
    00 13/08/2020 09:34
    Ciao ABCDEF. Grazie dell'aiuto, ma quanto da te fatto non è quanto desidererei e, di fatto, non è altro che la regola che io stesso uso nel "Foglio tariffe" nelle colonne D e E (intestazione in verde).

    Quello che invece mi servirebbe è comporre il secondo parametro del CERCA.VERT (quello che hai valorizzato ad esempio con INDIRETTO(Parametri!$F$11) usando una ricerca sulla colonna F del foglio "Parametri", ricerca che ritorni il contenuto della cella F immediatamente sopra la prima cella F vuota che si incontra. Per fare questo, ho usato le seguenti istruzioni (che trovi nel CERCA.VERT usato proprio nella cella I2 in rosso del "Foglio tariffe"):
    1) - PER RECUPERARE L'ULTIMA CELLA IN F CON VALORI, PRIMA DELLA PRIMA CELLA SEMPRE IN F MA VUOTA, ho usato:
    RIF.RIGA(INDICE(Parametri!$F$1:$F$17;CONFRONTA(VERO;Parametri!$F$1:$F$17="";0)))-1)

    2) - PER COSTRUIRE TUTTO IL SECONDO PARAMETRO DELLA CERCA.VERT, HO USATO INVECE QUESTO COMANDO (che annida al suo interno il comando del punto 1 qui sopra):
    INDIRETTO("Parametri!"&CONCATENA("F";RIF.RIGA(INDICE(Parametri!$F$1:$F$17;CONFRONTA(VERO;Parametri!$F$1:$F$17="";0)))-1))

    Da quanto vedo, tutto funziona a livello di singoli comandi, ma una volta inserito il risultato nel CERCA.VERT, il CERCA.VERT non funziona (risultato #N/D).


    Qui mi sono perso 😏
  • ABCDEF@Excel
    00 14/08/2020 00:23
    1° allegato
    Io vedo in D/E tutte le formule =CERCA.VERT(A2;INDIRETTO(Parametri!$F$3);2;FALSO) che danno #RIF
    Se analizzo INDIRETTO vedo [Foglio tariffe per prova Tella.xlsx], non vedo nessun foglio PROVA e inoltre il collegamento a G:IT_information...
    Dato che il Forum cambia i nomi dei files, sono andato a tentoni e come scritto sono riuscito a metterle a posto.
    2° allegato, con tutte le mancanze del primo ...

    Mi viene un pensiero in testa, stai cercando di fare dei collegamenti con altro/altri files sul server?

    Ps A riguardo che non funziona, in Excel/Formule esiste il valuta formula. Noi senza i Tuoi collegamenti non possiamo provare
    [Modificato da ABCDEF@Excel 14/08/2020 00:26]
  • OFFLINE
    edo.bor62
    Post: 6
    Registrato il: 24/01/2019
    Città: SARONNO
    Età: 62
    Utente Junior
    2013
    00 14/08/2020 11:55
    Grazie per la risposta e per il tempo che mi stai dedicando, ABCDEF.

    So di essere contorto (forse è un tantino contorta anche la mia necessità), per cui rifaccio il punto della situazione e puntualizzo nuovamente l'oggetto della mia richiesta, sperando poi nel tuo/Vostro supporto.

    1 - Ho allegato due file che in origine (sul mio PC) hanno nomi "Foglio tariffe per prova Tella.xlsx" il primo (che contiene una sola TAB di nome PROVA) e CercaVertParametrico.xlsx il secondo (che nell'ultima versione uploadata contiene tra TAB, rispettivamente "Foglio Tariffe", Parametri e "Parametri 2" - Parametri 2 è stata inserita solo per far capire cosa potrebbe succedere all'inserimento di una riga nel mezzo delle righe piene e come viene ad essere calcolata l'ultima riga piena prima della prima riga vuota).

    2 - In "Foglio tariffe" del file CercaVertParametrico.xlsx trovi i CERCA.VERT in colonna D, E, F e G, tutti funzionanti ma anche non oggetto della mia richiesta di aiuto. Probabilmente per evitare il #RIF! di cui parli, devi aprire anche l'altro file ("Foglio tariffe per prova Tella.xlsx"), dato che il CERCA.VERT cerca proprio su quel file. Anche a me, se non apro entrambi i files, produce il medesimo errore.

    3 - Le formule che trovi in colonna B e C (intestazione in giallo) della TAB "Foglio tariffe" non sono dei CERCA.VERT ed erano state create per una ulteriore prova di ricerca. Qui le formule usano un file che risiede su di una share di rete G:\IT_InformationTechnology, ma non sono oggetto della mia richiesta (quindi ignora tutto ciò che trovi nelle colonne dalla B alla G incluse, perché lì mi funziona tutto).

    4 - L'ulteriore evoluzione del CERCA.VERT che vorrei introdurre sta nella cella I2 (in rosso) del"Foglio tariffe": lì le formule inserite per determinare la matrice ricerca (formule che ho spiegato nella mia precedente risposta) funzionano prese una alla volta (valutate con F9), mentre il risultato finale ottenuto e che sarebbe il secondo parametro del CERCA.VERT non va... e non ne capisco la ragione.

    La mia richiesta, quindi, è per questa sola necessità (quella al punto 4 qui sopra), ovvero: cosa sbaglio nella formula e che causa poi l'errore visualizzato in I2 (cella rossa)?

    Grazie ancora per il supporto
  • ABCDEF@Excel
    00 14/08/2020 12:19
    >>>devi aprire anche l'altro file ("Foglio tariffe per prova Tella.xlsx")

    Puoi allegare i due files (zippandoli, cosi il nome non cambia) senza dati sensibili
  • OFFLINE
    dodo47
    Post: 2.954
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 14/08/2020 12:36
    ciao
    non so darti la soluzione, ma un'indicazione:

    E' pur vero che le formule prese singolarmente e valutate con F9 funzionano, ma in particolare l'inciso dell'indiretto, ti restituisce un valore errato per la ricerca del cerca.vert.

    In altre parole, l'indiretto:

    INDIRETTO("Parametri!"&CONCATENA("F";RIF.RIGA(INDICE(Parametri!$F$1:$F$17;CONFRONTA(VERO;Parametri!$F$1:$F$17="";0)))-1))

    ti restituisce:

    {"'[Foglio tariffe per prova Tella.xlsx]Prova'!$A$2:$C$26"}

    dove il cerca.vert fallisce

    Edit: Anche se tu scrivessi:
    =CERCA.VERT(A2;INDIRETTO({"Parametri!F4"});2;FALSO)
    il cerca.vert fallirebbe comunque

    Mentre, naturalmente:
    =CERCA.VERT(A2;INDIRETTO(Parametri!F4);2;FALSO)
    restituisce il valore cercato

    saluti



    [Modificato da dodo47 14/08/2020 12:46]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    edo.bor62
    Post: 7
    Registrato il: 24/01/2019
    Città: SARONNO
    Età: 62
    Utente Junior
    2013
    00 14/08/2020 13:03
    Grazie Domenico.
    Il problema è proprio come fare ad aggirare questo comportamento e quindi rendere completamente parametrico il CERCA.VERT... così facendo, se riuscissi, avrei tutto il controllo dei CERCA.VERT in un foglio (quello "Parametri") e non toccherei più le formule di ricerca (i veri e propri CERCA.VERT) sparsi su molte colonne e con molteplici riferimenti a file esterni contenenti i dati e che si modificano mensilmente.

    Grazie comunque per il tuo supporto.
  • OFFLINE
    dodo47
    Post: 2.955
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 14/08/2020 13:10
    ciao
    dopo un po' di tentativi, questa sembra funzionare:

    =CERCA.VERT(A2;INDIRETTO(INDICE(Parametri!$F$1:$F$17;CONFRONTA(VERO;Parametri!$F$1:$F$17="";0)-1));2;FALSO)

    Ti ricordo che è formula matriciale e, come tale, va inserita con ctrl+shift+invio

    saluti



    [Modificato da dodo47 14/08/2020 13:16]
    Domenico
    Win 10 - Excel 2016
  • OFFLINE
    edo.bor62
    Post: 8
    Registrato il: 24/01/2019
    Città: SARONNO
    Età: 62
    Utente Junior
    2013
    00 14/08/2020 13:10
    Grazie ancora per l'aiuto, ABCDEF.
    Allego lo ZIP che mi chiedi.
    Preciso che tutti i dati inseriti e i nomi dei file rispettano la normativa GDPR in vigore, non contenendo dati "reali".
  • OFFLINE
    edo.bor62
    Post: 9
    Registrato il: 24/01/2019
    Città: SARONNO
    Età: 62
    Utente Junior
    2013
    00 14/08/2020 13:18
    Domenico, sei un grande!
    La formula che mi hai passato funziona correttamente.
    Grazie infinite per l'aiuto.

    Un buon ferragosto a tutti.
  • OFFLINE
    dodo47
    Post: 2.957
    Registrato il: 06/04/2013
    Utente Veteran
    2010
    00 14/08/2020 13:21
    grazie del riscontro

    auguri anche a te.....





    Domenico
    Win 10 - Excel 2016