ricerca dato restituisci valore
Hai un problema con Excel? 
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
Vuoi Approfondire?