SLA süresi hesaplama

fasulye

Altın Üye
Katılım
26 Temmuz 2005
Mesajlar
34
Excel Vers. ve Dili
Excel 2010 - İngilizce
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Merhaba,

SLA Hesaplama konusunda yardıma ihtiyacım var,
SLA: Bir işi belirli bir değerde(zamanda, maliyette) yerine getirmek konusunda müşterinize veya patronunuza verdiğiniz tahhüt.

Örneğin çağrı merkezinde bir çağrıyı 20 saniye içinde cevaplamayı taahhüt ederseniz, 20 saniyeden önce cevaplanan çağrılarda taahhütünüzü yerine getirmiş olursunuz, ücretinizi alırsınız.
20 saniyeden fazla sürerse taahhütünüzü yerine getirememiş olursunuz,ücretinizi alamazsınız.
Buraya kadar basit, çağrı bitiş saatinden çağrı geliş saatini çıkartırsanız süreyi hesaplarız.
(Her çağrıda bir iş yaptığınızı varsayarsak)

Fakat bir çağrıda 1’den fazla iş yaparsanız farklı bir mantıkla hesaplama yapmak gerekiyor, benim yardım isteyeceğim alan burası.

Örnek saçma gelebilir, siz sonuca odaklanın;
Diyelim ki çok fazla talebi olan bir müşterinin çağrısı geldi, telefonla 2 müşteri temsilcisi konuşuyor.
Müşteri temsilcisi “A” bir işlemi yaparken, müşteri temsilcisi “B” başka bir işlemi yapıyor, ve karşıdaki müşterinin çok sayıda işlemi var.

Bu durumda hesaplama;
çağrının geldiği saati başlangıç almak yerine; o müşteri temsilcisinin yaptığı son işin bitiş saatini başlangıç almak. Müşteri temsilcisi "A"'nın yaptığı 2.iş için başlangıc saati, 1.işin bitiş saatidir.

Aksine; eğer çağrı geliş saatini başlangıç kabul edersek, son işlem en uzun süren iş olmuş olacak. Halbuki müşteri temsilcisi “A” son işi kısa bi sürede bitirmişti.


Ekte örnek bir tablo veriyorum, bulmak istediğim değer {İşlem} Süresi.(Sarı alan)
Eğer / İndis / Düşeara / Mak vb. formülleri denedim ancak beceremedim.
Az da olsa bir fikir verebilecek kimse olursa çok memnun olurum.
Cevap yazan ya da en azından okuyanların bile ellerine sağlık.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Aşağıdaki dizi formülüF2 hücresine uygulayın ve aşağı doğru kopyalayın.
.
Kod:
=E2-[COLOR="red"]EĞER[/COLOR]([COLOR="red"]TOPLA.ÇARPIM[/COLOR](($A$2:$A2=A2)*($B$2:$B2=B2))=1;D2;[COLOR="red"]KAYDIR[/COLOR]($E$1;[COLOR="red"]KÜÇÜK[/COLOR]([COLOR="red"]EĞER[/COLOR]($A$2:$A$12=A2;[COLOR="red"]EĞER[/COLOR]($B$2:$B$12=B2;[COLOR="red"]SATIR[/COLOR]($E$2:$E$12)));[COLOR="Red"]TOPLA.ÇARPIM[/COLOR](($A$2:$A2=A2)*($B$2:$B2=B2))-1)-1;0))
[COLOR="Blue"]Dizi formülü olduğundan hücreye [B][COLOR="Red"]CTRL+SHIFT+ENTER[/COLOR][/B] ile girilmelidir.
İşlem doğru yapılmışsa formül [B]kendiliğinden [COLOR="red"]{[/COLOR]....[COLOR="red"]}[/COLOR][/B] şeklinde köşeli parantez içine alınır.[/COLOR]
 

fasulye

Altın Üye
Katılım
26 Temmuz 2005
Mesajlar
34
Excel Vers. ve Dili
Excel 2010 - İngilizce
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Merhaba.

Aşağıdaki dizi formülüF2 hücresine uygulayın ve aşağı doğru kopyalayın.
.
Kod:
=E2-[COLOR="red"]EĞER[/COLOR]([COLOR="red"]TOPLA.ÇARPIM[/COLOR](($A$2:$A2=A2)*($B$2:$B2=B2))=1;D2;[COLOR="red"]KAYDIR[/COLOR]($E$1;[COLOR="red"]KÜÇÜK[/COLOR]([COLOR="red"]EĞER[/COLOR]($A$2:$A$12=A2;[COLOR="red"]EĞER[/COLOR]($B$2:$B$12=B2;[COLOR="red"]SATIR[/COLOR]($E$2:$E$12)));[COLOR="Red"]TOPLA.ÇARPIM[/COLOR](($A$2:$A2=A2)*($B$2:$B2=B2))-1)-1;0))
[COLOR="Blue"]Dizi formülü olduğundan hücreye [B][COLOR="Red"]CTRL+SHIFT+ENTER[/COLOR][/B] ile girilmelidir.
İşlem doğru yapılmışsa formül [B]kendiliğinden [COLOR="red"]{[/COLOR]....[COLOR="red"]}[/COLOR][/B] şeklinde köşeli parantez içine alınır.[/COLOR]
Sayın Ömer Baran,

