ÇOKETOPLA Ölçütü Hücreden Alma

schlecht

Altın Üye
Katılım
13 Kasım 2009
Mesajlar
337
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
23-02-2025
=ÇOKETOPLA(B2:B100;A2:A100;"*iSTANBUL*";C2:C100;"*KİTAP*")

*KİTAP* ölçüyünü hücreden aldırmaya çalıştım başaramadım. Yardımlarınızı rica ederim.

İyi günler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,298
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
=ÇOKETOPLA(B2:B100;A2:A100;"*iSTANBUL*";C2:C100;"*" & A1 & "*")
 

schlecht

Altın Üye
Katılım
13 Kasım 2009
Mesajlar
337
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
23-02-2025
Korhan Hocam teşekkürler. Denedim tam istediğim gibi.
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
Merhaba

Sayfa2 bulunan değerleri firma adı ve döviz cinisini (sabit kalacak) yazdığım zaman rakamları otomatik olarak gelmesini istiyorum. ayrıca mail adresini otomatik olarak gelmesini istiyorum.

Örnek tablo ektedir. yardımlarınızı için teşekkürler
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Hangi sayfada ne yaptığınızda hangi sayfada ne olmasını istiyorsunuz?
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
Data Sayfa2 de raporu sayfa3 gelmesini ve mail adresilerin sayfa3 firma adına göre gelmesini istiyorum
Firma adını yazdığımda otomatik olarak veriler gelecek
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kodları Sayfa3'ün kod bölümüne yapıştırıp deneyiniz. Bu sayfada A3:A1000 aralığına veri girdiğinizde işlem yapar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A3:A1000]) Is Nothing Then Exit Sub
If Selection.Count > 1 Then Exit Sub
If Target = "" Then
    Target.Offset(0, 1) = ""
    Target.Offset(0, 2) = ""
    Target.Offset(0, 3) = ""
    Target.Offset(0, 4) = ""
    Target.Offset(0, 5) = ""
Else
    Set s1 = Sheets("Mail")
    Set s2 = Sheets("Sayfa2")
    son1 = s1.Cells(Rows.Count, "A").End(3).Row
    son2 = s2.Cells(Rows.Count, "A").End(3).Row
    If WorksheetFunction.CountIf(s2.Range("A1:A" & son2), Target) = 0 Then
        MsgBox Target & " adlı firma Sayfa2'de bulunmuyor"
    Else
        Target.Offset(0, 1) = WorksheetFunction.SumIfs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [B2])
        Target.Offset(0, 2) = WorksheetFunction.SumIfs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [C2])
        Target.Offset(0, 3) = WorksheetFunction.SumIfs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [D2])
        Target.Offset(0, 4) = WorksheetFunction.SumIfs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [E2])
        If WorksheetFunction.CountIf(s1.Range("A1:A" & son1), Target) > 0 Then
            Target.Offset(0, 5) = WorksheetFunction.VLookup(Target, s1.Range("A1:B" & son1), 2, 0)
        End If
        If Target.Offset(0, 5) = "" Then
            Target.Offset(0, 5) = "Mail adresi giriniz"
        End If
    End If
End If
End Sub
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
Merhaba

Desteğinizi için çok teşekkürler
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
Merhaba

Sayfa2 nin D Sütünda "Yes" "No" Var toplamları "No göre nasıl bir makro eklene bilir. ?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyanızı isteğinize göre güncelleyip daha açık sorar mısınız?
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
makroya ek olarak No ve Yes Ekledim.
Sayfa2 Toplamı "No" Göre Sayfa2 gelmesi
ve düşeyara ile sayfa2 deki "no" veya "yes" gelmesini istiyorum


Yardımınızı için teşekkürler.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Kodda son2 yazmanız gerekirken son1 yazmışsınız.

Rich (BB code):
Target.Offset(0, 5) = WorksheetFunction.VLookup(Target, s2.Range("A1:AG" & son2), 4, 0)
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
Evet onu fark ettim.
ama mail adresi boş olduğunda hata alıyorum.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Yazdığımız kodlarla çalıştırdığınız kodlar aynı değil. Kodları uyarlarken hata yapıyorsunuz muhtemelen. Bunun yerine örnek dosyanızı asıl dosyanızla "aynı yapıda" yapsaydınız sorun olmazdı.

Ekran görüntüsündeki hata aranan verinin aranılan yerde bulunmadığı zaman çıkar. Benim verdiğim kod bunu engellemek için kod varsa düşeyara yapıyordu. Siz uyarlarken bunu bozmuşsunuz.

Kodunuzu verinin arandığı yere göre güncelleyin.
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
Kodu Böyle değiştirdim

mail adresi yok ise hata veriyor :(

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A3:A1000]) Is Nothing Then Exit Sub
If Selection.Count > 1 Then Exit Sub
If Target = "" Then
Target.Offset(0, 1) = ""
Target.Offset(0, 2) = ""
Target.Offset(0, 3) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 5) = ""
Target.Offset(0, 6) = ""
Else
Set s1 = Sheets("Mail")
Set s2 = Sheets("Sayfa2")
son1 = s1.Cells(Rows.Count, "A").End(3).Row
son2 = s2.Cells(Rows.Count, "A").End(3).Row
If WorksheetFunction.CountIf(s2.Range("A1:A" & son2), Target) = 0 Then
MsgBox Target & " adlı firma Sayfa2'de bulunmuyor"
Else
Target.Offset(0, 1) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
s2.Range("B1:B" & son2), [B2], s2.Range("d1:d" & son2), "No")
Target.Offset(0, 2) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
s2.Range("B1:B" & son2), [C2], s2.Range("d1:d" & son2), "No")
Target.Offset(0, 3) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
s2.Range("B1:B" & son2), [D2], s2.Range("d1:d" & son2), "No")
Target.Offset(0, 4) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
s2.Range("B1:B" & son2), [E2], s2.Range("d1:d" & son2), "No")

If WorksheetFunction.CountIf(s2.Range("A1:A" & son2), Target) > 0 Then
Target.Offset(0, 5) = WorksheetFunction.VLookup(Target, s2.Range("A1:z" & son2), 4, 0)
If WorksheetFunction.CountIf(s1.Range("A1:A" & son1), Target) > 0 Then
Target.Offset(0, 6) = WorksheetFunction.VLookup(Target, s1.Range("A1:B" & son1), 2, 0)
End If
If Target.Offset(0, 6) = "" Then
Target.Offset(0, 6) = "Mail adresi giriniz"
End If
End If
End If
End If
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Son gönderdiğiniz dosya son2 düzeltmesini yaptıktan sonra bende herhangi bir hata vermedi. Ayrıca Yes No için tekrar kontrol etmeye gerek olmadığından o kısımdaki if sorgusunu iptal ettim. Bir de mevcut verilerden birini değiştirdiğinizde eğer sayfa2'de yoksa diğer hücreleri boşaltmayı ekledim:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A3:A40000]) Is Nothing Then Exit Sub
If Selection.Count > 1 Then Exit Sub
If Target = "" Then
    Target.Offset(0, 1) = ""
    Target.Offset(0, 2) = ""
    Target.Offset(0, 3) = ""
    Target.Offset(0, 4) = ""
    Target.Offset(0, 5) = ""
    Target.Offset(0, 6) = ""
Else
    Set s1 = Sheets("Mail")
    Set s2 = Sheets("Sayfa2")
    son1 = s1.Cells(Rows.Count, "A").End(3).Row
    son2 = s2.Cells(Rows.Count, "A").End(3).Row
    If WorksheetFunction.CountIf(s2.Range("A1:A" & son2), Target) = 0 Then
        MsgBox Target & " adlı firma Sayfa2'de bulunmuyor"
        Target.Offset(0, 1) = ""
        Target.Offset(0, 2) = ""
        Target.Offset(0, 3) = ""
        Target.Offset(0, 4) = ""
        Target.Offset(0, 5) = ""
        Target.Offset(0, 6) = ""
    Else
        Target.Offset(0, 1) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [B2])
        Target.Offset(0, 2) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [C2])
        Target.Offset(0, 3) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [D2])
        Target.Offset(0, 4) = WorksheetFunction.sumifs(s2.Range("C1:C" & son2), s2.Range("A1:A" & son2), Target, _
            s2.Range("B1:B" & son2), [E2])
        Target.Offset(0, 5) = WorksheetFunction.VLookup(Target, s2.Range("A1:AG" & son2), 4, 0)
        If WorksheetFunction.CountIf(s1.Range("A1:A" & son1), Target) > 0 Then
            Target.Offset(0, 6) = WorksheetFunction.VLookup(Target, s1.Range("A1:C" & son1), 2, 0)
        End If
        If Target.Offset(0, 6) = "" Then
            Target.Offset(0, 6) = "Mail adresi giriniz"
        End If
    End If
End If
End Sub
 
Katılım
12 Şubat 2009
Mesajlar
185
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Altın Üyelik Bitiş Tarihi
05-11-2024
İlginiz için çok teşekkürler.
 

stier_22

Altın Üye
Katılım
15 Eylül 2009
Mesajlar
147
Excel Vers. ve Dili
excel 2016
Altın Üyelik Bitiş Tarihi
04-01-2028
peki bu formülü tüm satırlara nasıl kopyalaya bilirim şuan bende de böyle bir sorun var ctrl+c veya hücre kenarından çektiğimde aynı verileri aşağı kopyalıyor forumda da sordum cevap alamadım?
 

schlecht

Altın Üye
Katılım
13 Kasım 2009
Mesajlar
337
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
23-02-2025
peki bu formülü tüm satırlara nasıl kopyalaya bilirim şuan bende de böyle bir sorun var ctrl+c veya hücre kenarından çektiğimde aynı verileri aşağı kopyalıyor forumda da sordum cevap alamadım?
Ben not defterinde çoğaltıp excele geri kopyaladım. Başka çözüm bulamadım.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
peki bu formülü tüm satırlara nasıl kopyalaya bilirim şuan bende de böyle bir sorun var ctrl+c veya hücre kenarından çektiğimde aynı verileri aşağı kopyalıyor forumda da sordum cevap alamadım?
Burda formül yok ki! İşlem makroyla yapılıyor. Hangi formülden bahsediyorsunuz?
 
Üst