IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Excel
  New Posts New Posts RSS Feed - [Risolto] filtrare incarico da programma
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

REGISTRATEVI su IALWeb forum! E' facile e veloce! Potrete consultare tutte le sezioni del forum senza restrizioni e scrivere per dare o richiedere aiuto.
Votaci in Net-Parade

[Risolto] filtrare incarico da programma

 Post Reply Post Reply
Author
Message
mumu View Drop Down
Utente Avanzato
Utente Avanzato


Joined: 16/Set/2013
Status: Offline
Points: 832
Post Options Post Options   Thanks (0) Thanks(0)   Quote mumu Quote  Post ReplyReply Direct Link To This Post Topic: [Risolto] filtrare incarico da programma
    Posted: 15/Mag/2017 at 20:40
Ciao tutti,

in allegato ho messo il file esempio del mio problema:

nel foglio "programma" si trovano in colonna B il numero delle ore, in C:D gli orari, in E la lezione ed in F il rispettivo docente di un corso.

Ora vorrei che in automatico nel foglio "incarico docenze" nella cella B15 mi riporti il totale delle ore svolte dal docente 1 (B8) e da a27:c27 in poi mi mettesse in ordine tutti gli orari e le lezioni tenute dal docente 1 (B8).

Poi la stessa cosa deve essere fatta con il docente 2 (B55), dove nella cella B62 mi riporta il totale delle ore svolte dal docente 2 e da a74:c74 in poi mi mettesse in ordine tutti gli orari e le lezioni tenute dal docente 2 (B55).

La cosa si ripete poi per un altro numero X di docenti.

Confesso che ci ho provato ma non ho la più pallida idea di come si possa realizzare.

Grazie per l'aiuto


Daniel


Edited by mumu - 23/Mag/2017 at 20:38
Back to Top
cromagno View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 17/Nov/2015
Location: Sardegna
Status: Offline
Points: 498
Post Options Post Options   Thanks (0) Thanks(0)   Quote cromagno Quote  Post ReplyReply Direct Link To This Post Posted: 16/Mag/2017 at 09:13
Ciao,
come prima cosa, devi evitare le "celle unite" altrimenti le formule si complicano in maniera esponenziale...
Ad esempio, nel foglio "programma", le celle C4:E6 devi dividerle e mettere gli orari e la lezione per ogni riga.
Fatto questo, nel foglio "incarico docenze", nella cella B15 puoi usare:
=SOMMA.SE(programma!$F$4:$F$30;'incarico docenze'!$B$8;programma!$B$4:$B$30)

nella cella A27 (da copiare poi a destra fino alla cella C27 ed in basso fin dove serve) usa la formula matriciale (quindi da confermare con la combinazione di tasti CTRL+MAIUSC+INVIO anzichè solo con INVIO):
=SE.ERRORE(INDICE(programma!$C$1:$E$30;PICCOLO(SE.ERRORE(RIF.RIGA(programma!$B$4:$B$30)/(programma!$F$4:$F$30='incarico docenze'!$B$8);"");RIF.RIGA(A1));RIF.COLONNA(A1));"")

Per gli altri docenti devi semplicemente usare le stesse formule cambiando i riferimenti di cella.
Si potrebbe creare una "formula dinamica" valida per ogni docente ma ci deve essere una struttura sempre uguale che non si riesce a capire dal file che hai allegato.

Ti riallego il file con le formule inserite per il "Docente1".
uploads/20882/forum_-_programma.xlsx

Ciao
Tore

Windows 7 / Windows 10 - Excel 2013

"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Back to Top
mumu View Drop Down
Utente Avanzato
Utente Avanzato


Joined: 16/Set/2013
Status: Offline
Points: 832
Post Options Post Options   Thanks (0) Thanks(0)   Quote mumu Quote  Post ReplyReply Direct Link To This Post Posted: 17/Mag/2017 at 14:05
Ciao Tore,

avevo provato anch'io a fare la formula matriciale, ma ero riuscito a fare solo la prima parte come la tua e con il resto sbagliato ovviamente non funzionava nulla.

Innanzitutto grazie perchè già così è fantastico.

per quanto riguarda la tua idea della formula dinamica (che non so nemmeno cosa sia) valida per ogni docente, per la quale ci deve essere una struttura sempre uguale, puoi fare come meglio credi, in quanto non ho ancora stabilito il layout del foglio incarico docenze. Cioè puoi mettere le varie schede di incarico una vicino all'altra o sotto l'altra o come vuoi. i dati di origine sono quelli del file esempio, poi dove e come si compongono i file delle docenze è relativo, devo solo poter stampare facilmente le schede incarico.

dato che le lezioni si svolgono in giorni diversi sarebbe possibile inserire nella scheda incarico docenze oltre agli orari e le lezioni in automatico anche la data in cui si svolgono? sarebbe più facile da realizzare mettendo una colonna nascosta che contiene il riferimento alla data? però per dare una maggiore chiarezza forse sarebbe bello che se ci sono più lezioni nella stessa giornata la data nella scheda incarico venisse riportata solamente alla prima lezione di quella data!?
Le mie sono solo idee, poi se realizzabili e con quanta difficoltà questo non lo so valutare.


Grazie
Daniel