Ancak cevap yazabildim, çok teşekkür ederim, ellerinize sağlık.
 

fasulye

Altın Üye
Katılım
26 Temmuz 2005
Mesajlar
34
Excel Vers. ve Dili
Excel 2010 - İngilizce
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Merhaba
Ekli dosyayı inceler misiniz
Sayın Numan Şamil,

çok teşekkürler ilginize, ben sorunumu yukardaki formül ile çözdüm, verdiğiniz makro için çok teşekkürler,
Ancak buraya.PasteSpecial Paste:=xlValues kodunda bir hata veriyor, detaylı bilgim olmadığı için düzeltemedim,

saygılar
 

fasulye

Altın Üye
Katılım
26 Temmuz 2005
Mesajlar
34
Excel Vers. ve Dili
Excel 2010 - İngilizce
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Merhaba.

Aşağıdaki dizi formülüF2 hücresine uygulayın ve aşağı doğru kopyalayın.
.
Kod:
=E2-[COLOR="red"]EĞER[/COLOR]([COLOR="red"]TOPLA.ÇARPIM[/COLOR](($A$2:$A2=A2)*($B$2:$B2=B2))=1;D2;[COLOR="red"]KAYDIR[/COLOR]($E$1;[COLOR="red"]KÜÇÜK[/COLOR]([COLOR="red"]EĞER[/COLOR]($A$2:$A$12=A2;[COLOR="red"]EĞER[/COLOR]($B$2:$B$12=B2;[COLOR="red"]SATIR[/COLOR]($E$2:$E$12)));[COLOR="Red"]TOPLA.ÇARPIM[/COLOR](($A$2:$A2=A2)*($B$2:$B2=B2))-1)-1;0))
[COLOR="Blue"]Dizi formülü olduğundan hücreye [B][COLOR="Red"]CTRL+SHIFT+ENTER[/COLOR][/B] ile girilmelidir.
İşlem doğru yapılmışsa formül [B]kendiliğinden [COLOR="red"]{[/COLOR]....[COLOR="red"]}[/COLOR][/B] şeklinde köşeli parantez içine alınır.[/COLOR]


Sayın Ömer Baran,

Formülünüzde anlayamadığım birkaç yer var, öğrenmek istiyorum, yardımcı olabilir misiniz;
Aşağıdaki alanların sözel ifadesi nedir acaba?
Topla.çarpım içinde de kullanmışsınız. Ancak mantığını öğrenmek istiyorum.

Peşinen teşekkürler.

