Jump to content
PLC Forum


Sign in to follow this  
trittico6969

Arrotondamento Ore Minuti Con Sistema Binario

Recommended Posts

trittico6969

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

Share this post


Link to post
Share on other sites

Riccardo Ottaviucci

il lupo perde il pelo ma non il vizio rolleyes.gif

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...