ricerca dato restituisci valore



  • ricerca dato restituisci valore
    di angy (utente non iscritto) data: 11/02/2014 20:48:12

    Buonasera a tutti,
    avrei bisogno di vostro aiuto ad un problema al quale non ne vengo fuori.
    Arrivo al problema cercando di spiegarmi al meglio.
    Con questa formula vado a cercare nel foglio Brambilla Michele se alla data della cella "D2" presa dal foglio Quadro Giornaliero,
    effettua un turno es. Coin 1 turno.

    =SE.ERRORE(INDICE('Brambilla Michele'!$B$1:$B$34;CONFRONTA($D$2&"Coin 1 turno";INDICE('Brambilla Michele'!$A$1:$A$34&'Brambilla Michele'!$B$1:$B$34;);0)-GIORNO($D$2)-1);"")

    Faccio un esempio: la cella D2 del foglio Quadro Giornaliero porta la data 01/01/2014, effettua la ricerca nel foglio di Brambilla Michele alla cella B4 "corrispondente alla data 01/01/2014", se trova Coin 1 Turno mi restituisce il nome del dipendente.
    Successivamente con questa formula =J6&J7&J8&J9, riporto il nome del dip. dove occorre, cioè in B6.

    Ciò che avrei bisogno è una formula che mi cerchi quel turno in quella data su tutti i fogli e se trovata deve restituirmi il nome del dipendente.
    E' possibile inserire altri nomi di fogli per estendere la ricerca?
    Accetto consigli.
    Grazie



  • di angy (utente non iscritto) data: 12/02/2014 11:58:37

    Buongiorno a tutti,
    Nessuno può aiutarmi?
    Grazie



  • di Grograman (utente non iscritto) data: 12/02/2014 12:07:28

    No file no party



  • di angy (utente non iscritto) data: 12/02/2014 12:11:37

    Grazie Grograman
    ok.. Ho allegato il file.. Il foglio dove si trovano le formule è Quadro Giornaliero....



  • di scossa data: 12/02/2014 14:30:33

    Ciao,

    ma non puoi correggere la formula in J6 utilizzando INDIRETTO() e poi copiarla nelle altre celle?

    In J6:

     
    =SE.ERRORE(INDICE(INDIRETTO("'"&$I6&"'!$B$1:$B$34");CONFRONTA($D$2&J$5;INDICE(INDIRETTO("'"&$I6&"'!$A$1:$A$34")&INDIRETTO("'"&$I6&"'!$B$1:$B$34"););0)-GIORNO($D$2)-1);"")



  • di angy (utente non iscritto) data: 13/02/2014 10:10:58

    Buongiorno a tutto il forum.
    Ciao Scossa,
    facendo anche delle ricerche in rete ho provato con indiretto, ma non riuscivo ad assemblarlo per il mio quesito.
    Grazie al tuo intervento hai semplificato la formula.
    La mia invece era molto complicata in quanto dovevo ad ogni cella, dove inserivo la formula, modificare il nome del foglio.
    Grazie



  • di angy (utente non iscritto) data: 13/02/2014 10:11:40

    P.s. Risolto



  • di angy (utente non iscritto) data: 14/02/2014 09:07:51

    Buongiorno a tutti,
    avrei un problema ed è che inserendo questa formula "sotto riportato" nel foglio quadro giornaliero, nella tabella composta 25*15=375 formule, riportata per tutti i 31 giorni del mese, il file è rallentato sia all'apertura, sia quando inserisco i dati dall'userform. Quindi nel foglio al momento ho 11625 formule.
    Questa è la formula inserita. Sarà questa che mi rallenta visto tra l'altro il numero di formule inserite?
    =SE.ERRORE(INDICE(INDIRETTO("'"&$I6&"'!$B$1:$B$34");CONFRONTA($D$2&J$5;INDICE(INDIRETTO("'"&$I6&"'!$A$1:$A$34")&INDIRETTO("'"&$I6&"'!$B$1:$B$34"););0)-GIORNO($D$2)-1);"")
    Potete aiutarmi a risolvere questo problema, perche non ne esco fuori.
    Grazie ragazzi



  • di angy (utente non iscritto) data: 14/02/2014 09:19:41

    P.s. Allego il file: Turni9_6.rar



  • di angy (utente non iscritto) data: 14/02/2014 10:58:49

    Qualche idea?
    Grazie



  • di scossa data: 14/02/2014 11:15:27

    La soluzione più rapida e semplice è che imposti il calcolo su manuale e premi F9 quando vuoi eseguirlo.

    Altrimenti bisogna passare al VBA.



  • di angy (utente non iscritto) data: 14/02/2014 11:50:07

    Grazie Scossa per il tuo intervento,
    Con f9 non la conosco.
    Credo che il vba sia migliore,leggero e l'ideale ma no saprei da dove cominciare.
    Cosigliami tu,
    Grazie scossa



  • di angy (utente non iscritto) data: 14/02/2014 12:06:21

    Sono riuscito ad effettuare il calcolo manuale con f9 tramite "opzioni".
    Però potrebbe andare bene solo se fosse riferito ad un solo foglio.
    Ma da come ho notato mi disattiva dal calcolo automatico tutti i fogli.
    Come posso fare nel dire a Excel che il calcolo manuale deve essere riferito solo un foglio?
    Grazie



  • di angy (utente non iscritto) data: 14/02/2014 17:24:58

    Ciao ragazzi.
    dopo tante prove grazie alle indicazion di Scossa, sono riuscito "diciamo" a risolvere il problema, nche se penso che si potrebbe fare di meglio.
    Nell'userform ho inserito dei pulsanti ed una label che mi riferisce lo stato di calcolo.
    Vi riporto ciò che ho combinato:

    1° pulsante
    ' pulsante su manuale
    Label29 = ("Manuale") ' indica nell'userform lo stato di calcolo com'è impostato
    Application.Calculation = xlManual
    Posso lavorare più velocemente disabilitando il calcolo automatico

    2° pulsante
    ' pulsante su automatico
    Label29 = ("Automatico") ' indica nell'userform lo stato di calcolo com'è impostato
    Application.Calculation = xlAutomatic
    Qui posso lavorare più lentamente perchè mi effettua i calcoli in automatico

    3° pulsante
    ' pulsante ripristina calcolo su automatico, chiudi userform, salva ed esci
    Application.Calculation = xlAutomatic ' metto il calcolo in automatico
    Unload Me
    ActiveWorkbook.Close SaveChanges:=True

    Meglio di così non potevo visto la mia conoscenza in VBA.
    Potete consigliarmi se va bene, oppure darmi delle direttive su come migliorare?
    Grazie a tutti



  • di angy (utente non iscritto) data: 15/02/2014 09:17:23

    Buongiorno a tutti,
    vedendo che nessuno abbia risposto, devo dedurre che di meglio non è possibile.
    Allora inutile tenere la discussione aperta, mettiamo su risolto...
    Grazie a tutti



  • di Vecchio Frac data: 15/02/2014 11:46:56

    Da parte mia, ti confermo che la tua implementazione risulta corretta.
    Non ci sono miglioramenti che potrei consigliarti.
    Se sei soddisfatto, lascia la spunta su risolto.





  • di angy (utente non iscritto) data: 15/02/2014 12:25:42

    Grazie Frac per avermi risposto.
    Per quanto riguarda il quesito esposto nel post precedente, visto che non ci sono alternative, allora va bene così. Io pensavo che si potesse migliorare, ma pensavo male.
    Il fatto di aver ricevuto una risposta in merito a quanto su descritto, mi fa davvero piacere.
    Grazie Frac
    P.s. Io visito molto spesso questo forum, perchè ritengo interessante ed istruttivo. Ma devo dirti una cosa. Sei mancato un bel pò dal forum. Comunque auspico che sia stata solo una lontananza temporanea.
    Ti saluto Frac con un abbraccio



  • di Vecchio Frac data: 15/02/2014 13:12:35

    Guarda, ci sono sempre alternative e tutto è migliorabile ^_^
    Ma è necessario procedere per gradi.
    Quando hai un modello funzionante puoi sempre metterti a studiarlo per migliorarlo.
    Altrimenti, visto che è necessaria anzitutto la produttività, poichè ti sembra funzionare come previsto, va bene così.

    Grazie per la tua stima