TOPLA.ÇARPIM(($B$2:$B2=B2)*($C$2:$C2=C2))
($B$2:$B$12=B2;
($C$2:$C$12=C2;
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Formülün parçalarını, aynı satırda başka sütuna uygulayıp liste boyunca kopyalayın.
(ilgili işlevin parantezlerine dikkat edin, dizi formülü olduğunu unutmayın)

Bu şekilde daha iyi anlaşılacağını sanıyorum.

Mesele ilgili işlemin başlangıç zamanının tespiti değil mi?
-- Bir kişinin adına ilk rastlandığında....
-- Aynı kişinin hangi satırdaki işlemine bakıyoruz....
-- Aynı kişinin bir önceki işleminin bitiş zamanı....
.
 

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Yanlış oldu.
 
Son düzenleme:

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,231
Excel Vers. ve Dili
Ofis 2013 Türkçe
Sayın Numan Şamil,

çok teşekkürler ilginize, ben sorunumu yukardaki formül ile çözdüm, verdiğiniz makro için çok teşekkürler,
Ancak buraya.PasteSpecial Paste:=xlValues kodunda bir hata veriyor, detaylı bilgim olmadığı için düzeltemedim,

saygılar
Merhaba
Kodları dener misiniz
Kod:
Sub Numan()
Dim bura As Range, buraya As Range
Dim k, i As Long
Dim sırala, sırala1
Application.ScreenUpdating = False
Range("I2:N" & Rows.Count).ClearContents
 Range("L2:N5635").NumberFormat = "hh:mm:ss"
 satır1 = 2
 For k = 2 To [B65536].End(3).Row
If Cells(k, 2).Value <> "" Then s = s + 1
Cells(k, 9).Value = s
Next k
 Range("b2:e65000").Copy
 Range("J2").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
son = Cells(Rows.Count, "J").End(3).Row
sırala = "I2:M" & son
sırala1 = "j2"
Range(sırala).Sort key1:=Range(sırala1), order1:=xlAscending
For i = 2 To [J65536].End(3).Row
If Range("K" & i).Value < 3 Then
Range("N" & i).Value = Range("M" & i).Value - Range("L" & i).Value
End If
If Range("K" & i).Value > 2 Then
If Range("J" & i).Value = Range("J" & i - 1).Value Then
Range("N" & i).Value = Range("M" & i).Value - Range("M" & i - 1).Value
End If
End If
Next i
son = Cells(Rows.Count, "J").End(3).Row
sırala = "I2:N" & son
sırala1 = "I2"
Range(sırala).Sort key1:=Range(sırala1), order1:=xlAscending
Range("F2:F" & Rows.Count).ClearContents
Range("N2:N65536").Copy
Range("F2").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Range("I2:N" & Rows.Count).ClearContents
Range("F1").Select
Application.ScreenUpdating = True
MsgBox "İşlem tamam."
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Bir de makro alternatifi vereyim;
-- verilerin bulunduğu sayfaya bir düğme/şekil/metin kutusu ekleyin,
-- alt taraftan verilerin olduğu sayfa adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- açılan VBA ekranında sağ taraftaki boş alana aşağıdaki kod'u yapıştırın,
-- sayfaya eklediğiniz düğme/şekil/metin kutusuna fareyle sağ tıklayıp MAKRO ATAyı seçin,
-- açılan küçük ekranda SLA_BRN'yi seçerek işemi onaylayın,
-- sayfadaki düğme/şekil/metin kutusuna fareyle tıklayarak kod'un çalışmasını sağlayın.
.
Kod:
[B]Sub SLA_BRN()[/B]
son = Cells(Rows.Count, 1).End(3).Row: Set wf = Application.WorksheetFunction
Range("F2:F" & son).ClearContents
For brn = 2 To son
    If Cells(brn, "A") <> Cells(brn - 1, "A") Then
        Cells(brn, "F") = Cells(brn, "E") - Cells(brn, "D"): End If: Next
For brna = 2 To son
    If Cells(brna, "F") = "" Then
        ilk = wf.Match(Cells(brna, "A"), Range("A:A"), 0)
        If wf.CountIf(Range(Cells(ilk, "B"), Cells(brna, "B")), Cells(brna, "B")) = 1 Then
            Cells(brna, "F") = Cells(brna, "E") - Cells(brna, "D"): GoTo 20: End If
                For brnb = ilk To brna - 1
                    If Cells(brna, "B") = Cells(brnb, "B") Then bbit = brnb
                Next
            Cells(brna, "F") = Cells(brna, "E") - Cells(bbit, "E")
    End If
20:    Next
MsgBox "İşlem tamamlandı..", vbInformation, "..::.. Ö. BARAN ..::.."
[B]End Sub[/B]
 

fasulye

Altın Üye
Katılım
26 Temmuz 2005
Mesajlar
34
Excel Vers. ve Dili
Excel 2010 - İngilizce
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
16-01-2025
Sayın Numan Şamil, Sayın Ömer Baran,

Desteğiniz için çok çok teşekkür ederim, en kısa zamanda makroları kontrol ederek dönüş yapacağım,
Saygılar.
 
Katılım
21 Eylül 2017
Mesajlar
4
Excel Vers. ve Dili
2013-türkçe
Merhaba,

SLA Hesaplama konusunda yardıma ihtiyacım var.

Örneğin: iş emri tarafımıza açıldıktan sonra SLA süresi başlıyor fakat SLA akşam 20:00 duruyor ve yarın sabah mesai başlangıcında saat 09:00 tekrar kaldığı yerden devam ediyor. 24 saat süresi dolmadan müdahale edildiğinde başarılı sayılmaktadır. Akşam saat 20:00 da durma olayını kafamda oturtamadığım için yardım rica ederim.
Örnek tablo aşağıdaki gibidir.

sabah 09:00 akşam 20:00 arası çalışıyor akşam saat 20:00 duruyor ertesi gün 09:00 başlıyor

Ekleme Tarihi Bitiş Tarihi Sla Formülden sonra Olması gereken saat Taahhüt edilen süre
02.06.2017 11:47 05.06.2017 11:13 21:25:47 24:00:00
01.06.2017 15:33 05.06.2017 11:29 28:56:04 24:00:00
01.06.2017 16:39 05.06.2017 12:01 28:22:08 24:00:00
05.06.2017 09:28 05.06.2017 12:02 2:33:04 24:00:00
01.06.2017 16:06 05.06.2017 12:33 29:27:04 24:00:00
02.06.2017 14:50 05.06.2017 13:14 20:24:05 24:00:00
01.06.2017 11:49 05.06.2017 13:32 34:42:45 24:00:00
05.06.2017 09:28 05.06.2017 14:10 4:41:20 24:00:00
01.06.2017 11:50 05.06.2017 14:20 35:29:48 24:00:00
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba,

SLA Hesaplama konusunda yardıma ihtiyacım var.

Örneğin: iş emri tarafımıza açıldıktan sonra SLA süresi başlıyor fakat SLA akşam 20:00 duruyor ve yarın sabah mesai başlangıcında saat 09:00 tekrar kaldığı yerden devam ediyor. Akşam saat 20:00 da durma olayını kafamda oturtamadığım için yardım rica ederim.
Örnek tablo aşağıdaki gibidir.
.................
Merhaba, foruma hoşgeldiniz.

Sorularınızı, gerçek belgenizle aynı yapıda ve gerçek verileri temsil edebilecek özellikte veriler
içeren örnek belge üzerinden sorarak sonuca daha hızlı ve net olarak ulaşabilirsiniz.

Örnek belge yükleme yöntemine ilişkin açıklama, cevabımın altındaki İMZA bölümünde var.

Ekteki belgeye, fareyle buraya tıklayarak da erişebilirsiniz.
.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

İstediğiniz sonuca aşağıdaki formül ile ulaşabilirsiniz.

Formüldeki HAFTANINGÜNÜ(.....)>6 aslında =7 olarak da yazılabilirdi, haftanıngünü işlevinin sonucu C.tesi için 6, Pazar günü için 7'dir.
C.tesi'yi de aynı Pazar gibi işleme sokmak için formüldeki >6'yı >5 olarak değiştirebilirsiniz.
Formülde yer alan TOPLA.ÇARPIM işlevi, arada kalan Pazar günü adetini buluyor.

Ancak formülün dikkate almadığı (olması gereken sonuçları yazarken sizin de dikkate almadığınız) kısım,
iş bitiş günü saat 20:00'dan sonraki kısım (ilk veri satırı için 00:01:06)

Ayrıca;
-- iş başlangıç saati her zaman saat 09:00'dan sonra,
-- işi bitiş saatleri de hep saat 20:00'den sonra mıdır?
Bu iki hususa göre formülün güncellenmesi gerekebilir.

Belki de bu sorularım SLA kavramıyla ilgili bilgimin olmamasından kaynaklanıyordur.
.
Kod:
=([COLOR="red"]TAMSAYI[/COLOR](B2)-[COLOR="red"]TAMSAYI[/COLOR](A2)-[COLOR="red"]TOPLA.ÇARPIM[/COLOR](([COLOR="Red"]HAFTANINGÜNÜ[/COLOR]([COLOR="red"]TAMSAYI[/COLOR](A2)+[COLOR="red"]SATIR[/COLOR]([COLOR="red"]DOLAYLI[/COLOR]("A1:A"&[COLOR="red"]TAMSAYI[/COLOR](B2)-[COLOR="Red"]TAMSAYI[/COLOR](A2)+1)))[B][COLOR="Blue"][SIZE="4"]>6[/SIZE][/COLOR][/B])*1))*("20:00"-"09:00")+("20:00"-([COLOR="Red"]MOD[/COLOR](A2;1)))
 
Katılım
21 Eylül 2017
Mesajlar
4
Excel Vers. ve Dili
2013-türkçe
Tekrar merhaba,

İlginiz için çok teşekkür ederim.

İş başlangıç saati her zaman 09:00 olup iş bitiş 20:00 dır. Bu şekilde 09:00-20:00 arası saatler dahil edilmektedir. taahhüt edilen 24 saat sürede tamamlanması yani 24 saat içinde değil.

örnek olarak;
10.06.2016 09:18 cuma tarihinde gelmiş olan bir iş 13.06.2016 11:18 pazartesi tarihinde kadar tamamlanması gerekiyor.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Aşağıdaki formül istediğiniz sonucu verir.

Formül sonucunu 24:00:00 ile karşılaştırarak erken tamamlanma veya gecikme durumunu tespit edebilirsiniz.
.
Kod:
="20:00"-[COLOR="red"]MOD[/COLOR](A2;1)+[COLOR="red"]TOPLA.ÇARPIM[/COLOR](([COLOR="red"]HAFTANINGÜNÜ[/COLOR]([COLOR="red"]TAMSAYI[/COLOR](A2)+[COLOR="red"]SATIR[/COLOR]([COLOR="red"]DOLAYLI[/COLOR]("A1:A"&[COLOR="red"]TAMSAYI[/COLOR](B2)-[COLOR="Red"]TAMSAYI[/COLOR](A2)+1)))>6)*1)*("20:00"-"09:00")+MOD(B2;1)-"09:00"
 
Üst