PERSONEL VE BÖLÜMLERİNE GÖRE SAYIM

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki makroyu bir dener misiniz? Mavi kod için nasıl işlem yapılacağını belirtmediğinizden +1 olarak ayarladım:

PHP:
Sub nobet()
    eski = WorksheetFunction.Max(2, , Cells(Rows.Count, "N").End(3).Row)
    Range("O2:T" & eski).ClearContents
    For gun = 2 To 32
        If Cells(gun, "A") <> "" Then
            For kisi = 3 To 11
                If Cells(gun, kisi) <> "" Then
                    If WorksheetFunction.CountIf(Range("N1:N" & eski), Cells(gun, kisi)) = 0 Then
                        Cells(eski + 1, "N") = Cells(gun, kisi)
                        eski = eski + 1
                    End If
                    sat = WorksheetFunction.Match(Cells(gun, kisi), Range("N1:N" & eski), 0)
                    If Cells(1, kisi) = "NÖBET" Then
                        If WorksheetFunction.Weekday(Cells(gun, "A"), 2) < 5 Then
                            Cells(sat, "O") = Cells(sat, "O") + 8
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 6 Then
                            Cells(sat, "T") = Cells(sat, "T") + 24
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 5 Or WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 7 Then
                            Cells(sat, "S") = Cells(sat, "S") + 16
                        End If
                    ElseIf Cells(1, kisi) = "İCAP" Then
                        Cells(sat, "P") = Cells(sat, "P") + 16
                    ElseIf Cells(1, kisi) = "ASKH" Then
                        Cells(sat, "Q") = Cells(sat, "Q") + 1
                    ElseIf Cells(1, kisi) = "M.KOD" Then
                        Cells(sat, "R") = Cells(sat, "R") + 1
                    End If
                End If
            Next
        End If
    Next
End Sub
 
Katılım
15 Ocak 2020
Mesajlar
47
Excel Vers. ve Dili
2007,2019
P2 hücresine aşağıdaki formülü uygulayıp aşağıya doğru çekin.
=EĞER(N2="";"";(TOPLA.ÇARPIM(($G$2:$I$32=N2)*($G$2:$I$32<>""))-TOPLA.ÇARPIM(($B$2:$B$32="Cuma")*($G$2:$I$32=N2)*($G$2:$I$32=N2))-TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)))*8)
kardeş icap da hafta içi 16 saat atacak hafta sonu cumrtesi pazar 24 saat 8 saat atıyor cumrtesi pazar atmıyor
 
Katılım
15 Ocak 2020
Mesajlar
47
Excel Vers. ve Dili
2007,2019
P2 hücresine aşağıdaki formülü uygulayıp aşağıya doğru çekin.
=EĞER(N2="";"";(TOPLA.ÇARPIM(($G$2:$I$32=N2)*($G$2:$I$32<>""))-TOPLA.ÇARPIM(($B$2:$B$32="Cuma")*($G$2:$I$32=N2)*($G$2:$I$32=N2))-TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)))*8)
YİNE ÇALIŞMADI KARDEŞ HAFTA İÇLERİ 8 SAAT OLARAK ATIYOR HAFTA SONLARINDA BİR DEĞER ATMIYOR
 
Katılım
15 Ocak 2020
Mesajlar
47
Excel Vers. ve Dili
2007,2019
Aşağıdaki makroyu bir dener misiniz? Mavi kod için nasıl işlem yapılacağını belirtmediğinizden +1 olarak ayarladım:

