• DİKKAT

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

Çokeğersay ile yoklama alma hesaplama

Katılım
18 Ağustos 2009
Mesajlar
202
Excel Vers. ve Dili
Excel 365 - Türkçe
Ekteki dosyada olduğu gibi;
Karışık olarak öğrencilerin tarihe göre derste var olup olmadıklarının bilgileri var.
Sınıf bazında o sınıfın öğrencilerinin aylara göre kaç gün derse girdiklerini tesbit etmek istiyorum.
 

Ekli dosyalar

Soruyu şöyle de sorabilirim:
=ÇOKEĞERSAY(YOKLAMA!C3:C22;"9/A";YOKLAMA!D3:L22;"VAR") şeklinde bir formül yazdım.
yani D ve L sütunları arasında ne kadar VAR değeri varsa saysın diye ancak hata veriyor.

=ÇOKEĞERSAY(YOKLAMA!C3:C22;"9/A";YOKLAMA!D3:D22;"VAR")
+ÇOKEĞERSAY(YOKLAMA!C3:C22;"9/A";YOKLAMA!E3:E22;"VAR")
+ÇOKEĞERSAY(YOKLAMA!C3:C22;"9/A";YOKLAMA!F3:F22;"VAR")
+ÇOKEĞERSAY(YOKLAMA!C3:C22;"9/A";YOKLAMA!G3:G22;"VAR")
......
+ÇOKEĞERSAY(YOKLAMA!C3:C22;"9/A";YOKLAMA!L3:L22;"VAR")

diye her bir sütun için ayrı ayrı formül yazmam gerekiyor. hepsini tek bir formülde yazmak istiyorum ama bulamadım.
 
Merhaba,

Deneyiniz.
Kod:
=TOPLA.ÇARPIM((METNEÇEVİR(YOKLAMA!$D$2:$DC$2;"aayy")=METNEÇEVİR(B$1;"aayy"))*(YOKLAMA!$C$3:$C$22=$A2)*(YOKLAMA!$D$3:$DC$22="var"))
 
Alternatif
C++:
=TOPLA.ÇARPIM((YOKLAMA!$C$3:$C$22=$A2)*(AY(YOKLAMA!$D$2:$DC$2)=AY(B$1))*(YOKLAMA!$D$3:$DC$22="VAR"))
 
Eğer dosyanız değişir, satır ve sütunlarınız artarsa
YOKLAMA!$C$3:$C$22=$A2
gibi olan kısımları ya revize edece ya da KAYDIR gibi bir formülle oluşturacaksınız.
 
Merhaba;
Makro çözüm alternatif olsun.
Deneyin.
İyi çalışmalar.
 

Ekli dosyalar

Merhaba;
Makro çözüm alternatif olsun.
Deneyin.
İyi çalışmalar.
Merhaba aşağıdaki dosyada çağdan veri çektiriyorum fakat benim yapmak istediğim üniteleri benzersiz çekmesi ve hata türlerini yani yeşil kırmızı beyaz olanları ünitelere göre saymasını yapamadım yardım edebilir misiniz
 

Ekli dosyalar

Sorunu aşağıdaki gibi çözdüm ama + olarak yaparak aynı kişiye ait kriter Beyaz olanları tüm excel dosyalarından toplam alamıyorum
ustalarımdan desteğe ihtiyacım var

ThisWorkbook.Sheets("BOG").Range("R125:T158").ClearContents
yol = ThisWorkbook.Sheets("BOG").Range("AB59") & "\" 'Dosyanın adresi
' AÇILACAK EXCEL DOSYALARI
Set exel1 = Workbooks.Open(yol & ThisWorkbook.Sheets("BOG").Range("AB60"))
Set exel2 = Workbooks.Open(yol & ThisWorkbook.Sheets("BOG").Range("AB61"))
Set exel3 = Workbooks.Open(yol & ThisWorkbook.Sheets("BOG").Range("AB62"))
Set exel4 = Workbooks.Open(yol & ThisWorkbook.Sheets("BOG").Range("AB63"))
Set exel5 = Workbooks.Open(yol & ThisWorkbook.Sheets("BOG").Range("AB64"))
' Çalışan 1 kişi için
ThisWorkbook.Sheets("BOG").Range("R125") = exel1.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Beyaz", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel2.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Beyaz", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel3.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Beyaz", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel4.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Beyaz", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel5.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Beyaz", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125"))

ThisWorkbook.Sheets("BOG").Range("S125") = exel1.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Kırmızı", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel2.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Kırmızı", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel3.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Kırmızı", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel4.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Kırmızı", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel5.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Kırmızı", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125"))

ThisWorkbook.Sheets("BOG").Range("T125") = exel1.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Yeşil", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel2.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Yeşil", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel3.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Yeşil", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel4.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Yeşil", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125")) + _
exel5.Application.WorksheetFunction.CountIfs(Range("d5:d10000"), "Yeşil", Range("g5:g10000"), ThisWorkbook.Sheets("BOG").Range("Q125"))
exel1.Close True
exel2.Close True
exel3.Close True
exel4.Close True
exel5.Close True

Set exel1 = Nothing
Set exel2 = Nothing
Set exel3 = Nothing
Set exel4 = Nothing
Set exel5 = Nothing
Application.ScreenUpdating = True
End Sub
 
Syn muzos80;
Sorunuzu makro kısmına yeni bir başlık altında sorun.
 
tamam teşekkür ederim
 
Geri
Üst