Çokeğersay ile yoklama alma hesaplama

Katılım
18 Ağustos 2009
Mesajlar
199
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
14/06/2022
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

Katılım
18 Ağustos 2009
Mesajlar
199
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
14/06/2022
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.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
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"))
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
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"))
 
Katılım
18 Ağustos 2009
Mesajlar
199
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
14/06/2022
Çok teşekkür ederim Ömer Bey.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
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.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,181
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba;
Makro çözüm alternatif olsun.
Deneyin.
İyi çalışmalar.
 

Ekli dosyalar

muzos80

Altın Üye
Katılım
21 Aralık 2013
Mesajlar
45
Excel Vers. ve Dili
2013 - Türkçe
Altın Üyelik Bitiş Tarihi
27-01-2026
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

muzos80

Altın Üye
Katılım
21 Aralık 2013
Mesajlar
45
Excel Vers. ve Dili
2013 - Türkçe
Altın Üyelik Bitiş Tarihi
27-01-2026
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
 

muzos80

Altın Üye
Katılım
21 Aralık 2013
Mesajlar
45
Excel Vers. ve Dili
2013 - Türkçe
Altın Üyelik Bitiş Tarihi
27-01-2026

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,181
Excel Vers. ve Dili
Excel-2003 Türkçe
Syn muzos80;
Sorunuzu makro kısmına yeni bir başlık altında sorun.
 

muzos80

Altın Üye
Katılım
21 Aralık 2013
Mesajlar
45
Excel Vers. ve Dili
2013 - Türkçe
Altın Üyelik Bitiş Tarihi
27-01-2026
tamam teşekkür ederim
 
Üst