PHP:
Sub nobet()
    eski = WorksheetFunction.Max(2, , Cells(Rows.Count, "N").End(3).Row)
    Range("O2:T" & eski).ClearContents
    For gun = 2 To 32
        If Cells(gun, "A") <> "" Then
            For kisi = 3 To 11
                If Cells(gun, kisi) <> "" Then
                    If WorksheetFunction.CountIf(Range("N1:N" & eski), Cells(gun, kisi)) = 0 Then
                        Cells(eski + 1, "N") = Cells(gun, kisi)
                        eski = eski + 1
                    End If
                    sat = WorksheetFunction.Match(Cells(gun, kisi), Range("N1:N" & eski), 0)
                    If Cells(1, kisi) = "NÖBET" Then
                        If WorksheetFunction.Weekday(Cells(gun, "A"), 2) < 5 Then
                            Cells(sat, "O") = Cells(sat, "O") + 8
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 6 Then
                            Cells(sat, "T") = Cells(sat, "T") + 24
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 5 Or WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 7 Then
                            Cells(sat, "S") = Cells(sat, "S") + 16
                        End If
                    ElseIf Cells(1, kisi) = "İCAP" Then
                        Cells(sat, "P") = Cells(sat, "P") + 16
                    ElseIf Cells(1, kisi) = "ASKH" Then
                        Cells(sat, "Q") = Cells(sat, "Q") + 1
                    ElseIf Cells(1, kisi) = "M.KOD" Then
                        Cells(sat, "R") = Cells(sat, "R") + 1
                    End If
                End If
            Next
        End If
    Next
End Sub

YAPAMADIM KARDEŞ BU ŞEKİL SEN DENEDİNMİ
 
Katılım
15 Ocak 2020
Mesajlar
47
Excel Vers. ve Dili
2007,2019
P2 hücresine aşağıdaki formülü uygulayıp aşağıya doğru çekin.
=EĞER(N2="";"";(TOPLA.ÇARPIM(($G$2:$I$32=N2)*($G$2:$I$32<>""))-TOPLA.ÇARPIM(($B$2:$B$32="Cuma")*($G$2:$I$32=N2)*($G$2:$I$32=N2))-TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)))*8)
kardeş çok teşekkür ediyorum yardımların için gerçekten harikasın sadece icap cumartesi pazar çalışmadı.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Örneği ekte gönderiyorum. Buradaki hataları yada eklemek istediğinizi bildirin.

 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kod İcap nöbetini de istediğiniz şekilde yapıyor:

PHP:
Sub nobet()
    eski = WorksheetFunction.Max(2, , Cells(Rows.Count, "N").End(3).Row)
    Range("O2:T" & eski).ClearContents
    For gun = 2 To 32
        If Cells(gun, "A") <> "" Then
            For kisi = 3 To 11
                If Cells(gun, kisi) <> "" Then
                    If WorksheetFunction.CountIf(Range("N1:N" & eski), Cells(gun, kisi)) = 0 Then
                        Cells(eski + 1, "N") = Cells(gun, kisi)
                        eski = eski + 1
                    End If
                    sat = WorksheetFunction.Match(Cells(gun, kisi), Range("N1:N" & eski), 0)
                    If Cells(1, kisi) = "NÖBET" Then
                        If WorksheetFunction.Weekday(Cells(gun, "A"), 2) < 5 Then
                            Cells(sat, "O") = Cells(sat, "O") + 8
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 6 Then
                            Cells(sat, "T") = Cells(sat, "T") + 24
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 5 Or WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 7 Then
                            Cells(sat, "S") = Cells(sat, "S") + 16
                        End If
                    ElseIf Cells(1, kisi) = "İCAP" Then
                        If WorksheetFunction.Weekday(Cells(gun, "A"), 2) <= 5 Then
                            Cells(sat, "P") = Cells(sat, "P") + 16
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) <= 7 Then
                            Cells(sat, "P") = Cells(sat, "P") + 24
                        End If
                    ElseIf Cells(1, kisi) = "ASKH" Then
                        Cells(sat, "Q") = Cells(sat, "Q") + 1
                    ElseIf Cells(1, kisi) = "M.KOD" Then
                        Cells(sat, "R") = Cells(sat, "R") + 1
                    End If
                End If
            Next
        End If
    Next
