Excel Forum Per condividere esperienze su Microsoft Excel

CALCOLO ORE SE, IL RISULTATO È NEGATIVO

  • Messaggi
  • OFFLINE
    Yeshua75
    Post: 35
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 28/01/2023 11:43
    Buongiorno,

    nella cella K8 “Foglio di Gennaio” voglio fare il calcolo delle ore di servizio in più o in meno prestate in quel giorno, partendo dal fatto che le ore di servizio base giornaliere impostate manualmente nel foglio FERIE!J39 in questo caso sono 6.

    Se si fanno più ore di servizio il problema non esiste ma, se si fanno meno ore, per esempio 5, la cella K8 restituisce un errore perché la differenza ore è negativa.

    Ho provato nelle opzioni/impostazioni avanzate di Excel a spuntare “usa sistema data 1904”. Problema risolto ma poi mi sballano tutte le date di servizio.

    Dunque, come soluzione alternativa, ho provato a concatenare testo&hh:mm nella FORMULA IN K8 ma senza ottenere alcun risultato.

    Infine, vorrei che, quando le celle ORE - ENTRATA/USCITA sono vuote perché magari quel giorno non era lavorativo, in K8 non venisse fatta alcuna operazione e non come adesso che mi restituisce il valore negativo della cella FERIE!J39.
    [SM=g27834]




  • OFFLINE
    federico460
    Post: 2.794
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 28/01/2023 12:09
    ciao
    impostale come numero e
    moltiplica *24
    =((I8-G8+E8-C8)-FERIE!$J$39)*24

    oppure usa due colonne
    una per gli straordinari e una per le mancanze
    =SE((I8-G8+E8-C8)-FERIE!$J$39<0;"";(I8-G8+E8-C8)-FERIE!$J$39)------------------------+
    =SE(K8="";FERIE!$J$39-(I8-G8+E8-C8);"")----------------------------------------------- -


    gestisci i giorni vuoti con se(C3<>"";formula";"")


    [Modificato da federico460 28/01/2023 12:11]
  • OFFLINE
    Yeshua75
    Post: 35
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 28/01/2023 13:47
    Ciao.

    Innanzi tutto grazie per la risposta.

    io volevo appunto che la colonna K8 fosse unica e facesse il calcolo delle (ore+/-) in base alle ore impostate nel foglio FERIE!J39 Se imposto la colonna in formato numero non ho la corretta visualizzazione dei minuti.
    . . . praticamente vorrei che facesse il giusto calcolo ihh:mm come se timbrassi il cartellino
  • OFFLINE
    federico460
    Post: 2.796
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 28/01/2023 17:50
    ciao
    che mi risulti non si può
    se non con il metodo1904


    formato numero non ho la corretta visualizzazione dei minuti
    li hai ma in 100simi

    usiamo un barbatrucco
    in K8 da tirare in basso
    =SE(C8>0;SE((I8-G8+E8-C8)-FERIE!$J$39<0;"-" & TESTO(ASS((I8-G8+E8-C8)-FERIE!$J$39);"hh:mm"); (I8-G8+E8-C8)-FERIE!$J$39);0)

    per la somma formato [h]:mm
    =MATR.SOMMA.PRODOTTO(((I8:I38-G8:G38)+(E8:E38-C8:C38)))-(CONTA.SE(C8:C38;">0")*FERIE!J39)

    [Modificato da federico460 28/01/2023 18:37]
  • OFFLINE
    Yeshua75
    Post: 36
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 29/01/2023 08:43
    Perfettissimo, grazie, proprio come volevo.

    Solo una cosa.

    in K8 avevo applicato una formattazione condizionale
    se>0 colore carattere nero
    se=0 colore carattere bianco
    se<0 colore carattere rosso.

    adesso con formato cella hh:mm
    se applico formattazione condizionale "colore carattere rosso" per valori negativi
    <0 o <00:00

    il colore carattere resta sempre nero.

    ho cancellato le regole applicate in K8 molte volte ma il risultato non cambia.


  • OFFLINE
    federico460
    Post: 2.798
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 29/01/2023 09:00
    ciao
    perchè non ci sono negativi ma testo

    perciò devi formattare il negativo con

    esempio
    =SINISTRA($k8;1)="-"
    =VAL.NUMERO(RICERCA("-";$K8))


    le altre due vanno bene

  • OFFLINE
    Yeshua75
    Post: 37
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 29/01/2023 09:27
    🙃😮straperfetto.
    grazie. . . grazie. . . grazie!
  • OFFLINE
    Yeshua75
    Post: 38
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 29/01/2023 11:52

    . . . dunque, prendendo sempre come riferimento la cella k8.
    se inserisco entrate/uscite ore di servizio in tutte le caselle C8,E8,G8,I8 il risultato viene negativo -00:00 anche se pari a zero, ma capisco che è dovuto alla formula applicata in K8 ed il carattere diventa di colore rosso perché come suggerito ho applicato la "formattazione condizionale"
    =SINISTRA($k8;1)="-"

    non riesco a far diventare il carattere bianco per nascondere i valori pari a 00:00 e -00:00



  • OFFLINE
    federico460
    Post: 2.799
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 29/01/2023 13:06
    ciao
    nella formattazione condizionale
    =VAL.NUMERO(RICERCA("-00:00";$K8))


  • OFFLINE
    Yeshua75
    Post: 39
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 29/01/2023 14:48
    avevo già provato.
    Il fatto è che avendo utilizzato per valori negativi (quando per esempio si fanno meno ore di servizio -01:00), la formula di formattazione condizionale

    =SINISTRA($k8;1)="-"
    o
    =VAL.NUMERO(RICERCA("-";$K8))
    con carattere testo rosso

    quando l valore della Cella K8 è -00:00

    non applica la formattazione condizionale colore carattere bianco ma colore carattere rosso usata appunto per valori negatvi

  • OFFLINE
    federico460
    Post: 2.803
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 29/01/2023 18:43
    la formattazione è come il SE()
    alla prima occasione vera si ferma
    perciò sposta in alto il colore primario
    e sotto metti l'altro

    nb
    formattare nero
    è in più visto che è il carattere di default
    [Modificato da federico460 29/01/2023 19:02]
  • OFFLINE
    Yeshua75
    Post: 40
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 30/01/2023 10:42

    . . . sicuramente c'è qualcosa che mi sfugge.

    ho applicato la formattazione condizionale come da te suggerito ed è tutto ok, tranne per il valore "00:00" a cui ho associato colore carattere bianco . . . ma il carattere rimane sempre nero
  • OFFLINE
    federico460
    Post: 2.809
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 30/01/2023 11:28
    perchè hai scritto una menata

    quando vedi 00:00 è un numero -----0
    tu scrivendo "00:00" lo rendi testo

    dovrebbe essere sufficiente quello che ti ho scritto io

    se lo applichi a tutte le celle e non solo alla K8

    almeno copiare eh!
    guarda il si applica a mio e tuo
  • OFFLINE
    Yeshua75
    Post: 41
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 30/01/2023 12:04
    si si lo so che è una boiata, anche perché non sono pratico e ho voluto tentare così appunto per non seccarvi 😌.
    copiando quello che mi hai detto tu il valore 00:00 diventa bianco solo se si compilano tutte e 4 le celle delle ore C8,E8,G8,I8, altrimenti il valore 00:00 in K8 rimane di colore nero.


  • OFFLINE
    federico460
    Post: 2.811
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 30/01/2023 13:51
    ciao
    allora sopra
    =O(VAL.NUMERO(RICERCA("-00:00";$K8));SE.ERRORE(ORARIO(ORA(K8);MINUTO(K8);SECONDO(K8))=0;FALSO))
    sotto
    =SINISTRA($K8;1)="-"

  • OFFLINE
    Yeshua75
    Post: 42
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 30/01/2023 14:03
    @federico460 grazie, innanzi tutto per la pazienza.
    adesso tutto funziona.
    Vediamo adesso, cosa riesco a combinare con gli altri calcoli.

    Cmq per me questo era impossibile:
    =O(VAL.NUMERO(RICERCA("-00:00";$K8));SE.ERRORE(ORARIO(ORA(K8);MINUTO(K8);SECONDO(K8))=0;FALSO))
    Complimenti!
    [Modificato da Yeshua75 30/01/2023 14:15]
  • OFFLINE
    Yeshua75
    Post: 43
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 08/02/2023 12:36

    Buongiorno,
    ho voluto provare a fare una variante della cartella di lavoro come suggerito all’inizio della discussione da federico460, creando due colonne per il calcolo delle ore positive e negative.
    Ma ad un certo punto ho avuto delle difficoltà

    usando la matriciale, se si può, vorrei che:
    nella CELLA P2 DEL FOGLIO FERIE, risultasse la SOMMA DI:
    FOGLIO FERIEK28:K30
    +
    SOMMA L8:L38 DI TUTTI I MESI
    -
    SOMMA K8:K38 DI TUTTI I MESI
    Se la somma risultasse negativa, con il segno (-) davanti.

    Nella cella P18 DEL FOGLIO FERIE:
    SOMMA(P10-P2)
    SEMPRE con il segno (-) davanti se negativo.

    Ho provato con il barbatrucco+MATRICIALE dei post precedenti, ma non riesco a sviluppare la formula.
    Grazie!

    file in allegato
    [Modificato da Yeshua75 08/02/2023 12:39]
  • OFFLINE
    federico460
    Post: 2.827
    Registrato il: 10/10/2013
    Città: VICENZA
    Età: 69
    Utente Veteran
    365
    00 09/02/2023 13:07
    ciao
    scusa ma perchè 19
    ferie
  • OFFLINE
    Yeshua75
    Post: 44
    Registrato il: 02/03/2017
    Città: TRAPANI
    Età: 49
    Utente Junior
    Microsoft 365
    00 09/02/2023 14:08
    con 30 ore settimanali sono quelle maturate fino al 30 giugno