• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Excel filtre formülü hakkında

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Refaz

Destek Ekibi
Katılım
11 Ağu 2021
Mesajlar
5,163
Çözümler
655
Aldığı beğeni
5,070
Excel V
Office 2024 TR
Konu Sahibi
Merhaba.
Alttaki gibi formül var 21021 ve 365 versiyonları için.
Benim öğrenmek istediğim içeriyorsa yaba başlıyorsa yada bitiyorsa gibi şartlar eklenebiliyor mu?

Dosyadaki E1 hücreye yazılanı içeriyorsa olarak bulması gerek

Saygılar.

HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Çözüm
Abey eğersay formülünde * bunlarla içeriyorsa,başlıyorsa yada bitiyorsa oluyor zaten ben filtre formülünde yapmak istiyorum.Akşam beraber bir deneyeyim.
Refaz hocam * ?~ gibi joker karakterler arama fonksiyonlarında(mbul, bul, düşeyara, ara, kaçıncı) ekseriyeten eğersay vs bazı formüllerde geçerli.. Filtrede direk geçerli değil Filtre formülünde kullanabilmek için esayıysa ve bul yada mbul içine kullanarak yapılabilir. Örneğin E1 de a mevcut ise; a ile başlayanlar için
HTML:
C++:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Veya a ile bitenler için
HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
gibi arama fonksiyonları kullanarak bulunuyor.
Konu Sahibi
Selamlar,

Alternatif olarak,
Farklı bir yaklaşım olsun....
(Şahsen Ben, BUL ve MBUL işlevlerini NET olmadıktan sonra pek kullanmıyorum... Örneğin kara ibaresini arıyoruz, ama Ankara, makara, karanlık, karamsar...vs hepsinde kara mevcut. Belki de bunlar bizim aradığımız kara ile ilgili değil...)

Ben genelde PARÇAAL (MID) işlevini tercih ediyorum... Eğer Küçük-Büyük harf duyarlı ise de ÖZDEŞ (EXACT) işlevini PARÇAAL ile birlikte kullanıyorum...

Bu yönde bir dokuman hazırladım...

Ekli dosyayı görüntüle 3715

Burada,
İÇERİR (yani "*A*" ifadesi) için BUL ve MBUL işlevlerini kullandım... "*" gibi Joker karakter kullanmadım.
Diğer seçeneklerde ise, ya PARÇAAL(A2:A50;Seçime göre başlangıç No;1) (Burada 1 : Aranan ibarenin uzunluğu yani LEN(G1) ve o da 1 olduğundan 1 yazıldı) ya da ÖZDEŞ(PARÇAAL(A2:A50;Seçime göre başlangıç No;1)) işlevi kullanıldı... ELEMAN işlevi ise, Option Butonlar ile yapılan seçimlere karşılık gelen Parçaal daki Başlangıç No için kullanıldı.
Önceki mesajda formül çalışıyor yazmıştım gifteki gibi DC yada Dc gibi yazınca çalışmıyor.


eee.gif
 
Denemiştim ama formülü kendi çoğaltmıyor.
Ben telefondan deniyorum şimdi gayet iyi çalışıyor ama sende neden çalışmadı anlayamadım. Çalışma kitabını kapatıp açmayı dene bir de E1 in formatı metin olmalı.
 
Konu Sahibi
Ben telefondan deniyorum şimdi gayet iyi çalışıyor ama sende neden çalışmadı anlayamadım. Çalışma kitabını kapatıp açmayı dene bir de E1 in formatı metin olmalı.
Gifte gösterdim abey 365 ve 2021 versiyonda formülü kendisinin çoğaltmasını ama sizinki çoğaltmıyor.

rrr.gif
 
Konu Sahibi
Ben telefondan deniyorum şimdi gayet iyi çalışıyor ama sende neden çalışmadı anlayamadım. Çalışma kitabını kapatıp açmayı dene bir de E1 in formatı metin olmalı.
Abey kusura bakmayın kafam karışmış evet o formül çalıştı kendini çoğalttı :)

Alttaki gibi kodunuz başlıyorsa olarak çalıştı.İşten gelip deneyince kafa duman oldu :)

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.


Alttaki de biten için.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

İçerir olarakta alttaki formül.

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Konuyu kilitleyeyim çözülmüşlere.
 
Aynen 10. mesajı uzun uzun yazınca kodlar arada kaldı pek görünmedi aynen yazdığım kodlar bunlar
 
Konu Sahibi
Formülleri koda çevirip listbox ve textboxxta arama olarak basitçe örnek hazırladım ihtiyacı olan olursa diye.
Bağlanlılı birden fazla textbox ve comboboxlarla yapıncada eklerim.Kodlarda ne döngü var nede gıcık Ado :)


55.gif