End Sub
Makroyu çalıştırmak için önce bu kodları kopyalayın
Excel dosyasında iken Alt+F11 yapın ya da sayfa sekmesi üzerine sağ tıklayıp Kod görüntüle diyerek kod sayfasını açın.
Açılan sayfada Insert menüsünden Module'yi seçin
boş sayfa açılacak, o sayfaya kodları yapıştırın
Excel sayfasına geçin
Sayfaya bir düğme/şekil/nesne ekleyin
Eklediğinize sağ tıklayıp makro ata deyin
Açılan listede nobet isimli makroyu seçip işlemi tamamlayın
Artık o düğmeye/şekle/nesneye tıkladığınızda makro çalışacak ve istediğiniz sonuçları listeleyecektir.
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Mesaj silindi.
 
Son düzenleme:

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Kusura bakmayın, maalesef P2 formülünü oluştaramadım.
 
Katılım
15 Ocak 2020
Mesajlar
47
Excel Vers. ve Dili
2007,2019
Aşağıdaki kod İcap nöbetini de istediğiniz şekilde yapıyor:

PHP:
Sub nobet()
    eski = WorksheetFunction.Max(2, , Cells(Rows.Count, "N").End(3).Row)
    Range("O2:T" & eski).ClearContents
    For gun = 2 To 32
        If Cells(gun, "A") <> "" Then
            For kisi = 3 To 11
                If Cells(gun, kisi) <> "" Then
                    If WorksheetFunction.CountIf(Range("N1:N" & eski), Cells(gun, kisi)) = 0 Then
                        Cells(eski + 1, "N") = Cells(gun, kisi)
                        eski = eski + 1
                    End If
                    sat = WorksheetFunction.Match(Cells(gun, kisi), Range("N1:N" & eski), 0)
                    If Cells(1, kisi) = "NÖBET" Then
                        If WorksheetFunction.Weekday(Cells(gun, "A"), 2) < 5 Then
                            Cells(sat, "O") = Cells(sat, "O") + 8
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 6 Then
                            Cells(sat, "T") = Cells(sat, "T") + 24
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 5 Or WorksheetFunction.Weekday(Cells(gun, "A"), 2) = 7 Then
                            Cells(sat, "S") = Cells(sat, "S") + 16
                        End If
                    ElseIf Cells(1, kisi) = "İCAP" Then
                        If WorksheetFunction.Weekday(Cells(gun, "A"), 2) <= 5 Then
                            Cells(sat, "P") = Cells(sat, "P") + 16
                        ElseIf WorksheetFunction.Weekday(Cells(gun, "A"), 2) <= 7 Then
                            Cells(sat, "P") = Cells(sat, "P") + 24
                        End If
                    ElseIf Cells(1, kisi) = "ASKH" Then
                        Cells(sat, "Q") = Cells(sat, "Q") + 1
                    ElseIf Cells(1, kisi) = "M.KOD" Then
                        Cells(sat, "R") = Cells(sat, "R") + 1
                    End If
                End If
            Next
        End If
    Next
End Sub
Makroyu çalıştırmak için önce bu kodları kopyalayın
Excel dosyasında iken Alt+F11 yapın ya da sayfa sekmesi üzerine sağ tıklayıp Kod görüntüle diyerek kod sayfasını açın.
Açılan sayfada Insert menüsünden Module'yi seçin
boş sayfa açılacak, o sayfaya kodları yapıştırın
Excel sayfasına geçin
Sayfaya bir düğme/şekil/nesne ekleyin
Eklediğinize sağ tıklayıp makro ata deyin
Açılan listede nobet isimli makroyu seçip işlemi tamamlayın
Artık o düğmeye/şekle/nesneye tıkladığınızda makro çalışacak ve istediğiniz sonuçları listeleyecektir.
YAPAMADIM KARDEŞ OLMADI
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Biraz uğraştım ama istediğiniz sonucu veriyor galiba.

