Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Excel 2007 - wstawianie w pola ilości godzin

kutek74 30 Jan 2021 17:37 129 6
  • #1
    kutek74
    Level 3  
    Cześć.

    Mam do rozwiązania następujący problem.

    W jednym arkuszu wpisuję sobie ilość przepracowanych godzin - wstawiam 8,16 lub 24.

    W drugi arkuszu potrzebuje wstawić odpowiednie ilości godzin z minutami, tzn:
    jeśli w 1 arkuszu jest 8 to w drugim ma być 7:35 (7 godzin i 35 minut)
    jesli w 1 arkuszu jest 16 to w drugim ma być 16:25 (16 godzin i 25 minut)
    jeśli w 1 arkuszu jest 24 to w drugim ma być 24:00 (24 godziny i 0 minut)

    wstawiam te ilości godzin i następnie sumuję je z całego miesiąca

    Próbuję to rozwiązać za pomocą funkcji JEŻELI

    =JEŻELI(arkusz1!a1=8;"7:35";"") to wpisuję w pole w 2 arkuszu

    i tu zaczyna się problem, jak widać 7:35 jest w cudzysłowie "" - i wtedy wstawia się 7:35 ale jako pole tekstowe
    jeśli natomiast w funkcji JEŻELI 7:35 wstawiam bez cudzysłowia "" wtedy wyskakuje błąd składni funkcji jeżeli

    czy ktoś wie jak to przeskoczyć?
  • Helpful post
    #2
    vieleicht
    Level 36  
    Musisz się zdecydować albo wpisujesz godziny jako tekst (wtedy w cudzysłowiu) albo jako liczby. Jeżeli chcesz to dalej np. sumować to proponuję konsekwentnie jako liczby. Z tym że trzeba pamiętać, że wpisane 8:00 to liczba równa 0,333.. a tylko prezentowana w formacie godzinowym. Czyli np. 12:00 to 0,5 (część doby), 6:00 to (0,25 część) doby. Do obliczeń trzeba to pomnożyć przez 24, żeby wyszło w godzinach.
  • #3
    kutek74
    Level 3  
    Czyli w funkcji jeżeli nie wstawiać 7:35 w cudzysłowie tylko jako liczbę?
    i dopiero w docelowym oknie przedstawiać jako 7:35?
  • Helpful post
    #4
    vieleicht
    Level 36  
    Od tego trzeba zacząć że nie możesz przyrównać do 8 (liczba osiem) 8:00 (godzina ósma), bo ta druga jest liczbą 0,333....
    Druga sprawa wpisany w cudzysłowiu "7:35" jest ciągiem znaków (4 znaki) a w zastosowane w Twojej formule z funkcją Jeżeli "" oznacza ciąg znaków pusty (nie jest tożsamy z zerem)
  • #5
    kutek74
    Level 3  
    @vielecht Twój poprzedni post mnie olśnił
    całkiem zapomniałem, że godzina i czas są przechowywane w excelu jako liczby

    dziękuję bardzo za taka małą podpowiedź, mała podpowiedź a rozwiązała duży problem

    wszystko działa już teraz tak jak chcę :-)
  • Helpful post
    #6
    Maciej Gonet
    VBA, Excel specialist
    Nie wiem jak ostatecznie zdecydowałeś się to zapisywać, ale zasady są takie.
    Jeśli zastosujesz zapis tekstowy w rodzaju:
    Code: text
    Log in, to see the code
    otrzymasz wynik w postaci tekstowej, który nie nadaje się wprost do obliczeń.
    Jeśli zastosujesz zapis liczbowy typu:
    Code: text
    Log in, to see the code
    otrzymasz ułamek określający część doby. Żeby to przypominało czas, trzeba komórkę sformatować jako czas. Czas zapisany jako tekst w formule można przekształcić na liczbę przez podwójną negację (ewentualnie mnożenie przez 1, dodawanie 0).

    Wartości liczbowe czasu można dodawać, mnożyć itp. tylko pamiętać, że Excel standardowo nie wyświetla ujemnych czasów.
  • #7
    kutek74
    Level 3  
    Dziękuję za kolejną podpowiedź.
    ten -- przed godziną w ""