Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Altri Linguaggi - Arrotondamento ore minuti con sistema binario
Forum - Altri Linguaggi - Arrotondamento ore minuti con sistema binario

Avatar
trittico69 (Normal User)
Pro


Messaggi: 144
Iscritto: 02/04/2010

Segnala al moderatore
Postato alle 21:22
Venerdì, 27/05/2011
In tre celle F10-G10-H10, di excel 2003, dove tramite formule vi sono ore e minuti, bisogna far in modo che se in una cella i minuti superano i 30 arrotondare in eccesso le ore, ma ovviamente solo nella cella ove vi sono i minuti e nel caso in cui nelle altre due i minuti risultano 0.

Se invece i minuti si trovano nella prima e nella seconda cella e la loro somma è >30 ma inferiore a un ora incrementare la prima cella di 1, nel caso in cui la somma è maggiore di ore 1 incrementare la seconda.

Terzo caso, se i minuti si trovano nella prima e nella terza cella e la loro somma è >30 ma inferiore a un ora incrementare la seconda cella di 1, nel caso in cui la somma è maggiore di ore 1 incrementare la terza.

Quarto caso , se i minuti si trovano nella seconda e nella terza cella e la loro somma è >30 ma inferiore a un ora incrementare la seconda cella di 1, nel caso in cui la somma è maggiore di ore 1 incrementare la terza

Quinto caso, se i minuti si trovano in tutte le celle e la loro somma è >30 ma inferiore a un ora incrementare la seconda cella di 1, nel caso in cui la somma è maggiore di ore 1 incrementare la terza

Sesto caso se i minuti si trovano in tutte le celle e la loro somma è >60 ma inferiore a 90 incrementare la terza cella di 1, nel caso in cui la somma è maggiore di 90 incrementare la seconda e la terza

Settimo caso se i minuti si trovano in tutte le celle e la loro somma è >90 ma inferiore a 120 incrementare la terza cella di 2, nel caso in cui la somma è maggiore di 120 incrementare la seconda di 1 e la terza di 2


allego il file originale..ho messo orari di lavoro nelle prime tre settimane di gennaio
Le celle interessate sono AG31-AH31-AI31 e il risultato dovrebbe comparire in F10-G10-H10
http://uploading.com/files/25dmd67m/Cartel11.rar/

mi hanno consigliato l’esempio sotto e non vorrei usare VBA ma non sono capace di riportarlo nel file originale


  con "una logica a stato", cioe':
-ti fai una tabellina con 7 colonne, che contengono 1/0 secondo le seguente logica:
--1, 2, 3 e 4: somma minuti compresa tra 1-30; compresa tra 31-60; compresa tra 61-90; compresa tra 91-120
--5, 6, 7: minuti presenti in col A, col B, col C
-crei tante righe ognuna con le combinazioni di 1/0 secondo le casistiche che credi di dover gestire (e secondo me sono piu' delle sette che hai citato)

Nella colonna adiacente calcoli lo "stato" in binario con la formula
Codice: Seleziona tutto
=(J17&K17&L17&M17&N17&O17&P17)
(J17:P17 sono le celle in cui io ho cominciato a caricare la tabella di stato, adatta alla tua situazione e ho inserito questa formula in R17)

Nelle 3 colonne adiacenti scrivi il delta-ore da applicare alle colonne A-B-C in quella situazione
La mia tabella, per le prime 3 righe, e' la seguente:
  
Teoricamente potresti scrivere direttamente lo stato in binario (es 0100100), ma probabilmente dopo un po' non collegheresti facilmente lo stato alla condizione.

Finito questo lavoro preparatorio, torni sul tuo foglio da lavoro e calcoli "lo stato" equivalente di ogni tua riga di dati, cioe' determini la fascia di minuti in cui la riga si colloca e quali colonne hanno minuti.
Per questo:
-in I1 ho calcolato la somma dei minuti con l formula =SOMMA(MINUTO(A1)+MINUTO(B1)+MINUTO(C1))
-in J1 ho calcolato se appartiene alla fascia 1-30 con la formula =SE(E($I1<31;$I1>0);1;0)
-in K1 ho calcolato se appartiene alla fascia 31-60 con la formula =SE(E($I1<61;$I1>30);1;0)
-in L1 ed M2 ho usato formule analoghe per le fasce 61-90 e 91-120
-in N1 ho calcolato se A1 contiene minuti, con la formula =SE(MINUTO(A1)>0;1;0)
-in O1 e P1 formule analoghe per B1 e C1
-in Q1 ho calcolato lo "stato" equivalente con la formula =(J1&K1&L1&M1&N1&O1&P1)

Ovviamente puoi condensare piu' calcoli nella stessa clla, es inserire direttamente nella formula "concatena" (ora in Q1) le formule inserite in J1, K1, etc.

A questo punto, e siamo alla fine, in E1, F1 e G1 calcoli le ore sommando le ore di A1, B1 e C1 con il risultato del Cerca.Vert dello "stato" nella tabella Stato/Delta-ore della tabella descritta prima, corrispondente alle col R:U

PM Quote
Avatar
TheKaneB (Member)
Guru^2


Messaggi: 1792
Iscritto: 26/06/2009

Segnala al moderatore
Postato alle 21:40
Venerdì, 27/05/2011
l'abbiamo capito che stai incasinato con Excel, ma questa non è una società di consulting.

PM Quote