Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Formula o Codice per ricerca particolare

Ultimo Aggiornamento: 18/08/2018 16:31
Post: 25
Registrato il: 09/09/2017
Città: SASSARI
Età: 64
Utente Junior
2007
OFFLINE
16/08/2018 11:35

Buongiorno,
vorrei trovare una formula o un codice per la soluzione della problematica che illustro brevemente, meglio esplicitata nell'esempio allegato.
Ho un database molto più ampio di quello in esempio (circa 10mila record) nel quale, tra l'altro, ci stanno nome operatore, data intervento, ora intervento.
Nell'esempio ho elaborato un report che, utilizzando conta.piu.se, mi permette di visualizzare gli interventi per data e mi fornisce una prima valutazione di quale operatore fosse in servizio nella data indicata in intestazione.
Vorrei invece ricavare il turno effettivo dell'operatore in quella data facendo leva sull'ora intervento della prima occorrenza (che potrebbe anche essere l'unica in quella data) rapportandola con quanto indicato nella tabellina helper orari/turni.
Il risultato cercato da ottenere con formula o codice nella tabella intermedia (quella bordata) dovrebbe essere uguale a quello che ho costruito manualmente nella tabella più in basso.
Nell'esempio ho creato un report settimanale, ma l'obiettivo è quello di crearne uno mensile su distinti fogli relativamente ad un anno intero.
Ringrazio anticipatamente.
Post: 216
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
OFFLINE
16/08/2018 19:33

Buonasera
in J9 da attivare con CTRL+SHIFT+INVIO e poi trascinare a destra fino a P9 e poi in basso fino a riga 14


=SE.ERRORE(INDICE($G$2:$G$4;CONFRONTA(1;(INDICE($C$2:$C$62;CONFRONTA($I9&J$1;$A$2:$A$62&$B$2:$B$62;0))>=$E$2:$E$4)*(INDICE($C$2:$C$62;CONFRONTA($I9&J$1;$A$2:$A$62&$B$2:$B$62;0))<=$F$2:$F$4);0));"")

P.S. per ottenere il risultato come messo a mano da G2 a G4 ho messo
M P S al posto di mattina pomeriggio sera
[Modificato da DANILOFIORINI 16/08/2018 19:43]
Post: 25
Registrato il: 09/09/2017
Città: SASSARI
Età: 64
Utente Junior
2007
OFFLINE
16/08/2018 21:00

Perfettissimo Danilo,
ti ringrazio molto per la soluzione fornita (quella che cercavo) e per il tempo che hai dedicato a costruire la formula piuttosto complessa.
Grazie mille, salutissimi.
Post: 11
Registrato il: 27/11/2015
Città: TORINO
Età: 37
Utente Junior
2016
OFFLINE
18/08/2018 00:11

Ciao,

Da inserire come matriciale in J9 e trascinare nella griglia:

=SE.ERRORE(INDICE($G$2:$G$4;CONFRONTA(INDICE($C$2:$C$62;CONFRONTA($I9&J$1;$A$2:$A$62&$B$2:$B$62;0));$E$2:$E$4;1));"")
Post: 26
Registrato il: 09/09/2017
Città: SASSARI
Età: 64
Utente Junior
2007
OFFLINE
18/08/2018 11:11

Buongiorno,
grazie anche a te, Tommy, per la tua proposta. Funziona altrettanto bene. Ho visto che con la Corrispondenza Approssimativa del primo Confronta (sfruttando la disposizione crecente della matrice) hai semplificato molto la formula. Grazie ancora.
Stamane ho analizzato e capito quasi completamente la formula proposta da Danilo; mi resta un dubbio.
Quel 1 (valore del primo Confronta) a che cosa si riferisce? Pensavo all'occorrenza incontrata nella matrice. Ma così non è visto che se lo cambio in 2 o maggiore la formula di quel Confronta con F9 restituisce errore #N/D.
Grazie ancora ad entrambi per l'interessamento e per il tempo dedicato.
Saluti
Post: 218
Registrato il: 15/01/2016
Città: ROMA
Età: 51
Utente Junior
2016
OFFLINE
18/08/2018 14:08

Ciao
Per capire il motivo dell uno evidenzia la matrice del CONFRONTA fai F9 e vedrai che è generata dalla moltiplicazione dei range con i criteri di ricerca quando c è corrispondenza ti da uno altrimenti zero quindi dove trova uno riporta il dato
Post: 27
Registrato il: 09/09/2017
Città: SASSARI
Età: 64
Utente Junior
2007
OFFLINE
18/08/2018 16:31

Ciao,
avevo già fatto quanto proponi. Pensavo erroneamente che quel primo CONFRONTA, dovesse determinare, in assoluto, la RIGA relativamente all'INDICE che precede. Ho acquisito un concetto che non conoscevo.
Grazie ancora
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 02:55. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com