HTML:
C#:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Selamlar,
Kendi açımdan, mesajıma verdiğiniz yanıtı cevaplamak isterim....
Önceki mesajda formül çalışıyor yazmıştım gifteki gibi DC yada Dc gibi yazınca çalışmıyor.
Çalışmaması gayet NORMAL....

DC yada (dc) yazdığınızda 2 karakter vardır. Açıklamamda belirtmiştim.
Burada,
İÇERİR (yani "*A*" ifadesi) için BUL ve MBUL işlevlerini kullandım... "*" gibi Joker karakter kullanmadım.
Diğer seçeneklerde ise, ya PARÇAAL(A2:A50;Seçime göre başlangıç No;1) (Burada 1 : Aranan ibarenin uzunluğu yani LEN(G1) ve o da 1 olduğundan 1 yazıldı) ya da ÖZDEŞ(PARÇAAL(A2:A50;Seçime göre başlangıç No;1)) işlevi kullanıldı... ELEMAN işlevi ise, Option Butonlar ile yapılan seçimlere karşılık gelen Parçaal daki Başlangıç No için kullanıldı.
I2 hücresinde

=FİLTRE(A2 : A50;ELEMAN(F4;EĞER(F8=3;ESAYIYSA(BUL(G1;A2:A50));ÖZDEŞ(G1;PARÇAAL(A2:A50;ELEMAN(F8;1;4;;2;3;3;2);1)));EĞER(F8=3;ESAYIYSA(MBUL(G1;A2:A50));G1=PARÇAAL(A2:A50;ELEMAN(F8;1;4;;2;3;3;2);1))))

formülü yazmakta.... PARÇAAL kısımlarında da 1 yazmakta. Yani aranan Harf 1 karakter olduğu için 1 yazıldı.
Bu formülü aşağıdaki gibi genelleyebilirsiniz.... 1 yerine UZUNLUK(G1) yazarsınız.

=FİLTRE(A2 : A50;ELEMAN(F4;EĞER(F8=3;ESAYIYSA(BUL(G1;A2:A50));ÖZDEŞ(G1;PARÇAAL(A2:A50;ELEMAN(F8;1;4;;2;3;3;2);UZUNLUK(G1))));EĞER(F8=3;ESAYIYSA(MBUL(G1;A2:A50));G1=PARÇAAL(A2:A50;ELEMAN(F8;1;4;;2;3;3;2);UZUNLUK(G1)))))

Formülü I2 hücresine yazın.
Bu arada O2 de yazan formülde de 1 yerine UZUNLUK(G1) yazarak değişikliği yapmayı unutmayın.

Gelelim Dc ya da Dg yazdığınızda olanlara....

Listede Dc ve Dg olmadığından dolayı #HESAPLA Hatası verecektir....

Listede DC ile başlayan herhangi birini Dc olarak(yani DCBA31 yerine DcBA31), diğer herhangi birini de Dg olarak değiştirin (yani DCBA32 yerine DgBA32 yapın)... Sonra da aranana Dc yazın. (ve de Dg yazın)

Bakalım çalışacak mı?

Ekleme : 05.11.2021 02:06
Formüllerin sonucunda, aranan listede YOK ise ve de #HESAPLA hatası görünmesin istenilirse
I2 hücresine
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

ve O2 hücresine
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

formüllerini yazın....
 
Son düzenleme:
Konu Sahibi
=FİLTRE(A2 : A50;ELEMAN(F4;EĞER(F8=3;ESAYIYSA(BUL(G1;A2:A50));ÖZDEŞ(G1;PARÇAAL(A2:A50;ELEMAN(F8;1;4;;2;3;3;2);UZUNLUK(G1))));EĞER(F8=3;ESAYIYSA(MBUL(G1;A2:A50));G1=PARÇAAL(A2:A50;ELEMAN(F8;1;4;;2;3;3;2);UZUNLUK(G1)))))
Bu formül çalıştı abey elinize sağlık.
Diğer formüller kısa olduğu için onları kullanacağım.
Ben vba koduna uyarlamak için formül istemiştim bu şekilde koda çevirmesi bayağı zor olacak :)
Önceki mesajdada yazdığım gibi düşündükleri uygularsam userformda son halini ekleyeceğim.
 
Konu Sahibi
İki kritere göre aramada yani A ve B sütununa göre sğdan ve soldan olayında sonda yada başta rakam olunca hata veriyordu mesela e1&"" gibi yaparak çözdüm ama zaman olmdadığından dosyayı yükleyemedim.Eşittir olarakta unutulmuş hepsini ekleyeceğim akşam nasipse.Harika oldu sonuç :)
 
Konu Sahibi
İhtiyacı olan olursa örnek olması açısından son hali ektedir.
Ama tam istediğim gibi pratik olamadı fazla sütunları filtrelemede.

Not:
Dosyalar 11.11.2021 tarihinde güncellendi kodddaki find yerine search eklendi küçük büyük harf duyarlılığı için.
 
Son düzenleme:
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst