Ard arda parçalı izin günlerini toplama

Katılım
11 Temmuz 2015
Mesajlar
17
Excel Vers. ve Dili
2013-EN
Exceli şöyle tarif edeyim. A sütununda çalışan ID si, B sütununda muayene başlangıç tarihi C sütununda işe başlangıç tarihi, D sütununda ise bu ikisi arasindaki fark işte olmadığı süre olarak kayıtlı. İstediğim muayene başlangıç ve bitiş tarihi arasında 30 gunden fazla olan kisileri bulmak. Tek bir muayene başlangıç tarihi ile ise baslangic tarihi arasında 30 gun olabileceği gibi. Parçalı alinan srd arda iste olmadigi gunler toplami da 30+ olabilir. Ornegin 5.12.2015-18.12.2015 14 gun iste olmasin ve bir sonraki satirda da 18.12.2015-5.1.2016 18 gun iste olmasin. Görüldüğü gibi farkli satirlardaki ard arda gelen iste olmadigi gunler 30+ ve bu kisi tespit etmek istediklerim arasinda. Ard ard gelen parcali işte bulunmadığı gunleri gosterir satır adedi maks 6.

Örnek dısya link: http://s6.dosya.tc/server3/subq2v/Ornek.xlsx.html

Değerli fikirlerinizle yol gosterirseniz sevinirim.
 
Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Örnek excel dosyanızı,açıklamalarını da yazarak; GOOGLE DRIVE, YANDEX DISK, DOSYA.WEB.TR , DOSYA.TC, DOSYA.CO gibi dosya paylaşım sitelerine ekleyip linkini burada bildirirseniz yardım almanız daha kolay olur.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,636
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Tag'daki kodu dener misiniz?

Kod:
Sub denem()

Range("e2:e10000").Clear

Set con = VBA.CreateObject("adodb.Connection")

con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""


sorgu = "select distinct SİCİL from [sheet1$] group by sicil having sum([gün farkı])>30 "

Set rs = con.Execute(sorgu)

Range("e2").CopyFromRecordset rs


End Sub
 
Üst