• DİKKAT

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

üç sütun eşleştirme ?

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
iyi akşamlar; sütun eşleştirme yapıyorum, bazen aynı sütunda iki satır olmasına rağmen karşı tarafta tek satır olduğu halde iki satırda eşleşmiş gibi oluyor. bu mükerrerliği önlemek istiyorum. Teşekkürler. Örnek çalışmayı ekliyorum.
Kod:
 =EĞER(EHATALIYSA(KAÇINCI(C2&E2&F2;$K$2:$K$200&$M$2:$M$200&$N$2:$N$200;0));"";"EŞLEŞEN")
kullandığım dizi formül bu şekildedir.
 

Ekli dosyalar

  • örnek.örnek.jpg
    örnek.örnek.jpg
    181.9 KB · Görüntüleme: 13
  • örnek.örnek.xlsx
    örnek.örnek.xlsx
    14.4 KB · Görüntüleme: 25
=EĞER(C2&E2&F2=K2&M2&N2;"EŞLEŞEN";"")
 
satır bazında olsa pratik yöntem ama birinin 1.ci satıranda olan değer , diğerinin 20.ci satırında olabiliyor, yani bire bir satırlar eşit değil, bu formül sorunu tam çözemiyor

Dosyadaki Sorunuz:
iyi günler; C-E-F ile K-M-N sütunlarını karşılaştırarak eşleştirme yapıyorum. bazen aynı kayıttan iki satır olmasına karşılık karşı satırta tek olduğu halde aynı iki hücreyide eşleşmiş gibi gösteriyor. Bu uygulamayı bire bir olarak değiştire bilirmiyiz.
Verilen Cevap:
=EĞER(C2&E2&F2=K2&M2&N2;"EŞLEŞEN";"")

#3 Mesajınıza cevap: (Yine dosyadaki örneğinize göredir)
=EĞER(ÇOKEĞERSAY($K$2:$K$1000;C3;$M$2:$M$1000;E3;$N$2:$N$1000;F3)=0;"";EĞER(ÇOKEĞERSAY($K$2:$K$1000;C3;$M$2:$M$1000;E3;$N$2:$N$1000;F3)=ÇOKEĞERSAY($C$2:$C$1000;K3;$E$2:$E$1000;M3;$F$2:$F$1000;N3);"EŞLEŞEN";EĞER(ÇOKEĞERSAY($C$2:$C$1000;K3;$E$2:$E$1000;M3;$F$2:$F$1000;N3)>ÇOKEĞERSAY($K$2:$K$1000;C3;$M$2:$M$1000;E3;$N$2:$N$1000;F3);"EŞLEŞEN";"")))
 
Dosyadaki Sorunuz:
iyi günler; C-E-F ile K-M-N sütunlarını karşılaştırarak eşleştirme yapıyorum. bazen aynı kayıttan iki satır olmasına karşılık karşı satırta tek olduğu halde aynı iki hücreyide eşleşmiş gibi gösteriyor. Bu uygulamayı bire bir olarak değiştire bilirmiyiz.
Verilen Cevap:
=EĞER(C2&E2&F2=K2&M2&N2;"EŞLEŞEN";"")

#3 Mesajınıza cevap: (Yine dosyadaki örneğinize göredir)
=EĞER(ÇOKEĞERSAY($K$2:$K$1000;C3;$M$2:$M$1000;E3;$N$2:$N$1000;F3)=0;"";EĞER(ÇOKEĞERSAY($K$2:$K$1000;C3;$M$2:$M$1000;E3;$N$2:$N$1000;F3)=ÇOKEĞERSAY($C$2:$C$1000;K3;$E$2:$E$1000;M3;$F$2:$F$1000;N3);"EŞLEŞEN";EĞER(ÇOKEĞERSAY($C$2:$C$1000;K3;$E$2:$E$1000;M3;$F$2:$F$1000;N3)>ÇOKEĞERSAY($K$2:$K$1000;C3;$M$2:$M$1000;E3;$N$2:$N$1000;F3);"EŞLEŞEN";"")))
emeğinize teşekkür ederim. tam olarak sorun çözülmedi bazı karşılaştırmada atlama yapıyor, epey uğraştım ama sorunu çözemedim örnek dosya ekliyorum
Kod:
=EĞER(ÇOKEĞERSAY($A$2:$A$2000;H2;$C$2:$C$2000;J2;$D$2:$D$2000;K2)=0;"";EĞER(ÇOKEĞERSAY($A$2:$A$2000;H2;$C$2:$C$2000;J2;$D$2:$D$2000;K2)=ÇOKEĞERSAY($H$2:$H$2000;A2;$J$2:$J$2000;C2;$K$2:$K$2000;D2);"EŞLEŞEN";EĞER(ÇOKEĞERSAY($H$2:$H$2000;A2;$J$2:$J$2000;C2;$K$2:$K$2000;D2)>ÇOKEĞERSAY($A$2:$A$2000;H2;$C$2:$C$2000;J2;$D$2:$D$2000;K2);"EŞLEŞEN";"")))
 

Ekli dosyalar

  • örnek dosya.jpg
    örnek dosya.jpg
    256.9 KB · Görüntüleme: 4
  • Denem.örnek.xlsx
    Denem.örnek.xlsx
    14.4 KB · Görüntüleme: 20
