Yuvarlama

Katılım
4 Nisan 2006
Mesajlar
999
Excel Vers. ve Dili
OFFICE 2021 Türkçe
herkese merhaba

FAZLA MESAİ hesaplama hakkında aşağıdaki sorumu yanıtlarsanız sevinirim
Not:Örnekte misal olsun diye 3 günün verilerini vereceğim
İşe başlama saat:9:00
Paydos saat:17:30



I GÜN 2.GÜN 3.GÜN

Giriş Çıkış Giriş Çıkış Giriş Çıkış
9:00 18:00 9:00 19:00 9:00 17:50



yukarıda paydos saati 17:30 olduğu için I.Gün 0:30 saat 2.Gün 1:30 saat 3 gün 0:20 saat
toplam mesai saat :2:20
ben bunu topla.çarpım formülü ile bulabiliyorum
ama benim istediğim ise
yarım saatler 1’e yarım saatten azlar ise yarım saate yuvarlayıp öyle toplaması

Yukarıdaki örnek şöyle olamalı

I GÜN 2.GÜN 3.GÜN

Giriş Çıkış Giriş Çıkış Giriş Çıkış
9:00 18:00 9:00 19:00 9:00 17:50

yukarıda paydos saati 17:30 olduğu için I.Gün 1:00 saat 2.Gün 2:00 saat 3 gün 0:30 saat
toplam mesai saat :3:30
olmasını istiyorum acaba formülle yapabilirmiyiz
word belgesinde de açıklaması var
 
Katılım
4 Nisan 2006
Mesajlar
999
Excel Vers. ve Dili
OFFICE 2021 Türkçe
Bu örnekle daha iyi anlaşılır İnşaallah

Ben B2 hücresine yazılan saatin 17:30 dan büyük ise
B2 hücresindeki saatin 17:30 arasındaki çıkan saat farkının yuvarlanmasını
küçük ise 0 olmasını istiyorum
şöyleki
diyelimki B2 hücresine 17:30 dan büyük bir saat girdik
yazılan saat ile 17:30 arasındaki farkın dakika kısmı yarım saatten az ise
yarım saate dakika kısmı yarım saat ve yukarı ise 1 saate tamamlanmasını istiyorum

örnek olarak

B2 hücresi 17:30 yada daha küçük bir zaman aralığı ise sonuç 0
B2 hücresi 17:40 ise fark 10 dakikadır çıkan sonuç 0:30 olması
B2 hücresi 18:00 ise fark 30 dakikadır çıkan sonuç 1:00 olması
B2 hücresi 18:10 ise fark 40 dakikadır çıkan sonuç 1:00 olması
B2 hücresi 18:30 ise fark 1 saattit çıkan sonuç 1:00 olması
B2 hücresi 18:35 ise fark 1:05 dakikadır çıkan sonuç 1:30 olması gibi

saygılar
 
Son düzenleme:
Katılım
4 Nisan 2006
Mesajlar
999
Excel Vers. ve Dili
OFFICE 2021 Türkçe
Sayın Yurttaş İlginiz için teşekkür ederim
tam istediğim gibi ama kendi tabloma uygulayabilmem için formülün tek bir hücrede olması gerekir
teşekkürler
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Sn.mesudiye52

İstediğiniz yuvarlama tek formülle yapılması biraz zor olabiilir.

Kullanıcı tanımlı fonksiyon ile birşeyler yapmaya çalıştım.
Fakat zaman serilerinden dolayı küçük biryerde hata yapıyorum.Belki değişik fikir verebilir.

Hata ise son saati 18:00 yaptığımızda 0,5 saat eklemiyor.18:01 yaptığımızda ise doğru çalışmaktadır.

Kod:
Function FazlaMesai(alan1, alan2 As Range)
For Each a In alan1
i = i + 1
    If alan1(i) = "çıkış" Then
        If alan2(i) > 0.729167 Then '0.729167 17:30 saatinin seri numarası
        fark = alan2(i) - 0.729167
                If fark > 0.041667 Then '0.041667 1 saatin seri numarası
                For k = 1 To 100
                    If k * 0.041667 < fark Then h = k * 0.041667
                Next k
                    a = fark - h
                Else
                    a = fark
                End If
                If a < 0.0208333 Then   '0.0208333 0,5 saatin seri numarası
                    b = 0.0208333
                Else
                    b = 0.041667
                End If
                    tsaat = tsaat + h + b
        End If
    End If
Next
FazlaMesai = tsaat
End Function
 
Katılım
4 Nisan 2006
Mesajlar
999
Excel Vers. ve Dili
OFFICE 2021 Türkçe
Ba&#351;ka bir yerde bir arkada&#351;&#305;m&#305;z&#305;n do&#287;ru olan cevab&#305;n&#305; veriyorum

Dizi form&#252;l
=TOPLA(E&#286;ER(C23:J23="&#199;&#305;k&#305;&#351;";E&#286;ER(C24:J24>$B$2;YUKARIYUVARLA((E&#286;ER(DAK&#304;KA(C24:J24)=30;(C24:J24)-$B$2+"00:00:00";(C24:J24)-$B$2+"00:00:01"))/"00:30:00";0)*"00:30:00")))
faydal&#305; olmas&#305; dile&#287;iyle
 
Üst