Back to Top
cromagno View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 17/Nov/2015
Location: Sardegna
Status: Offline
Points: 498
Post Options Post Options   Thanks (0) Thanks(0)   Quote cromagno Quote  Post ReplyReply Direct Link To This Post Posted: 17/Mag/2017 at 16:52
Ciao,
beh, io pensavo che una volta dato l'input avresti proseguito da solo....

Ho visto che hai aggiunto le date nel foglio "programma" (tra l'altro erano sbagliate...i giorni della settimana intendo);
perchè le hai scritte come stringa?
Le date scrvile nel cassico modo (gg/mm/aaaa), altrimenti ci vuole un altro formulone inutile per ricavare la data che ti serve.
Per non complicare le formule nel foglio "incarico docenze" conviene utilizzare una colonna d'appoggio nel foglio "programma" e per comodità verrà usata la colonna B (quindi l'attuale B si sposterà alla A).

Una volta fatto questo, il foglio "incarico docenze" potresti strutturarlo in questo modo:
image hosting

Imposterai tu il foglio per stampare un solo docente per foglio.

Con questa struttura, le formule "dinamiche" di cui parlavo, diventerebbero queste.

In cella B15 (da copiare poi nelle celle relative per gli altri docenti):
=SOMMA.SE(programma!$F$4:$F$30;B8;programma!$A$4:$A$30)

In cella A27 (da copiare a destra ed in basso per tutta la prima tabella e successivamente nelle altre tabelle degli altri docenti) la formula matriciale :
=SE.ERRORE(INDICE(programma!$B$1:$E$30;PICCOLO(SE.ERRORE(RIF.RIGA(programma!$A$4:$A$30)/(programma!$F$4:$F$30=INDICE(INDIRETTO(INDIRIZZO(8;INT(RIF.COLONNA()/5)*5+2));;));"");RIF.RIGA(A1));RESTO(RIF.COLONNA(A1)-1;5)+1);"")

Ti allego il file....
ora però prova da solo a creare quello che ti serve.
uploads/20882/forum_-_programma_1.xlsx

Ciao
Tore



Edited by cromagno - 17/Mag/2017 at 16:54
Windows 7 / Windows 10 - Excel 2013

"Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."
Back to Top
mumu View Drop Down
Utente Avanzato
Utente Avanzato


Joined: 16/Set/2013
Status: Offline
Points: 832
Post Options Post Options   Thanks (0) Thanks(0)   Quote mumu Quote  Post ReplyReply Direct Link To This Post Posted: 22/Mag/2017 at 16:24
Ciao Tore,

sono riuscito ad adattare le tue formule alle esigenze pratiche del mio foglio di lavoro.
Non riesco a capire perchè questa formula
=SOMMA.SE(programma!$F$4:$F$30;B8;programma!$A$4:$A$30)
modificandola in questo modo
=SOMMA.SE(programma!$F$4:$H$30;B8;programma!$A$4:$A$30)
non mi funziona più!?

Originariamente verifica se trova B8 in F:F nella nuova formula dovrebbe trovarmi B8 in F:H e riportarmi i valori di A, ma mi esce 0:00. come mai?
Grazie
daniel

Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 9389
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 22/Mag/2017 at 17:17

ciao

senza entrare nel dettaglio: perché ti somma anche le date in col. B e gli orari in col. C.

(nota: in somma.se, se espandi l'intervallo, si espande automaticamente la colonna interessata dalla somma anche se non lo indichi, quindi nel tuo caso è come se scrivessi: =SOMMA.SE(programma!$F$4:$F$30;B8;programma!$A$4:$C$30))

Pertanto o fai:

=SOMMA.SE(programma!$F$4:$F$30;B8;programma!$A$4:$A$30)+SOMMA.SE(programma!$G$4:$G$30;B8;programma!$A$4:$A$30)+SOMMA.SE(programma!$H$4:$H$30;B8;programma!$A$4:$A$30)

o cambi la formula in:

=MATR.SOMMA.PRODOTTO((programma!F4:H30=B8)*(programma!A4:A30))

Ovviamente entrambe le formule raddoppiano o triplicano il risultato se nella stessa riga è ripetuto il docente, cioè se per esempio hai:

ore 4 e docente1 in F-G-H, le ore diventano 12

ma non so se è quello che ti serve.

saluti



Edited by dodo47 - 22/Mag/2017 at 18:27
domenico
win 10- office 2010
Back to Top
mumu View Drop Down
Utente Avanzato
Utente Avanzato


Joined: 16/Set/2013
Status: Offline
Points: 832
Post Options Post Options   Thanks (0) Thanks(0)   Quote mumu Quote  Post ReplyReply Direct Link To This Post Posted: 22/Mag/2017 at 21:20
ciao Domenico,

è esattamente quello che mi serviva. tutto risolto! 
grazie
Back to Top
Ricky53 View Drop Down
Amministratore
Amministratore
Avatar
Esperto di Excel e PowerPoint

Joined: 05/Ott/2006
Location: Italy
Status: Offline
Points: 16480
Post Options Post Options   Thanks (0) Thanks(0)   Quote Ricky53 Quote  Post ReplyReply Direct Link To This Post Posted: 23/Mag/2017 at 15:00
Ciao,
bene allora puoi inserire [RISOLTO] nel titolo della discussione.
AMMINISTRATORE

Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,051 seconds.