EĞER ve FİLTRE Fonksiyonlarını Birlikte Kullanma

EĞER ve FİLTRE Fonksiyonlarını Birlikte Kullanma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

fledermaus

VIP Üye
Kullanıcı
Katılım
25 Mar 2022
Mesajlar
785
Excel Versiyonu
Excel 365
Excel Sürümü
64 Bit
Excel Dili
İngilizce
Herkese Merhaba,

Ekte paylaşmış olduğum dosyada sayfa ismi ve kriterlere göre filtreleme yapmaktayım.

Farklı kriterlere göre filtreleme yaptığımdan EĞER(VE koşullarını kullanarak formülleri birleştiriyorum ancak değer hatası alıyorum.

Konuyla ilgili yardımcı olabilecek birileri var ise çok sevinirim.

IF(AND(B3="DURUM 1");CHOOSECOLS(FILTER(_YOL;(_YOL[DURUM1]=$B$2)*(_YOL[TARİH]>=$B$1)*(_YOL[TARİH]<=$C$1)*(LEFT(_YOL[KOD];2)="CT")*(_YOL[TUTAR1]>0);"");6;7;8;14));IF(AND(B3="DURUM 2");CHOOSECOLS(FILTER(_YOL;(_YOL[DURUM2]=$B$2)*(_YOL[TARİH]>=$B$1)*(_YOL[TARİH]<=$C$1)*(LEFT(_YOL[KOD];2)="CT")*(_YOL[TUTAR 2]>0);"");6;7;8;20))


Yardımları için herkese şimdiden çok teşekkür ederim.

Saygılarımla,
 

Ekli dosyalar

Çözüm
@fledermaus
Düzeltmeleri yaptım (OPEN/CLOSED seçeneğine ALL seçeneğini de dahil ettim), şu an sorun yok.

Ancak excel dili dolayısıyla oluşabilecek sorunu gidermek için,
_b1, _b2 ve _m1 şeklindeki AD TANIMLAMAlarına ilişkin formüllerde sadece,
....... DOLAYLI(ÖZET!$AC$2&"[#Üst Bilgiler]")........ kısımlarını
....... DOLAYLI(ÖZET!$AC$2&"[#Headers]")....... şeklinde
düzeltmeniz gerekecek.

Bu kısımlar DOLAYLI işlevi içinde olduğundan DİL DEĞİŞİMİ otomatik yansımıyor, elle düzeltmek gerekiyor.
Merhaba,

Formülünüzde zaten bir şart var. Neden VE kullanıyorsunuz ki?
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
Deneyin bakalım..
 
@ExcelDepo hocam merhaba,

Söz konusu formülde "Durum 3" , "Durum 4" gibi durumlar eklenerek artacak

Ama ben iki durumda bile hata alıyorum. Parantezler de mi bir eksik var anlatamadım açıkcası.

Muhtemelen yine çok basit birşeyi kaçırıyorum

Saygılarımla,
 
@ExcelDepo

Hocam merhaba,

Şu an dosyaya erişimin yok ancak kriterleri bu şekilde arttıracağım.

Kriterlerde sadece sütun numaraları ve başlıklar değişiyor.

IF(B3="DURUM 1";CHOOSECOLS(FILTER(_YOL;(_YOL[DURUM1]=$B$2)*(_YOL[TARİH]>=$B$1)*(_YOL[TARİH]<=$C$1)*(LEFT(_YOL[KOD];2)="CT")*(_YOL[TUTAR1]>0);"");6;7;8;14));IF(AND(B3="DURUM 2");CHOOSECOLS(FILTER(_YOL;(_YOL[DURUM2]=$B$2)*(_YOL[TARİH]>=$B$1)*(_YOL[TARİH]<=$C$1)*(LEFT(_YOL[KOD];2)="CT")*(_YOL[TUTAR 2]>0);"");6;7;8;20));IF(AND(B3="DURUM 3");CHOOSECOLS(FILTER(_YOL;(_YOL[DURUM3]=$B$2)*(_YOL[TARİH]>=$B$1)*(_YOL[TARİH]<=$C$1)*(LEFT(_YOL[KOD];2)="CT")*(_YOL[TUTAR 3]>0);"");6;7;8;26));IF(AND(B3="DURUM 4");CHOOSECOLS(FILTER(_YOL;(_YOL[DURUM4]=$B$2)*(_YOL[TARİH]>=$B$1)*(_YOL[TARİH]<=$C$1)*(LEFT(_YOL[KOD];2)="CT")*(_YOL[TUTAR 4]>0);"");6;7;8;31))


Saygılarımla,
 
Hem DURUM hem de TUTAR sütunlarının değişken olduğunu fark etmemişim demek ki.
Formül şöyle olacak.

Kod:
İndirmek için giriş yapmanız gerekmektedir.
(4 satır)
 
@Ömer BARAN hocam merhaba,

Umarım iyisiniz. Öncelikle çok teşekkür ederim.

Formül sorunsuz çalışıyor ancak "(SAĞDAN(B3;1)" koşulu tüm algoritmayı değiştiriyor. Çünkü başlıkları değiştirme durumum olduğu gibi farklı isimde (sayı içermeyen) başlıklarda kullanma durumum var. Bu koşulu kaldırma imkanımız var mıdır ? Emin olmak için başlıkları değiştirdim ve formül çalışmadı. Umarım doğru anlamışımdır.

Mümkünse bir konuda daha yardımınıza ihtiyacım var. Bu filtrelemeleri alt alta ve sayfa ismine göre yapma şansımız nedir ? Yani mümkün müdür ?

Mesela B3 hücresinde sayfa isimleri listelenecek ve bu listeden sayfa ismi seçilerek bu sayfadaki veriler aşağıdaki gibi alt alta listelenecek. Yani tabloda koşula göre listelediğimiz verileri aşağıdaki sayfaya göre ve alta alta listeleyeceğiz.



1735848277748.webp




Saygılarımla,
 
Bı arada renklendirme ile ilgili bir gereklilik yok hocam. Sadece kriterlere istinaden anlaşılması için renklendirdim


Saygılarımla,
 
FİLTRELEME sayfasındaki açılır listedeki metinlerİN (elbette sayı içermesi vs gerekmez)
veri kaynağı sayfadaki başlıklarla birebir aynı olmasını sağlarsanız çözüm kolaylaşır.

Konu sayfasındaki örnek belgelerim tümünde veri kaynağı sayfa hep 1 tane (_YOL) .
Gerçek belgenizdeki durum farklı mı ki sayfa değil de sayfalar diyorsunuz?

"Alt alta yazılacak" dediğiniz zaman ve ekran görüntüsünü verdiğiniz listeye bakınca
DURUM1, DURUM2, DURUM3 ve DURUM4'ün tümü için listeleme istediğiniz sonucu çıkıyor.
FİLTRELEME sayfası B3'deki açılır listenin ve burada bir seçim yapmanın bir önemi kalmıyor ve
sadece TARİH ve AÇIK/KAPALI koşulu kalıyor demektir. Yanlış mı anlıyorum?
Sanki DURUM1, DURUM2..... değil de TÜM DURUMLAR gibi bir şey oluyor.

Peki bu alt alta sıralanan listenin DURUM sütunları itibariyle gruplar halinde olması yerine
TARİH ve AÇIK/KAPALI durumuna uyan ve TUTAR sütunu 0'dan büyük olanlar karışık listelenirse istenilen sonuca ulaşıldı denilebilir mi?

Başlığı DURUM ve TUTAR olan sütunlardan başka sütunlar da söz konusu olacak mıdır?
 
@Ömer BARAN hocam merhaba,

#FİLTRELEME sayfasındaki açılır listedeki metinlerİN (elbette sayı içermesi vs gerekmez)
veri kaynağı sayfadaki başlıklarla birebir aynı olmasını sağlarsanız çözüm kolaylaşır.

#1 Aslında veri kaynağındaki çekmiş olduğumuz başlıkların ve o başlıklara istinaden çekmiş olduğumuz tutarlar kendi içinde bir hizmetin durumunu ve açık kapalı olmasına göre tutarını temsil ediyor. Anlaşılır şekilde izah etmem gerekirse ve sayfaların farklı isimde olduğunu farzeder isek mantık aşağıdaki gibidir.

Sayfa İsmi : _Bakımlar
Birinci Servis : Genel Bakım
Durum 1 : Açık/Kapalı
Tutar: ....

Sayfa İsmi : _Bakımlar
İkinci Servis : Yağ değişimi
Durum 2 : Açık/Kapalı
Tutar: ....

Sayfa İsmi : _Bakımlar
Üçüncü Servis : Filtre Temizliği
Durum 3 : Açık/Kapalı
Tutar: ....

Sayfa İsmi : _Muayene
Birinci Servis : Genel muayene
Durum 1 : Açık/Kapalı
Tutar: ....

Sayfa İsmi : _Muayene
İkinci Servis : Elektrik Muayenesi
Durum 2 : Açık/Kapalı
Tutar:
....

#Konu sayfasındaki örnek belgelerim tümünde veri kaynağı sayfa hep 1 tane (_YOL) .
Gerçek belgenizdeki durum farklı mı ki sayfa değil de sayfalar diyorsunuz?

#2 Evet farklı sayfalarda olacak.

#
"Alt alta yazılacak" dediğiniz zaman ve ekran görüntüsünü verdiğiniz listeye bakınca
DURUM1, DURUM2, DURUM3 ve DURUM4'ün tümü için listeleme istediğiniz sonucu çıkıyor.
FİLTRELEME sayfası B3'deki açılır listenin ve burada bir seçim yapmanın bir önemi kalmıyor ve
sadece TARİH ve AÇIK/KAPALI koşulu kalıyor demektir. Yanlış mı anlıyorum?
Sanki DURUM1, DURUM2..... değil de TÜM DURUMLAR gibi bir şey oluyor.

#3 Evet hocam. Ancak açık konuşmak gerekirse benim asıl yapmak istediğim açılır liste filtrelerine göre sonuçlar alabilmek. Örnek vermek gerekirse aşağıdaki gibidir.
Filte 1: Ay ( Ocak, Şubat ...)
Filte 2: Sayfa ( Bakımlar, muayene....)
Filte 3: Tüm servisler yada servis ismine göre

Örnek filtreleme 1: Şubat ---> Muayene --> Elektrik muayenesi

Örnek filtreleme 2: Mart --> Bakımlar --> Tüm servisler

#Başlığı DURUM ve TUTAR olan sütunlardan başka sütunlar da söz konusu olacak mıdır?

Evet farklı sütunlar olabilir ancak bizim beri çekeceğimiz sütunlar sadece bu durumdaki sütunlardır.


Saygılarımla,
 
Gerçek belgenin, özel bilgi içermeyen
birebir kopyasını görmekte yarar var.
Ulaşıllması gereken sonucu, elle kopyala yapıştır vs yaparak başka bir sayfada tam olarak göstermelisiniz.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt