Stampare presenze giornaliere

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Stampare presenze giornaliere

Messaggio da skate2k5 »

Buongiorno, vorrei realizzare o meglio stampare giornalmente, in base al foglio di Calc che allego, un elenco che mi indichi le varie assenze di quel giorno per ogni magazzino.
Cioè il giorno 1 dovrà stampare

Magazzino 4
Amministrazione 2
Spedizioni 2
Resi 1

Il giorno 2 mi dovrà stampare

Magazzino 2
Amministrazione 1
Spedizioni 0
Resi 1

Dovrei creare una macro per ogni giorno ed associarla ad ognuno dei giorni, ma mi sembra troppo macchinoso.
come potrei risolvere?
Grazie a tutti.
Allegati
presenze.ods
(17.39 KiB) Scaricato 171 volte
Calc OpenOffice 3.1
Attilafdd
Volontario
Volontario
Messaggi: 535
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggio da Attilafdd »

Potresti creare un altro foglio con solo il riepilogo e stampare quello.

Allego un esempio.
Allegati
presenze v2.ods
(20.88 KiB) Scaricato 172 volte
LibreOffice 24.2
-------------------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggio da skate2k5 »

Grazie Attila,
quasi perfetto. Però dovrei gestire anche il MESE nella stampa giornaliera, nel senso che io avrei un foglio per ogni mese come quelli che ho inserito nel file di esempio.
Ri-allego il file modificato.
Quindi nel foglio STAMPE GIORNALIERE dovrei riuscire a sceglier prima il MESE poi il GIORNO da stampare.
Grazie mille!!!
Allegati
presenze v2.ods
(28.97 KiB) Scaricato 151 volte
Calc OpenOffice 3.1
Attilafdd
Volontario
Volontario
Messaggi: 535
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggio da Attilafdd »

Fai test.
Allegati
presenze v4.ods
(105.98 KiB) Scaricato 169 volte
LibreOffice 24.2
-------------------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggio da skate2k5 »

Cavolo Attila!!!!....mi vuoi fare impazzire!!! :crazy: :crazy: :crazy:
Dopo 1/2 ora ho capito che c'era un foglio nascosto!!!
Gran bel casino...spero di adattarlo alle mie esigenze.

Grazie mille.....faccio test e riferisco!!!! :super: :super: :super: :super:

Per ora BUON WEEK.
Calc OpenOffice 3.1
Attilafdd
Volontario
Volontario
Messaggi: 535
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggio da Attilafdd »

skate2k5 ha scritto:Dopo 1/2 ora ho capito che c'era un foglio nascosto!!!
:super: È lo spirito giusto, molti si limitano a prendere la soluzione così come arriva... il forum serve anche a questo... (fornire soluzioni)... ma soprattutto serve per diffondere conoscenza... e trovare qualcuno che vuole andare a fondo .... (anche sacrificando una 1/2 ora ;) ) ... secondo me ripaga di gran lunga tutto il tempo che volontari, amministratori, moderatori, e tutti gli altri utenti del forum mettono a disposizione del prossimo. :bravo: :super:
skate2k5 ha scritto: Gran bel casino...spero di adattarlo alle mie esigenze.
Se trovi difficoltà, posta pure i tuoi dubbi. ;)
LibreOffice 24.2
-------------------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggio da skate2k5 »

Sono perfettamente d'accordo con te!!!
Spero un domani di poter contribuire anche io (in proporzione con le conoscenze :ucrazy: ).
Grazie ancora.
Calc OpenOffice 3.1
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggio da skate2k5 »

Attilafdd ha scritto:
skate2k5 ha scritto:Dopo 1/2 ora ho capito che c'era un foglio nascosto!!!
E' vero Attila ho capito che esiste questo foglio, ma proprio non riesco a capire da dove cominiciare.
Qual'è la cella o colonna che comanda nel foglio?...da cui poi credo discendano tutte le altre?
Grazie
Calc OpenOffice 3.1
Attilafdd
Volontario
Volontario
Messaggi: 535
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggio da Attilafdd »

skate2k5 ha scritto:Qual'è la cella o colonna che comanda nel foglio?...da cui poi credo discendano tutte le altre?
Diciamo che più che una cella è una formula sulla quale si impernia la risposta alla tua esigenza. Tutto il resto diciamo che... prepara i dati per essere gestiti da questa formula.

La formula principale è l'intersezione di due aree e si ottiene con l'operatore ! (punto esclamativo) (La trovi da C6 a C9 del foglio "stampe giornaliere").

Codice: Seleziona tutto

=INDIRETTO($C$2 & "_" & $C$3) ! INDIRETTO($C$2 &"_" &B6)
Infatti, partendo dai dati organizzati nella tabella da F14 a AJ20 (dei fogli mesi) per recuperare un dato nella tabella occorre incrociare il giorno che mi interessa con il reparto.

Bene, vedi la tabella divisa in questo modo:
- ogni giorno è un'area verticale che inizia con il numero del giorno e finisce in corrispondenza di "resi" (riga 18)
- i reparti sono aree orizzontali che iniziano con il nome del reparto e terminano con il valore in corrispondenza del 31esimo giorno
Incrociando (cioè intersecando) un'area giorno con un'area reparto trovo esattamente il corrispondente valore riportato in tabella (noi umani tracciamo col dito fino all'incrocio, nei programmi si usa l'operazione "intersezione"... e come dicevo prima in Calc si usa l'operatore "!").

Se questo è chiaro provo ad andare avanti.

Tutto questo giochetto funziona meglio se "aree in colonna" e le "aree in riga" le chiamo in modo che le aree in colonna si chiamino come il numero del giorno che mi interessa, le aree in riga si chiamino come il reparto che mi interessa.
Qui utilizziamo la funzione di definizione nomi o ancor meglio di creazione automatica nomi disponibile in Calc (in Libreoffice: Foglio - Aree con nomi ed espressioni - Definisci o ancor meglio seleziona la tabella con ctrl+* poi Foglio - Aree con nomi ed espressioni - Crea e poi seleziona l'opzione sia "prima riga" che "colonna di sinistra" così in un batter d'occhio creerà i 31 nomi dei giorni e i 4 nomi dei reparti).

Poi ci viene in aiuto la funzione INDIRETTO che ci permette di fare riferimento alle aree semplicemente menzionandole per nome creato come sopra.

Per il momento la formula in C6 del foglio "Stampe giornaliere":

Codice: Seleziona tutto

=INDIRETTO($C$2 & "_" & $C$3) ! INDIRETTO($C$2 &"_" &B6)
leggila come:

Codice: Seleziona tutto

=INDIRETTO(Nome_giorno) ! INDIRETTO(Nome_reparto)
Ossia ad esempio:
- nomino il giorno 9
- con INDIRETTO richiamo l'area verticale riferibile al giorno 9
- nomino il reparto Magazzino
- con INDIRETTO richiamo l'area orizzontale riferibile al Magazzino
- interseco l'area "giorno 9" con l'area "Magazzino" tramite l'operatore "!"
... e ottengo il valore riportato nella tabella.

Mi fermo un attimo... fammi sapere se è tutto chiaro così proseguo.
LibreOffice 24.2
-------------------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggio da skate2k5 »

Ok Attila...ti seguo!
L'unica parte dove sono in confusione è la definizione dei nomi (in automatico).

Qui utilizziamo la funzione di definizione nomi o ancor meglio di creazione automatica nomi disponibile in Calc (in Libreoffice: Foglio - Aree con nomi ed espressioni - Definisci o ancor meglio seleziona la tabella con ctrl+* poi Foglio - Aree con nomi ed espressioni - Crea e poi seleziona l'opzione sia "prima riga" che "colonna di sinistra" così in un batter d'occhio creerà i 31 nomi dei giorni e i 4 nomi dei reparti).


Io uso Calc v.5.1.5.2 e per definire un nome: seleziono l'area - poi definisci- espressioni con nome - inserisci....ma non riesco a selezionare l'opzione sia "prima riga" che "colonna di sinistra", o meglio non la trovo.
Per il resto ti seguo abbastanza.
Grazie
Calc OpenOffice 3.1
Attilafdd
Volontario
Volontario
Messaggi: 535
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggio da Attilafdd »

skate2k5 ha scritto: Io uso Calc v.5.1.5.2
In firma scrivi Calc OpenOffice 3.1

Io sto usando Libreoffice 5.3.3... forse c'è qualche diversità nei menu, comunque da me si trova qui:
Allegati
presenze v4 menu crea nomi.png
presenze v4 menu crea nomi (prima riga e colonna).png
LibreOffice 24.2
-------------------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggio da skate2k5 »

Ok trovato.
...ti seguo...
Grazie
Calc OpenOffice 3.1
Attilafdd
Volontario
Volontario
Messaggi: 535
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggio da Attilafdd »

Bene, proseguiamo.

Capito come gira la formula

Codice: Seleziona tutto

=INDIRETTO(Nome_giorno) ! INDIRETTO(Nome_reparto)
bisogna trovare il modo di passare alla formula il "Nome_giorno" e il "Nome_reparto"

Prima complicazione: ti servono 12 mesi.
Quindi la formula dovrà puntare a 12 tabelle.

Ci occorrerà un modo per rendere univoco il Nome_giorno e Nome_reparto, per ogni tabella.

Ho creato quindi il il famoso foglio nascosto come foglio di appoggio.
Se vedi in questo foglio denominato "Riepilogo", nella colonna D vengono resi univoci i Nomi_reparto concatenandoli con il rispettivo mese, mentre nella prima riga di ogni tabella viengono resi univoci i nomi(numeri)_giorni sempre concatenandoli con il mese cui la tabella si riferisce.
Ultima modifica di Attilafdd il martedì 20 giugno 2017, 21:26, modificato 1 volta in totale.
LibreOffice 24.2
-------------------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
Attilafdd
Volontario
Volontario
Messaggi: 535
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggio da Attilafdd »

Compreso anche questo passaggio abbiamo:
1) la formula che sfrutta l'intersezione delle aree (che ci fornirà il risultato finale)
2) le aree denominate in modo univoco con il rispettivo nome mese

Ora non resta che far scegliere all'utente quale mese vuole rappresentare e quale giorno di quel mese.
Per questo sfruttiamo 2 menu a tendina (Dati - Validità dati): C2 (per il mese) e C3 (per il giorno)

La formula finale dunque sarà:

Codice: Seleziona tutto

=INDIRETTO($C$2 & "_" & $C$3) ! INDIRETTO($C$2 &"_" &B6)
dove

Codice: Seleziona tutto

$C$2 & "_" & $C$3
non è altro che la concatenazione del nome del mese con il numero del giorno (es. Giugno_20)
e

Codice: Seleziona tutto

$C$2 &"_" &B6
la concatenazione del nome del mese con il nome del reparto (es. Giugno_Magazzino)

Ed il gioco è fatto.
LibreOffice 24.2
-------------------------------------------------
Se risolto inserisci [Risolto] e la spunta verde Immagine: https://forum.openoffice.org/it/forum/v ... f=9&t=5661
skate2k5
Messaggi: 30
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggio da skate2k5 »

Buongiorno e ancora grazie per le tue lezioni!
Prima di affermare di aver capito vorrei riuscire a personalizzare secondo le mie esigenze il tutto.

:ucrazy: Dubbio: nella cella F2 del foglio Riepilogo c'è la formula...

Codice: Seleziona tutto

= INDIRETTO($B2 & "." & INDIRIZZO(RIF.RIGA(F$1)+12;RIF.COLONNA(F11);4))
non riesco proprio a capire le celle di riferimento.
il valore 1 (o meglio RIF.RIGA(F$1)+12 ) a cosa si riferisce? allo stesso foglio ???

Grazie
Calc OpenOffice 3.1
Rispondi