Posterò il prossimo quesito Lunedì 30/5 alle ore 12:00 in questo stesso
thread.
ciao paoloard
http://www.riolab.org
Sintesi del regolamento:
1) chi risponde per primo con una soluzione che risolve guadagnerà 5
punti e dovrà postare entro due giorni un nuovo quesito
2) ulteriori 3 punti saranno assegnati alla soluzione più breve
---------------------------------------------------------------------------------
Per approfondire:
https://sites.google.com/site/e90e50/documento-plinius/quizzone-di-excel
-----------------------------------------------------------------------------------------------------
Date 2 colonne, colonna A e colonna B, contenenti data e ora nel formato
gg/mm/aaaa hh:mm, in prima riga i titoli,
APERTURA CHIUSURA
22/04/2011 16:00 26/04/2011 12:30
13/05/2011 08:30 13/05/2011 10:30
18/05/2011 17:30 19/05/2011 8:45
20/05/2011 11:00 23/05/2011 14:30
Calcolare il tempo trascorso tra la data di chiusura e la data di apertura
escludendo i giorni festivi (sabato e domenica) ed i festivi annuali
(capodanno, befana ecc…), considerando 5 giorni lavorativi (da lunedì a
venerdì) e 10 ore lavorative giornaliere (dalle 8:00 alle 18:00).
Non è previsto il calcolo di straordinari.
Gli orari di apertura e chiusura sono sempre compresi fra le 8:00 e le
18:00.
La data di chiusura è sempre successiva alla data di apertura.
Per es.:
nel primo caso la differenza è 6:30 ore (2:00 ore dalle 16:00 alle 18:00 del
22/04 + 4:30 ore dalle 8:00 alle 12:30 del 26/04) perché fra le due date
cadono sabato, domenica e 25/4 festivo che non devono essere conteggiati.
Nel secondo caso, la differenza è 2:00 (due ore e zero minuti).
Nel terzo, la differenza è 1:15 ore (30 minuti dalle 17:30 alle 18:00 del
18/05 + 45 minuti dalle 8:00 alle 8:45 del 19/05).
Nel quarto la differenza è 13:30 ore (7:00 ore dalle 11:00 alle 18:00 del
20/05 + 6:30 ore dalle 8:00 alle 14,30 del 23/5) perché il sabato e la
domenica non devono essere conteggiati.
Sono ammesse tabelle al cui intervallo assegnare un nome escludendole dal
conteggio della formula più breve; sono anche ammesse colonne d'appoggio le
cui formule però andranno conteggiate.
La soluzione con formula in unica cella (al proposito le tabelle non vengono
prese in considerazione) sarà preferita alle soluzioni con colonne
d'appoggio anche se pervenuta in tempo successivo.
Troppo facile? Vedremo.
Haugh! Che Manitou vi accompagni.
ciao paoloard
http://www.riolab.org
scusa due cose ...
nel quizzone sono ammesse solo formule standard presenti in excel
2003 ... no formule di componenti aggiuntivi ... va bene o vuoi
specificare diversamente?
sul calcolo della breve non sono daccordo all'uso dei nomi ... se i
nomi vengono usati deve essere solo per comodità ma il conteggio deve
essere fatto sulle formule ... se assegno a un nome rng = a1:a10 poi
uso tre volte rng secondo me il conteggio deve essere di 18 ... e non
9 ...
fate sapere
ciao
r
----------------------------------------------------------
va bene anche formule di componenti aggiuntivi.
sul calcolo della breve non sono daccordo all'uso dei nomi ... se i
nomi vengono usati deve essere solo per comodità ma il conteggio deve
essere fatto sulle formule ... se assegno a un nome rng = a1:a10 poi
uso tre volte rng secondo me il conteggio deve essere di 18 ... e non
9 ...
---------------------------------------------------------
sì i nomi vanno conteggiati nelle formule, quindi nel caso prospettato 18 e
non 9.
ciao paoloard
http://www.riolab.org
una domanda
i giorni orari di apertura e chiusura sono sempre in intervalli validi
al conteggio ... cioè può esserci ad esempio apertura il 23/04/2011
7.00 ?
r
-----------------------------------------------
No,
avevo già specificato che gli orari di apertura e chiusura sono sempre
compresi fra le 8 e le 18.
paoloard
http://www.riolab.org
ci provo:
=GIORNI.LAVORATIVI.TOT(A2;B2;M1:M5)*"10.0"-
RESTO(A2;1)+"8.0"-"18.0"+RESTO(B2;1)
saluti
r
Scusa, in M1:M6 cosa va scritto?
Ciao.
le festività ... 01/01/2011, 25/04/2011 ... etc.
saluti
r
saluti
r
-----------------------------------------------------------
Bingo! Bravo Roby. Sei stato velocissimo. A te i 5 punti e l'onere del
prossimo quiz.
Adesso aspettiamo i tagliatori di teste.
ciao paoloard
http://www.riolab.org
che poi sarebbe più semplicemente:
=(GIORNI.LAVORATIVI.TOT(A2;B2;M1:M5)-1)*5/12-RESTO(A2;1)+RESTO(B2;1)
saluti
r
Ciao, l'orario è corretto ma non la data in D2:D5, vengono visualizzate
tutte in questo modo: 00/01/1900
Dove ho sbagliato?
Link: http://www.supershare.net/file/383850-7548942353.html
Ciao
formatta il risultato così:
[h].mm.ss
r
Adesso dovrebbe essere corretto, posso ignorare gli errori col
triangolino verde in D3:D5 ?
Link: http://www.supershare.net/file/383857-6864023542.html
Ciao.
saluti
r
------------------------------------------------
però ti penalizzo in lunghezza:
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$5)-1)*5/12-RESTO(A2;1)+RESTO(B2;1) ;-)
che poi il 5 può diventare anche 10 (festività nazionali+eventualmente
locali)
ciao paoloard
http://www.riolab.org
ops :-) maledetti dollari!
quindi ... ho vinto?
r
intanto accorcio ...
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$5)-1)*5/12+B2-A2-INT(B2-A2)
r
r
--------------------------------------
certo che hai vinto i 5 punti. Per i 3 punti aspettiamo qualche volonteroso,
chissà, adesso che il vento è cambiato ;-))
ciao paoloard
http://www.riolab.org
arrivano gli opportunisti ....
copiando bene ......
=(GIORNI.LAVORATIVI.TOT(A5;B5;M$1:M$5)-1)*5/12+RESTO(B5-A5;1)
-2
Andrea
pero' le festivita' sono almeno 13 (contando anche il santo patrono
della citta')
1 Capodanno sabato 1 gennaio 2011
2 Epifania giovedì 6 gennaio 2011
3 Festa Unità d'Italia giovedì 17 marzo 2011
4 Lunedì dell'Angelo lunedì 25 aprile 2011
5 Liberazione lunedì 25 aprile 2011
6 Festa del Lavoro domenica 1 maggio 2011
7 Festa Repubblica giovedì 2 giugno 2011
8 Ferragosto lunedì 15 agosto 2011
9 Ognisanti martedì 1 novembre 2011
10 Immacolata Concezione giovedì 8 dicembre 2011
11 Natale domenica 25 dicembre 2011
12 Santo Stefano lunedì 26 dicembre 2011
quindi a tutti un +1
Andrea
inizi a prenderci la mano ... eh bravo! :-)
r
> certo che hai vinto i 5 punti. Per i 3 punti aspettiamo qualche volonteroso,
è arrivato Andrea ... vediamo se arriva E. :-)
> chissà, adesso che il vento è cambiato ;-))
a Milano, questa sera ... Fuochi d'artificio!
personalmente non credo molto nella politica ... e per giudicare se
una Formula è quella giusta ... voglio vedere prima i risultati :-)
però i Fuochi sono belli!
saluti
r
p.s.
ho aggiornato la classifica ... verificate! meglio non fidarsi di
r :-)
troppo buono :-)
e dire che ero fermo a =GIORNI.LAVORATIVI.TOT(A5;B5;M$1:M$5)
andrea
=SE(INT(B2)=INT(A2);RESTO(B2-A2;1);(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$9)-1)*5/12-RESTO(A2;1)+RESTO(B2;1))
Quella di r mi pare che sfarfalli... controllate un po'! :-))
Ciao,
E.
> chissà, adesso che il vento è cambiato ;-))
a Milano, questa sera ... Fuochi d'artificio!
r :-)
--------------------------------------------------------
:-))))
ciao paoloard
http://www.riolab.org
Ciao,
E.
----------------------------------------------------------
puoi dirmi in quale caso? Nelle prove che avevo fatto non *sfarfallava*.-
fai sapere
ciao paoloard
http://www.riolab.org
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$9)-1)*5/12-RESTO(A2;1)+RESTO(B2;1)
Ma ho visto che, inizialmente, r aveva postato proprio questa formula... e quindi la sua prima è OK!
È solo dopo che smette di funzionare, nelle due versioni accorciate:
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$5)-1)*5/12+B2-A2-INT(B2-A2)
=(GIORNI.LAVORATIVI.TOT(A5;B5;M$1:M$5)-1)*5/12+RESTO(B5-A5;1)
che sbagliano entrambe!
Ciao,
E
troppo buono :-)
e dire che ero fermo a =GIORNI.LAVORATIVI.TOT(A5;B5;M$1:M$5)
andrea
----------------------------------
bene Andrea! per ora sei l'aggiudicatario dei 3 punti. Non so pero' se Roby
la prenderà persa. Adesso poi che è supergalvanizzato! (oltre non si può
dire ;-)
ciao paoloard
http://www.riolab.org
23 e 24 sono sabato e domenica, 25 aprile è festivo e dunque il tempo di apertura è dalle 16 alle 18 (2 ore) nel giorno 22 e dalle 8 alle 12:30 (4:30 ore) nel giorno 26: in totale 6:30
La formula restituisce invece 30:30 (24 ore di troppo)
------------------------------------------------
prova formattando la cella h:mm ;-)
ciao paoloard
http://www.riolab.org
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$5)-1)*5/12+B2-A2-INT(B2-A2)
=(GIORNI.LAVORATIVI.TOT(A5;B5;M$1:M$5)-1)*5/12+RESTO(B5-A5;1)
danno risposte corrette solo se l'orario della seconda data è > di quello della prima, altrimenti aggiungono 24 ore sbagliando.
Nella verione
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$9)-1)*5/12-RESTO(A2;1)+RESTO(B2;1)
invece funziona tutto correttamente.
10/24 ore per ciascuno dei giorni lavorativi -2 (iniziale e finale)
+ (18/24 - ora apertura)
+ (ora chiusura - 8/24)
Questa è perfetta e inaccorciabile :-)
Ciao,
E.
No Paolo, non č questione di formattazione.
Le due versioni "accorciate"
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$5)-1)*5/12+B2-A2-INT(B2-A2)
=(GIORNI.LAVORATIVI.TOT(A5;B5;M$1:M$5)-1)*5/12+RESTO(B5-A5;1)
danno risposte corrette solo se l'orario della seconda data č > di quello
della prima, altrimenti aggiungono 24 ore sbagliando.
Nella verione
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$9)-1)*5/12-RESTO(A2;1)+RESTO(B2;1)
invece funziona tutto correttamente.
10/24 ore per ciascuno dei giorni lavorativi -2 (iniziale e finale)
+ (18/24 - ora apertura)
+ (ora chiusura - 8/24)
Questa č perfetta e inaccorciabile :-)
Ciao,
E.
----------------------------------------------------------------------------
ok Enrico, perň nel quesito avevo espressamente specificato che la seconda
data era *sempre* maggiore della prima.
Direi quindi che le formule accorciate di r e Andrea fornivano una corretta
soluzione al quesito cosě com'era posto.
Ovviamente senza nulla togliere alla tua considerazione che č piů
universale.- fai sapere
ciao paoloard
http://www.riolab.org
no, E. ha ragione ... non è un problema di date ma di orario ... fai
il caso che oggi hai un ingresso alle 12:00 e domani alle 9:00 ...
regolare in quanto le date sono successive ma il risultato con la
formula di andrea e le mie accorciate non è corretto.
però giudice sei tu ... quindi decidi ... noi caso mai prepariamo i
ricorsi :-)
saluti
r
22/04/2011 11:00 26/04/2011 12:30 (dalle 11:00 alle 12:30) va bene
22/04/2011 16:00 26/04/2011 12:30 (dalle 16:00 alle 12:30) sbaglia
per il fatto che, per operare la sottrazione, deve rubare un giorno.
Ciao,
E.
non parlo dei 5 punti ... ma dei 3 :-)
r
con gli orari
A1=13/05/2011 17.00.00
B1= 14/05/2011 9.00.00
concordo sul malfunzionamento delle due versioni accorciate che danno
un +14 ore nel caso specifico, pero' mi danno errore anche le prime
due inquanto viene un orario negativo e quindi una sequela di #.
cioè -RESTO(A2;1)+RESTO(B2;1) è negativo.
sbagio io?
andrea
il 14 è un sabato quindi non ammesso come data di chiusura.
ciao
r
(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$9)-2)*5/12
+(18/24-RESTO(A2;1))
+(RESTO(B2;1)-8/24)
Ma poiché
18/24 - 8/24 = 10/24 = 5/12
sottraiamo un giorno in meno da quelli lavorativi (-1 piuttosto che -2) e la formula diventa:
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$9)-1)*5/12-RESTO(A2;1)+RESTO(B2;1)
dove gli addendi
-RESTO(A2;1))+RESTO(B2;1)
possono (e devono) essere positivi o negativi a seconda dei casi.
Ciao,
E.
On 31 Mag, 10:51, plinius <punto.lin...@libero.it> wrote:
> eheh ma non c'č bisogno di ricorsi: la prima stesura era corretta!! :-)
non parlo dei 5 punti ... ma dei 3 :-)
r
-------------------------------------------------
acc.... Enrico ha ragione, ora č sopravvenuta una certa confusione, mi pare,
correggetemi se sbaglio, che sia Roby che ha postato la prima soluzione
funzionante:
=(GIORNI.LAVORATIVI.TOT(A2;B2;M$1:M$9)-1)*5/12-RESTO(A2;1)+RESTO(B2;1)
(anche se da me allungata con i due $)
e che, per ora, resta anche la piů corta.
paoloard
http://www.riolab.org
sei tu il giudice ... quindi giudica :-)
ciao
r
---------------------------------------------------------------
Speriamo bene! Se qualcuno non è d'accordo ricorra in appello :-)
Sentenza:
A Roby i 5 punti per la prima risposta funzionante.
A Roby (provvisoriamente) i 3 punti per la risposta più breve.
Se entro domani ore 12 non perviene una formula più corta di quella sopra
richiamata Roby si aggiudicherà anche i 3 punti per la più breve.
ciao paoloard
http://www.riolab.org
noooo ... :-)
la breve è a tempo indeterminato ... vale per sempre!
i 3 punti della breve sono sempre assegnati fino a che qualcun'altro
non posta una formula più breve.
vado ad aggiornare i 3 punti quindi ... per ora miei (mi spiace
andrea ... colpa del pignolplinius :-)
saluti
r
----------------------------------------------
Ok, il ricorso in appello è accettato.
paoloard
pazienza, sarà per la prossima.
>
> pazienza, sarà per la prossima.
ma certo!
però mi fa strano che non si riesca a rubare anche un solo
carattere ... mah
ciao
r