• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excelde veri seçme ve toplama

Katılım
2 Aralık 2010
Mesajlar
8
Excel Vers. ve Dili
Excel 2010 Türkçe
Merhaba arkadaşlar, bir konu üzerinde çalışıyorum, aslında yapmak istediğim bir toplama işlemi ama formülleri ne kadar karıştırsam da çözümü bulamadım, sorum şu olacak:
Bir iş yerinde 2 kişi çalışmakta (Ali ve Ayşe), o gün Ali'ye 3, Ayşe'ye 2 adet iş verilmiş. Ali 1. işi 8-10 saatleri arasında, 2. işi 8-12 saatleri arasında, 3. işi de 14-16 saatleri arasında yapıyor. Aynı şekilde Ayşe'de 1. işi 8-12, 2. işi de 14-18 saatleri arasında gerçekleştirmekte.
Excelin hesaplamasını istediğim, diğer sayfada herhangi bir hücrede Ali'yi ve Ayşe'yi seçerek (burada düşeyara tarzı bir seçim yapılabilir mi?) toplam çalışma saatlerini vermesi. Ancak, başka bir sıkıntı da şurada, normal toplamaya göre Ali 8 saat (2+4+2) çalışıyormuş gibi gözükmesine rağmen aslında 1. ve 2. işi aynı anda yaptığı için 6 (2+2+2) saat çalışıyor ve excelin 6'yı bulmasını istiyorum.
Sanırım excele fazla yükleniyorum gibi geliyor ama üstatlardan yardımcı olabilecek arkadaşlara çok çok minnettar olacağım.
Umarım çok karışık anlatmamışımdır, yine de eke örnek bir dosya ilave ediyorum..
 

Ekli dosyalar

makro ile geçici çözüm
dosyanız ektedir.
hesapla butonuna tıklayınca hesaplar ama ayşe ya da aliden başka çalışan varsa onları hesaplamaz :(

Sub hesapla()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
Set S3 = Sheets("sayfa3")
s1.Select

For a = 2 To [c65535].End(3).Row
bas = Range("d" & a).Value
son = Range("e" & a).Value
If bas <= son Then artıs = 1 Else artıs = -1

If Range("c" & a) = "Ali" Then
For b = bas + 1 To son Step artıs
S3.Cells(2, b).Value = 1
Next b
End If
If Range("c" & a) = "Ayşe" Then
For c = bas + 1 To son Step artıs
S3.Cells(3, c).Value = 1
Next c
End If

Next a
S3.Select


End Sub
 

Ekli dosyalar

Merhaba
Yardımcı hücre kullanarak çözüm işinizi görür mü?
 
Merhaba
Kod:
=TOPLA.ÇARPIM((Sayfa1!C2:C6=B2)*(Sayfa1!E2:E6-Sayfa1!D2:D6))
Bunu deneyin
 
makro ile geçici çözüm
dosyanız ektedir.
hesapla butonuna tıklayınca hesaplar ama ayşe ya da aliden başka çalışan varsa onları hesaplamaz :(

Sub hesapla()
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
Set S3 = Sheets("sayfa3")
s1.Select

For a = 2 To [c65535].End(3).Row
bas = Range("d" & a).Value
son = Range("e" & a).Value
If bas <= son Then artıs = 1 Else artıs = -1

If Range("c" & a) = "Ali" Then
For b = bas + 1 To son Step artıs
S3.Cells(2, b).Value = 1
Next b
End If
If Range("c" & a) = "Ayşe" Then
For c = bas + 1 To son Step artıs
S3.Cells(3, c).Value = 1
Next c
End If

Next a
S3.Select


End Sub

Tekrardan merhaba,

Yardımlarınız için çok teşekkür ederim, aslına bakarsanız ben de tek tek toplayarak hesaplıyordum ama gantt çizelgesi haline getirip ancak birer birer toplayabiliyordum,inanılmaz zaman alıyordu, bu bilgi gerçekten çok faydalı oldu. Makro bilgim çok fazla değil ama yaptıklarınızı kopyala yapıştır ile birden fazla kişiye uyarladım, biraz vakit alıyor ama benim gibi bir acemi için bunu başarabilmek bile güzel doğrusu. Son bir sorum olacaktı, yapmış olduğunuz örnekte herhangi birisinin başlama zamanını "0" aldığımız zaman yine hesaplamayı yapıyor ancak "1"lerden biri (tahminimce sıfır için hesaplan) isimlerin üstüne geliyor, eğer çok şey istemiş olmayacaksam buna bir çözüm bulabilirmiyiz acaba?
 

Ekli dosyalar

başlama zamanı 0 derken gece 12'mi kastediyorsunuz yani saat 24.00 mı ?
 
Sanırım böyle bir şey istiyorsunuz.Gece saat 12 de başlayanlara kişilerin işe başlama saatini 0 giriyorsunuz.Dosyanız ektedir.
 

Ekli dosyalar

Sanırım böyle bir şey istiyorsunuz.Gece saat 12 de başlayanlara kişilerin işe başlama saatini 0 giriyorsunuz.Dosyanız ektedir.

Merhaba, aynen bahsettiğinizi demek istiyordum, çok teşekkür ederim, çok büyük yardımınız dokundu...
 
Geri
Üst