P2 hücresine aşağıdaki formülü uygulayıp aşağıya doğru çekin.
=EĞER(N2="";"";((TOPLA.ÇARPIM(($G$2:$I$32=N2)*($G$2:$I$32<>""))-(TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))))*16)+(TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))+TOPLA.ÇARPIM(($B$2:$B$32="Pazar")*($G$2:$I$32=N2)))*24)
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
YAPAMADIM KARDEŞ OLMADI
Neyi nasıl yapamadınız?
Önceki mesajımda neyi nasıl yapamadığınızı sormuştum. sonra da adım adım nasıl yapmanız gerektiğini anlattım. Ben örnek dosyanızda makroyu çalıştırıp istediğiniz sonucu aldım. Siz alamadıysanız hatanın ne olduğunu, neyin yanlış olduğunu, neyi yapamadığınızı anlatın ki düzeltmeye çalışayım.

Eğer makroyu çalıştıramamışsanız alıntıladığınız mesajımın alt kısmında belirttiğim işlemleri uygulamamış ya da eksik/yanlış uygulamışsınızdır.
Eğer makro istediğinzi sonucu vermediyse örnek dosyanız asıl dosyanızdan farklı yapıdadır.
 
Katılım
15 Ocak 2020
Mesajlar
47
Excel Vers. ve Dili
2007,2019
Biraz uğraştım ama istediğiniz sonucu veriyor galiba.

P2 hücresine aşağıdaki formülü uygulayıp aşağıya doğru çekin.
=EĞER(N2="";"";((TOPLA.ÇARPIM(($G$2:$I$32=N2)*($G$2:$I$32<>""))-(TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))))*16)+(TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))+TOPLA.ÇARPIM(($B$2:$B$32="Pazar")*($G$2:$I$32=N2)))*24)
EVET VERİYOR AMA PAZAR GÜNÜ 40 SAAT VERİYOR
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Zannedersem şimdi oldu galiba.

P2 hücresine aşağıdaki formülü uygulayıp aşağıya doğru çekin.
=EĞER(N2="";"";((TOPLA.ÇARPIM(($G$2:$I$32=N2)*($G$2:$I$32<>""))-TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))-TOPLA.ÇARPIM(($B$2:$B$32="Pazar")*($G$2:$I$32=N2)))*16)+(((TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))+TOPLA.ÇARPIM(($B$2:$B$32="Pazar")*($G$2:$I$32=N2)))*24)))
 
Katılım
15 Ocak 2020
Mesajlar
47
Excel Vers. ve Dili
2007,2019
Zannedersem şimdi oldu galiba.

P2 hücresine aşağıdaki formülü uygulayıp aşağıya doğru çekin.
=EĞER(N2="";"";((TOPLA.ÇARPIM(($G$2:$I$32=N2)*($G$2:$I$32<>""))-TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))-TOPLA.ÇARPIM(($B$2:$B$32="Pazar")*($G$2:$I$32=N2)))*16)+(((TOPLA.ÇARPIM(($B$2:$B$32="Cumartesi")*($G$2:$I$32=N2)*($G$2:$I$32=N2))+TOPLA.ÇARPIM(($B$2:$B$32="Pazar")*($G$2:$I$32=N2)))*24)))
HARİKASIN KARDEŞ ELLERİNE SAĞLIK MUHTEŞEMSİN SON OLARAK O,Q,R HÜCELERİN DEKİ DEĞERLERİ HÜÇRESİNDE TOPLASIN YANİ TOPLAM NÖBET SAYISINI HERŞEY İÇİN TEŞEKKÜR EDİRİYORUM
 

ASLAN7410

Altın Üye
Altın Üye
Katılım
15 Temmuz 2012
Mesajlar
2,800
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
29.03.2025
Dosyanızın son halini ekliyorum, burda yapmak istediğinizi manuel olarak eklerseniz, çözüm olabilir.

 
Üst