Son düzenleme:
Bu karşılaştırmadan aradığınız sonucu almanız mümkün değil.
Karşılaştırılan alanA sütunu sizin muhasebe kaydınız (örnek") "maarif mektepleri" yazıyor,
Banka kayıtlarında bunun karşılığında "22.05 Havale" yazıyor.
Hangi formül bunu karşılaştırıp aynı 75.000 TL olduğunu bulabilir?
Karşılaştırma "ölçüm" kriteri aynı olmazsa veya referansları belli değilse; eşleşenleri bulmak İMKANSIZ.
Ayrıca;10 tane 20.000 TL Muhasebe kaydında, 9 tane de 20.000 TL Banka kaydında varsa;
Hangi 20.000 TL eşleşmeyecek bulunamaz, zira; referans belli değil.

Bunun için daha önce Sn @asri (Asri Akdeniz)'in bir çalışması olan "BANKA MUTABAKATI" dosyası vardı.
Fakat sanırım şimdi "ücretli".Excelarsivi.com sitesinden araştırabilirsiniz.
 
Alternatif makrolu çalışma.

Kod:
Sub karsilastir()
Set d = CreateObject("scripting.dictionary")
Set d1 = CreateObject("scripting.dictionary")

a = Range("K2:N" & Cells(Rows.Count, "K").End(3).Row).Value
For i = 1 To UBound(a)
    krt = a(i, 1) & a(i, 3) & a(i, 4)
    d(krt) = d(krt) + 1
Next i

a = Range("C2:F" & Cells(Rows.Count, "C").End(3).Row).Value
ReDim b(1 To UBound(a), 1 To 1)
For i = 1 To UBound(a)
    krt = a(i, 1) & a(i, 3) & a(i, 4)
    d1(krt) = d1(krt) + 1
    If d(krt) >= d1(krt) Then
        b(i, 1) = "EŞLEŞEN"
    Else
        b(i, 1) = " "
    End If
Next i

[H2].Resize(UBound(a)) = b
MsgBox "İşlem tamam.", vbInformation
End Sub
 
Bu karşılaştırmadan aradığınız sonucu almanız mümkün değil.
Karşılaştırılan alanA sütunu sizin muhasebe kaydınız (örnek") "maarif mektepleri" yazıyor,
Banka kayıtlarında bunun karşılığında "22.05 Havale" yazıyor.
Hangi formül bunu karşılaştırıp aynı 75.000 TL olduğunu bulabilir?
Karşılaştırma "ölçüm" kriteri aynı olmazsa veya referansları belli değilse; eşleşenleri bulmak İMKANSIZ.
Ayrıca;10 tane 20.000 TL Muhasebe kaydında, 9 tane de 20.000 TL Banka kaydında varsa;
Hangi 20.000 TL eşleşmeyecek bulunamaz, zira; referans belli değil.

Bunun için daha önce Sn @asri (Asri Akdeniz)'in bir çalışması olan "BANKA MUTABAKATI" dosyası vardı.
Fakat sanırım şimdi "ücretli".Excelarsivi.com sitesinden araştırabilirsiniz.
genel içerik olarak yazdığınız formül işimi gördü.
işlemde tarih (A), Tutar (C), Tutar (D) ile Tarih (H), Tutar (J) , Tutar (K) karşılıklı kıyaslanıyor kıyaslamaya diğer sütunlar dahil olmuyor, yazdığınız formül de bu şekilde bin satırlık çalışma sayfasında sadece 5 satırda sorun çıktı. onu çözemedim. formülde sorun yoksa muhtemelen dosya yapısında uyuşmazlık vardır. Yoksa yazdığınız formül sorunu çözüyor, gözden kaçırdığım nokta var mı? gibisine sordum. Emeğinize sağlık sık sık kullanabileceğim formül. Hayırlı geceler.
 
Alternatif makrolu çalışma.

Kod:
Sub karsilastir()
Set d = CreateObject("scripting.dictionary")
Set d1 = CreateObject("scripting.dictionary")

a = Range("K2:N" & Cells(Rows.Count, "K").End(3).Row).Value
For i = 1 To UBound(a)
    krt = a(i, 1) & a(i, 3) & a(i, 4)
    d(krt) = d(krt) + 1
Next i

a = Range("C2:F" & Cells(Rows.Count, "C").End(3).Row).Value
ReDim b(1 To UBound(a), 1 To 1)
For i = 1 To UBound(a)
    krt = a(i, 1) & a(i, 3) & a(i, 4)
    d1(krt) = d1(krt) + 1
    If d(krt) >= d1(krt) Then
        b(i, 1) = "EŞLEŞEN"
    Else
        b(i, 1) = " "
    End If
Next i

[H2].Resize(UBound(a)) = b
MsgBox "İşlem tamam.", vbInformation
End Sub
Teşekkür ederim, sorunsuz çalışıyor. Hayırlı akşamlar
 
İlk mesajınızdaki sorunuz için alternatif dizi formül;

Kod:
=EĞER(TOPLA.ÇARPIM(--(C2&E2&F2=$C$1:$C1&$E$1:$E1&$F$1:$F1))>0;"";EĞER(EHATALIYSA(KAÇINCI(C2&E2&F2;$K$2:$K$200&$M$2:$M$200&$N$2:$N$200;0));"";"EŞLEŞEN"))
 
İlk mesajınızdaki sorunuz için alternatif dizi formül;

Kod:
=EĞER(TOPLA.ÇARPIM(--(C2&E2&F2=$C$1:$C1&$E$1:$E1&$F$1:$F1))>0;"";EĞER(EHATALIYSA(KAÇINCI(C2&E2&F2;$K$2:$K$200&$M$2:$M$200&$N$2:$N$200;0));"";"EŞLEŞEN"))
Teşekkür ederim, sorunsuz çalışıyor
 
Geri
Üst