Arama içerir Bulma

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
264
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Herkese Merhaba,

Ürünleri aradığımız veri ambarımız var bu veri ambarındaki verileri karşılaştırmamız için gerekli olan formül " içerir " örnek tabloyu ekledim.
Excel tablosunda arama kısmına aramak istediğimiz verileri yazdığımızda VERI_AMBARI gidip orada bulunan değerlerin yada içeriyorsa verinin tam halini ve sistem kodunu yazmasını sağlaya bilirmiyiz.

Değerli desteklerinizi bekliyoruz.

https://s2.dosya.tc/server17/rin2bm/ARAMA-ICERIR.xlsx.html
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Aranan değer veri ambarı sayfanızda
1. Birden fazla satırla eşleşiyorsa ne olacak?
2. Birden fazla satırda içeriyorsa en olacak?
3. Bir satırla eşleşip bir satırda da içeriyorsa ne olacak?

Ve Formüllemi istiyorsunuz? Makroyla mı?
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
264
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Merhaba @ÖmerFaruk Bey,

1-) İlk olanı alacak.
2-) İlk olanı alacak.
3-) İlk olanı alacak. ( hiç düşünmemiştim :) )

formül yada makro ayrımı yok aslında hangisi sizin için kolay olursa biz uygundur.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dosyanıza tekrar baktım.
Aranacak ifadenin herhangi bir kısmı aranılan dizide varsa sonuç bulmuşsunuz.
Dosyanızda 5.satır mesela.
Burada bir krtier belirtecekmisiniz.

Sanki siz şunu istiyorsunuz.
Örneğin Aranacak ifade 8 karakterli olsun
8 karakterin tamamını arayacaksınız, buldu buldu, bulamadı aramaya devam edecek.
ilk 7 karakteri, son 7 karakteri, ilk 6 karakteri, ikincii 6 karakteri ve böyle uzayıp gidecek.
Hatta 2.satırda verdiğiniz örnekte
44032020000200 ifadesini aramış ve B2 de bulduğunuz sonuç 440320200002-00 olmuş.
Bunun anlamı herhanhi bir şekilde araya 1 ya da 1den fazla karakter de girebilir midir?

Yani oldukça karışık bir örnek çözüm sunmuşsunuz.
Mecburen Makro ile çözmek zorunda kalacağız.
Arama kriterleriniz böyleyse (yani sınırsız ve kısıtsız) , aranacak verileriniz de uzunsa ve bilgisayarınız çok iyi bir donanıma sahip değilse dosyanız kasmak zorunda kalacaktır.
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
264
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
@ÖmerFaruk Bey ,

Kesinlikle haklısınız bu kadar karışık ola bileceğini düşünememiştim.

Bize sadece içeriyorsa özelliği olması yeterlidir.

2 Örneği ekledim.
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
İkinci dosyada bulunan değerler (Bsütunu) VeriAmbarı sayfanızda mevcut mu?
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
264
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
@ÖmerFaruk Bey ,

Hızlıca düzenleme yapıp gönderdiğim için bazı verileri eklememişim.


Veri Ambarı alanını düzenledim yeni dosyayı ekledim.
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Bizlerde cevapları kontrol etmeden hızlıca dikattsizce yollamayalım diye soruların doğru sorulmasını çok arzuluyoruz.
Son dosyanızı incelemedim.
Önceki mesajlarınızdan yola çıkarak aşağıdaki kodu ARAMA sayfasının KOD sayfasına aynen yapıştırın.
A sütununa Yazdığınız değer eğer aranacak veriler içinde birebir varsa TAM DEĞER, kısmî bir eşleime olursa İÇERİR şeklinde sonuç üretecektir.

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim AranacakALan As Range, Bul As Range
   If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
   Set Aranacak = Worksheets("VERI_AMBARI").Range("A2").CurrentRegion
   Set Bul = Aranacak.Find(What:=Target.Value, LookAt:=xlPart)
   If Not Bul Is Nothing Then
      Target.Offset(, 1) = Bul.Value
      If Target.Value = Bul.Value Then
         Target.Offset(, 2) = "TAM DEĞER"
      Else
         Target.Offset(, 2) = "İÇERİR"
      End If
      Target.Offset(, 3) = Bul.Offset(, 1)
   Else
      Target.Offset(, 1) = ""
      Target.Offset(, 2) = ""
      Target.Offset(, 3) = ""
   End If
End Sub
 

yasin85

Altın Üye
Katılım
29 Haziran 2011
Mesajlar
264
Excel Vers. ve Dili
2019, Türkçe
Altın Üyelik Bitiş Tarihi
25-08-2026
Sn. @ÖmerFaruk Bey,

Teşekkürler dosya işimizi çözdü.

Emeğinize sağlık..
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Eyvallah. Kolay gelsin.
 
Üst