[excel]problem:czas*waluta


(Marwan89) #1

Witam!

Problem wydaje się być błahy jednak nie potrafię go rozgryźć.

Otóż:

Mój arkusz składa się z kliku tabel, a ja muszę połączyć z sobą tabele o nazwie: Godz. rozpoczęcia(e,czas), Godz zakończenia(f,czas), Czas gry(g,czas),cena za godzinę(h,walutowe), zapłacono(i,walutowe) oraz dodatkowe opłaty(j,walutowe). Główny problem polega na odjęciu godz. zakończenia od godz rozpoczęcia (od razu mówię w moim wypadku nigdy nie wyjdzie wynik minusowy). Różnica ta ma pojawić się w tabeli czas gry.

Następnie w Zapłacono ma pokazać się iloczyn czasu gry do cena za godzinę oraz dodanie do tego dodatkowych opłat.

W sumie wszystko ładnie, tylko chciałbym aby czas gry był wypisywany automatycznie po wpisaniu ręcznie godz rozpoczęcia i zakończenia (do tego też już doszedłem). Jednak jeśli Excel od razu wyliczy mi tę różnicę to w kwocie zamiast 40zł pojawia się cena troszkę ponad 1 zł.

Nie jestem dobry w Excelu dlatego piszę wszystko prostymi ścieżkami.

Funkcje użyte przeze mnie:

Zapłacono: =JEŻELI(G4=0;"";ILOCZYN(G4;H4)+J4)

Czas gry: =f4-e4

Wydaje mi się że będzie trzeba kombinować z formatowaniem jednak nie mogę jakoś temu podołać.


(Dimatheus) #2

Hej,

Zgadza się... Ogólnie w Excel'u jest troszkę kłopotów z wykonywaniem działań na różnych typach danych - ale oczywiście da się je obejść. Jeśli w komórkach E, F i G masz ustawione formatowanie czas, to we wszystkich tych polach widzisz godziny. Dla przykładu w E mamy 12:00:00, a w F 13:00:00 więc różnica w kolumnie G będzie równa 01:00:00. Ale gdy formatowanie kolumny G zmienisz na liczbowe, pokaże się w niej wartość 0,0417, która oznacza, że 1 godzina jest 0,0417 częścią doby, tak jak 12 godzin będzie 0,5 częścią - i z tego wynika problem. :slight_smile: Możliwe są więc dwa rozwiązania:

:arrow: w kolumnie G (czyli w czasie gry) stosujemy formułę (F4-E4)*24 i jako formatowanie wybieramy liczby - będziemy mieć wtedy liczbę godzin na przykład z dokładnością do części setnych - formuła w kolumnie I nie będzie więc zmieniana i przy zapisie JEŻELI(G4=0;"";G4*H4+J4) otrzymamy odpowiednią kwotę,

:arrow: w kolumnie G (czyli w czasie gry) stosujemy formułę (F4-E4) i jako formatowanie wybieramy czas - pokaże się wtedy na przykład wartość 01:00:00 - zmianie ulegnie wtedy formuła w kolumnie I, w której będziemy mieli wtedy taki zapis - JEŻELI(G4=0;"";G4*H4*24+J4).

W jednym i w drugim przypadku otrzymamy takie same poprawne wyniki... :slight_smile:

Pozdrawiam,

Dimatheus