Condividi tramite

Usare valore cella come variabile

Anonimo
2012-11-29T13:43:38+00:00

Salve a tutti,

vi scrivo per risolvere un micro-problema...

esempio:

Ho un foglio, temp , ed uno all dove ho alcune formule...tra cui

nella cella A1 c'è la seguente formula: =IF(VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE);"")

Allora nelle celle dello stesso foglio di A1, ho creato dei valori numerici (1 a 10) dalla cella E1 fino a E10 in modo che nella mia formula prende il valore da queste celle...fin qui ok, i nquanto essendo u nvalore numerico nelel celle E tutto fila liscio...

Ora vorrei usare i valori della cella D1 e D2 come varibili per sostituire i valori della formula $A$4:$AQ$250

in modo che in D1 ho il valore $A$4 e in D2 ho $AQ$250 avendo questa nuova formula

=IF(VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE);"")

cosi facendo se cambio valori in D1 e D2 cambio il range della mia formula....

Spero di esser stato chiaro...

Grazie Mille

Lorenzo

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

  1. Anonimo
    2012-12-04T13:22:13+00:00

    =IF(VLOOKUP(all!$B$1;temp!**INDIRECT(D1):INDIRECT(D2);**A30;FALSE)<>"";VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;A30;FALSE);"")

     

    Nell'ipotesi che gli estremi dell'intervallo siano in D1 e D2, però come stringa di testo, del foglio Temp dovresti scrivere INDIRECT in questo modo:

    INDIRECT("temp!"&D1&":"&D2)

     

    Risolto cosi:

    =IF(VLOOKUP(all!$B$1;INDIRECT("temp!"&$A$27&$B$27&":"&$C$27&$D$27);E30;FALSE)<>"";VLOOKUP(all!$B$1;INDIRECT("temp!"&$B$27&":"&$D$27);E30;FALSE);"")

    dove ho inserito i valori del range da prendere in

    A27 B27 C27 e D27

    Grazie Mille

    La risposta è stata utile?

    0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-11-29T17:51:47+00:00

    Salve a tutti,

    vi scrivo per risolvere un micro-problema...

    esempio:

    Ho un foglio, temp , ed uno all dove ho alcune formule...tra cui

    nella cella A1 c'è la seguente formula: =IF(VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE);"")

     

    Allora nelle celle dello stesso foglio di A1, ho creato dei valori numerici (1 a 10) dalla cella E1 fino a E10 in modo che nella mia formula prende il valore da queste celle...fin qui ok, i nquanto essendo u nvalore numerico nelel celle E tutto fila liscio...

     

    Ora vorrei usare i valori della cella D1 e D2 come varibili per sostituire i valori della formula $A$4:$AQ$250

    in modo che in D1 ho il valore $A$4 e in D2 ho $AQ$250 avendo questa nuova formula

    =IF(VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE);"")

     

    cosi facendo se cambio valori in D1 e D2 cambio il range della mia formula....

    Spero di esser stato chiaro...

     

    Grazie Mille

    Lorenzo

    Usa la funzione INDIRECT, vedi l'help di Excel al proposito.

    mi da errore in quanto la matrice di riferimento è nel foglio temp

    =IF(VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE);"")

    in grassetto la matrice dove leggere il vlookup...

    vorrei imporre la dimensioen della matrice con i dati inseriti in D1 e D2 ma mi da erroe se scrivo cosi:

    =IF(VLOOKUP(all!$B$1;temp!**INDIRECT(D1):INDIRECT(D2);**A30;FALSE)<>"";VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;A30;FALSE);"")

    e così

    =IF(VLOOKUP(all!$B$1;temp!**INDIRECT(D1);**A30;FALSE)<>"";VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;A30;FALSE);"")

    D1 contiene $A$4:$AQ$250

    se uso INDIRICET(D1) ove c'è scritto $A$4 mi restituisce valore contenuto in A4

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-11-29T16:24:55+00:00

    Salve a tutti,

    vi scrivo per risolvere un micro-problema...

    esempio:

    Ho un foglio, temp , ed uno all dove ho alcune formule...tra cui

    nella cella A1 c'è la seguente formula: =IF(VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!$A$4:$AQ$250;E1;FALSE);"")

     

    Allora nelle celle dello stesso foglio di A1, ho creato dei valori numerici (1 a 10) dalla cella E1 fino a E10 in modo che nella mia formula prende il valore da queste celle...fin qui ok, i nquanto essendo u nvalore numerico nelel celle E tutto fila liscio...

     

    Ora vorrei usare i valori della cella D1 e D2 come varibili per sostituire i valori della formula $A$4:$AQ$250

    in modo che in D1 ho il valore $A$4 e in D2 ho $AQ$250 avendo questa nuova formula

    =IF(VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE);"")

     

    cosi facendo se cambio valori in D1 e D2 cambio il range della mia formula....

    Spero di esser stato chiaro...

     

    Grazie Mille

    Lorenzo

    Usa la funzione INDIRECT, vedi l'help di Excel al proposito.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-11-29T14:03:04+00:00

    […]

    Ora vorrei usare i valori della cella D1 e D2 come varibili per sostituire i valori della formula $A$4:$AQ$250

    in modo che in D1 ho il valore $A$4 e in D2 ho $AQ$250 avendo questa nuova formula

    =IF(VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE)<>"";VLOOKUP(all!$B$1;temp!D1:D2;E1;FALSE);"")

     cosi facendo se cambio valori in D1 e D2 cambio il range della mia formula....

    Ciao Lorenzo.

    Considera la funzione:

    en: OFFSET(reference, rows, cols, [height], [width])

    it: SCARTO(Rif; Righe; Colonne; [Altezza]; [Largh])

    Sembrerebbe fare al caso tuo.

    --

    Ciao!

    Maurizio

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni