Pannello di Controllo Moderatore ]

Stampare presenze giornaliere

Discussioni sull'applicazione per i fogli di calcolo

Stampare presenze giornaliere

Messaggioda skate2k5 » giovedì 15 giugno 2017, 15:04

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 14 volte
Calc OpenOffice 3.1
skate2k5
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggioda Attilafdd » venerdì 16 giugno 2017, 7:56

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

Allego un esempio.
Allegati
presenze v2.ods
(20.88 KiB) Scaricato 11 volte
LibreOffice 5.4.0 su Opensuse Leap 42.2 e Win 10
LibreOffice Portable 5.4.0 su Win 7

-------------------------------------------------
Se risolto inserisci [Risolto] nel titolo del post: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=5661
Attilafdd
 
Messaggi: 237
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggioda skate2k5 » venerdì 16 giugno 2017, 10:32

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 6 volte
Calc OpenOffice 3.1
skate2k5
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggioda Attilafdd » venerdì 16 giugno 2017, 12:37

Fai test.
Allegati
presenze v4.ods
(105.98 KiB) Scaricato 10 volte
LibreOffice 5.4.0 su Opensuse Leap 42.2 e Win 10
LibreOffice Portable 5.4.0 su Win 7

-------------------------------------------------
Se risolto inserisci [Risolto] nel titolo del post: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=5661
Attilafdd
 
Messaggi: 237
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggioda skate2k5 » venerdì 16 giugno 2017, 17:56

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
skate2k5
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggioda Attilafdd » venerdì 16 giugno 2017, 23:52

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 5.4.0 su Opensuse Leap 42.2 e Win 10
LibreOffice Portable 5.4.0 su Win 7

-------------------------------------------------
Se risolto inserisci [Risolto] nel titolo del post: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=5661
Attilafdd
 
Messaggi: 237
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggioda skate2k5 » lunedì 19 giugno 2017, 14:32

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
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggioda skate2k5 » lunedì 19 giugno 2017, 15:26

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
skate2k5
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggioda Attilafdd » lunedì 19 giugno 2017, 22:23

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   Espandi visualeStringi visuale
=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   Espandi visualeStringi visuale
=INDIRETTO($C$2 & "_" & $C$3) ! INDIRETTO($C$2 &"_" &B6)

leggila come:
Codice: Seleziona tutto   Espandi visualeStringi visuale
=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 5.4.0 su Opensuse Leap 42.2 e Win 10
LibreOffice Portable 5.4.0 su Win 7

-------------------------------------------------
Se risolto inserisci [Risolto] nel titolo del post: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=5661
Attilafdd
 
Messaggi: 237
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggioda skate2k5 » martedì 20 giugno 2017, 8:14

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
skate2k5
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggioda Attilafdd » martedì 20 giugno 2017, 9:41

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 5.4.0 su Opensuse Leap 42.2 e Win 10
LibreOffice Portable 5.4.0 su Win 7

-------------------------------------------------
Se risolto inserisci [Risolto] nel titolo del post: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=5661
Attilafdd
 
Messaggi: 237
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggioda skate2k5 » martedì 20 giugno 2017, 14:27

Ok trovato.
...ti seguo...
Grazie
Calc OpenOffice 3.1
skate2k5
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32

Re: Stampare presenze giornaliere

Messaggioda Attilafdd » martedì 20 giugno 2017, 20:51

Bene, proseguiamo.

Capito come gira la formula
Codice: Seleziona tutto   Espandi visualeStringi visuale
=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 5.4.0 su Opensuse Leap 42.2 e Win 10
LibreOffice Portable 5.4.0 su Win 7

-------------------------------------------------
Se risolto inserisci [Risolto] nel titolo del post: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=5661
Attilafdd
 
Messaggi: 237
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggioda Attilafdd » martedì 20 giugno 2017, 21:11

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   Espandi visualeStringi visuale
=INDIRETTO($C$2 & "_" & $C$3) ! INDIRETTO($C$2 &"_" &B6)

dove
Codice: Seleziona tutto   Espandi visualeStringi visuale
$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   Espandi visualeStringi visuale
$C$2 &"_" &B6

la concatenazione del nome del mese con il nome del reparto (es. Giugno_Magazzino)

Ed il gioco è fatto.
LibreOffice 5.4.0 su Opensuse Leap 42.2 e Win 10
LibreOffice Portable 5.4.0 su Win 7

-------------------------------------------------
Se risolto inserisci [Risolto] nel titolo del post: https://forum.openoffice.org/it/forum/viewtopic.php?f=9&t=5661
Attilafdd
 
Messaggi: 237
Iscritto il: giovedì 5 aprile 2012, 8:25

Re: Stampare presenze giornaliere

Messaggioda skate2k5 » mercoledì 21 giugno 2017, 7:56

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   Espandi visualeStringi visuale
= 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
skate2k5
 
*** Richiami: 1 ***
Messaggi: 22
Iscritto il: mercoledì 5 aprile 2017, 9:32


Torna a Calc

Chi c’è in linea

Visitano il forum: Yahoo [Bot] e 5 ospiti