Excel'de aylık çalışma saatlerini nasıl hesaplarım?
Birçok organizasyonda çalışanlar, günde 8 saat ve haftada 5 gün gibi standart bir çalışma programına uyar. Aylık toplam çalışma saatlerini doğru bir şekilde hesaplamak, maaş bordrosu işlemleri, proje takibi ve işgücü yönetimi için gereklidir. Ancak, her ay için toplam saatleri manuel olarak saymak, özellikle hafta sonları, resmi tatiller veya değişen saatlere sahip çalışanlar göz önünde bulundurulduğunda hata yapma riski yüksek ve zaman alıcı olabilir. Excel, bu hesaplamayı otomatikleştirmenize ve işlemlerinizi daha verimli hale getirmenize yardımcı olacak pratik araçlar ve yöntemler sunar.
Aşağıda, farklı veri yapıları ve ihtiyaçlar için Excel'de aylık çalışma saatlerini hesaplamaya yönelik birkaç etkili çözüm bulunmaktadır:
Formüllerle aylık toplam çalışma saatlerini hesaplama
VBA Kodu – Birden fazla satır için aylık çalışma saatlerini otomatik olarak hesaplayın
Formüllerle aylık toplam çalışma saatlerini hesaplama
Excel'in formül fonksiyonları, başlangıç ve bitiş tarihlerini bildiğinizde ve günlük çalışma saati kotası sabit olduğunda aylık toplam çalışma saatlerini hesaplamak için basit ve güvenilir bir yaklaşım sunar. Bu yöntem, her gün için sabit bir çalışma programının olduğu durumlarda en iyi şekilde çalışır ve hafta sonlarını ve isteğe bağlı tatilleri dikkate almanızı sağlar. İşte hesaplamalarınızı nasıl kurabileceğiniz:
1. Sonucu görüntülemek istediğiniz boş bir hücre seçin ve aşağıdaki formülü girin:
=NETWORKDAYS(A2,B2) *8
Formülü yazdıktan sonra Enter tuşuna basın. Başlangıçta sonuç tarih formatında görünebilir. Aşağıdaki ekran görüntüsü bunu göstermektedir:
2. Değeri sayı olarak (çalışma saatleri) görüntülemek için formül sonucu olan hücreyi seçin. Ardından Ana Sayfa sekmesinde, Sayı Biçimi açılır menüsünü bulun ve Genel'i seçin. Hücre artık toplam çalışma saatlerini düz bir sayı olarak gösterecektir, şöyle ki:
İpuçları: Tatilleri içeren dönemleri doğru bir şekilde yansıtmak için formülünüze bir tatil aralığı ekleyerek bu günleri hariç tutabilirsiniz. Kullanın:
=NETWORKDAYS(A2,B2, C2:C4) *8
burada A2 başlangıç tarihi, B2 bitiş tarihi ve C2:C4 hariç tutmak istediğiniz tatil tarihlerinin listesidir. Yukarıda açıklandığı gibi hücreyi Genel olarak biçimlendirin.
Not: Verilerinizin konumuna göre hücre referanslarını (örneğin A2, B2, C2:C4) ayarlayın. Bu yöntem, standart günlük çalışma saatleri için en iyi şekilde çalışır. Eğer çalışanlar yarı zamanlı çalışıyor veya günlük çalışma saatleri değişiyorsa, formülü uyarlamalısınız veya aşağıdaki alternatif yöntemlerden birini kullanmalısınız.
Formüller kullanmanın avantajlarından biri, bir kez kurulduktan sonra tarihleri veya tatilleri değiştirdiğinizde otomatik olarak güncellenmeleridir. Ancak, birden fazla çalışan veya daha karmaşık devamsızlık kayıtları içeren veri setleri için aşağıdaki gelişmiş çözümleri daha uygun bulabilirsiniz.
VBA Kodu – Birden fazla satır için aylık çalışma saatlerini otomatik olarak hesaplayın
Çalışma sayfanızda birden fazla çalışan veya satır varsa—her biri farklı dönemler veya değişen başlangıç ve bitiş tarihleri ile—formülleri satır satır manuel olarak girmek sıkıcı olabilir. Bir VBA makrosu kullanarak tüm satırlar için çalışma saatlerini toplu olarak otomatik olarak hesaplayabilir, zaman kazanabilir ve manuel hataları azaltabilirsiniz.
Bu çözüm, her satırın bir çalışanı veya belirli bir çalışma dönemini temsil ettiği ve başlangıç tarihi, bitiş tarihi ve isteğe bağlı tatiller için sütunların bulunduğu bir tablonuz olduğunda özellikle yararlıdır. Aşağıdaki makro tüm satırlar arasında dolaşacak ve her giriş için hesaplanan çalışma saatlerini dolduracaktır.
1. Geliştirici Araçları > Visual Basic'e tıklayarak Visual Basic for Applications düzenleyicisini açın. Yeni pencerede Ekle > Modül'e tıklayın ve aşağıdaki VBA kodunu kod alanına yapıştırın:
Sub CalculateMonthlyWorkingHours()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim startCol As String, endCol As String, holidayCol As String, resultCol As String
Dim holidays As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Adjust these column letters as needed
startCol = "A" ' Start Date in Column A
endCol = "B" ' End Date in Column B
holidayCol = "C" ' Holiday list in Column C (optional; can be blank)
resultCol = "D" ' Results in Column D
lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
For i = 2 To lastRow
If ws.Cells(i, startCol).Value <> "" And ws.Cells(i, endCol).Value <> "" Then
If ws.Cells(i, holidayCol).Value <> "" Then
holidays = Split(ws.Cells(i, holidayCol), ",")
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol), holidays) * 8
Else
ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol)) * 8
End If
Else
ws.Cells(i, resultCol).Value = ""
End If
Next i
End Sub
Notlar ve talimatlar:
- Çalışma sayfanızın düzenine uygun şekilde sütun harflerini (startCol, endCol, holidayCol, resultCol) gerektiği gibi ayarlayın.
- holidayCol virgülle ayrılmış tarihler içermelidir, örneğin 7/3/2025,7/18/2025. Gerekli değilse boş bırakabilirsiniz.
- Bu makro verilerin başlığın ardından 2. satırdan başladığını varsayar.
2. Makroyu çalıştırmak için düğmesine tıklayın veya F5 tuşuna basın, modül seçiliyken kod otomatik olarak tüm satırlar için sonuç sütununda aylık toplam çalışma saatlerini hesaplayıp dolduracaktır. Bir hata ile karşılaşırsanız, veri referanslarınızın ve tarih formatlarının doğru olduğunu kontrol edin.
Bu yöntem, özellikle büyük çaplı çalışan listeleri veya çok satırlı zaman çizelgesi verileri genelinde hesaplamaları otomatikleştirmek için etkilidir, tutarlılığı sağlar ve kayıtların atlanma riskini azaltır. Veri yapınız daha esnek ise veya günlük devamsızlık kayıtlarını özetlemek istiyorsanız, aşağıda açıklanan bir PivotTable kullanmayı düşünebilirsiniz.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Ofis uygulamalarına sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır.
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
- Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!
Tüm Kutools eklentileri. Tek kurulum
Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.





- Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
- Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
- 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
- En iyi değer — tek tek eklenti almak yerine tasarruf edin