..::.. Çok Sütunlu Sayfadaki Verilere Gelişmiş Filtre Uygulanması ..::..

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

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sayın Okumuş, şu anda belgemdeki ; UYRUK.BÖLÜM ve devamındaki sayfalara ülkeler itibariyle birinde aylara göre; diğerinde bölümlere göre, gibi veri adetleri tespit etmeye çalışıyorum.

Formüllere bakacağım ama en uç noktayı sorayım size.
Aynı hasta 1'den fazla kez AYAKTAN veya yine 1'den fazla kez YATARAK tedavi görmüş olabileceğinden, "benzersiz ayaktan tedavi gören hasta sayısı" + "benzersiz yatarak tedavi gören hasta sayısı" (hasta'dan kastım HASTA NO'sudur, değişmeyen ve temel dayanak HASTA NO'su) tedavi türüne bakılmaksızın benzersiz HASTA NO sayısından fazla olacaktır. Formüller bunu tespit ediyor mu ona bakayım öncelikle.
Aslında yapmak istediğim örneğin UYRUK-BÖLÜM sayfasında, bölümler ve uyruklar itibariyle hasta sayıları (kendi içinde benzersiz olarak, yatarak ve ayaktan ayrımı yapılarak) ile BAŞVURU sayılarını bulmak. (BAŞVURU şu anlama geliyor, hastanın her gelişi ve yapılan her işlem tabloda BİR SATIR'ı ifade ediyor, yani şu anda tüm uyruklar için toplam başvuru sayısı 2390.

İdealimdeki tablo yapısı ise iki hücrede veri doğrulama ile iki ayrı başlık seçmek.
Bunlardan birincisi en sık tekrarlanma olayını dikkate alarak ilk 9 (10. satır DİĞER) satır başlıklarını, ikinci ile de yine tekrarlanma sıklığına göre ilk 9 (10.sütun DİĞER) sütun başlıklarını oluşturmak ve bu iki seçime göre sayıların tespit edilebilmesi.
Ben şu anda UYRUK-BÖLÜM, UYRUK-BİRİM, UYRUK-YAŞ tablolarını ayrı ayrı yaptım (çünkü en kısa sürede halletmem gerekenler bunlardı)

Bu arada acil şunu sormam lazım; TANILARIN dağıtılmış bölümünden en sık tekrarlanan ilk 9 TANI'yı BENZERSİZ sayfasına alabiliyor muyuz acaba? Aslında BENZERSİZ sayfasına aktarma olayında hep sadece ilk 9 lazım. Eğer kodu kısaltacaksa veya hızlandıracaksa bunu yapabilir misiniz acaba?
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Bu arada acil şunu sormam lazım; TANILARIN dağıtılmış bölümünden en sık tekrarlanan ilk 9 TANI'yı BENZERSİZ sayfasına alabiliyor muyuz acaba? Aslında BENZERSİZ sayfasına aktarma olayında hep sadece ilk 9 lazım. Eğer kodu kısaltacaksa veya hızlandıracaksa bunu yapabilir misiniz acaba?
VERİ TABANI sayfasında hastalık adlarını Eğersay ile HAM sayfasında kaç kez çıktığını bulup büyükten ,küçüğe sıralayarak yapabiliriz.

Siz data sayfası ile sizin tablo değerlerini karşılaştırın. Tutan ve tutmayan değerleri belirtirsiniz.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tamamdır, bakarım, teşekkürler.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
VERİ TABANI sayfasında hastalık adlarını Eğersay ile HAM sayfasında kaç kez çıktığını bulup büyükten ,küçüğe sıralayarak yapabiliriz.
Siz data sayfası ile sizin tablo değerlerini karşılaştırın. Tutan ve tutmayan değerleri belirtirsiniz.
Öncelikle Şunu Söylemem Lazım ; Dizi Formülleri Yerine Bu Şekilde Bir Sayfa Oluşturup, İlk Satırdaki Fomülleri Tüm Sayfaya Uygulayıp, Sonra İlk Satır Hariç Formül Sonuçlarını Değer Yapıştırıp, Sonuçları Buradan Elde Etme İşini Çok İyi Düşünmüşsünüz. Üstelik Bu Olayda Hasta No Üzerinden Hareket Edilmesini De Çok İyi Düşünmüşsünüz.
Tebrik Ve Teşekkürlerimi Söylemem Lazım. Kalan Tek (Aşağıdaki Notları Dikkate Alarak) Sorun Formüllerin Kaç Satır İçin Çoğaltılacağı Sıkıntısı, O Da Sanırım Bağ_Değ_Dolu-Say Gibi Bir Sayma İşlemi Sonucunu Dolaylı Formülünün İçine Alarak Üstünde Çalışılacak Alan Elde Edilmiş Olacaktır. Tabi Sizin Daha Pratik Bir Yönteminiz Olduğundan Da Şüphem Yok.

İlk Satırdaki Bazı Formülleri (Sanırım Kaydır Fonksiyonunu İçerenler) Olanlar Değiştirdim, (Tam Olarak Hangileriydi Hatırlamıyorum, Uyruk, Cinsiyet, Yaş Sütunları Gibi Hatırlıyorum, Örneğin Formülde $K$7 Yerine $K7 Şeklinde İdi) BL Ve Devamındaki Sütunları Da Ekledim.
Tanıların Benzersiz Tablosuna Sıklık Sırasına Göre Aktarma İşlemi Nasıl Olacak Anlayamadım, Zira Tanıların Artık An Sütunundan Değil Sütunlara Dağıtılmış Halinden Hareketle Aktarılması Lazım ( Ya Da Adetlerini Veri Tabanı Sayfasnda Saydırıp En Yüksek Sayıya Sahip İlk 9 Tanıyı Aktarmak Gerekecek)
Aslında Benzersiz Sayfasına Aktarmada Ham Sayfasındaki Sarı Zeminli 6'Ncı Satıra Yazılan Adette (Şu An İçin Hep Sıklık Kriterine Göre İlk 9 Lazım Oluyor) Aktarma İşi Gerçekleşmiyor Tümü Aktarılıyor, Aslında Sakınca Yok Ama Dosya Hızı Bakımından Önemli Olmuyorsa Bu Şekilde Kalmasında Da Sakınca Yok.

İdealimdeki Yapı: Ayrı Ayrı Sayfalarda Tablolar Yerine (Şu An İçin İhtiyacımı Görecek Dirimdadır) İdeal Yapı İsimli Sayfadaki Gibi Satır Ve Sütun Başlıklarını Veri Doğrulama İle Seçip, Seçtiğim Bu Satır Ve Sütun Başlıklarına Göre Verilerin Gelmesi İdi. Söylediğim Gibi, Şu Haliyle Tabloları Doldurmam Yetecek Gibi Duruyor. Belki Sadece, Başvuru Satırlarındaki Sütunları İkiye Bölüp
Şu An Mevcut Olan Başvuru-Adet (Ham Sayfasındaki Satır Sayısı) Ve Buna İlave Olarak Başvuru-Kişi Sayısı Şeklinde Değişiklik Yapılabilir. Bunu Da Şimdilik Bir Kenarda Tutabiliriz.
Size Sıkıntı Çıkarttığım Düşüncesindeyim. Tekrar Söyleyeceğim: Bendeki Haklarınız Birikmeye Devam Ediyor.
NOT: Metni exceldeki YAZIMDÜZEN formülüyle oluşturduğumdan İMLA sorunu var, kusura bakmayınız. Yoksa çok titizlendiğim bir konudur.
Sağlıcakla.
 

Ekli dosyalar

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Eğer formüllerle doğru sonuca ulaşılabiliyorsa tabloları buradan formüller ile oluşturup makro ile değer olarak doldurabiliriz.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Data sayfasındaki verilere bakarak bir bölüm için kaç kişinin yatan, kaç kişinin ayaktan olduğunu bulamayız. Onun için her bölüme, yaşa ... ayrı ayrı yatan, ayaktan diye belirtmek lazım.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Data sayfasındaki verilere bakarak bir bölüm için kaç kişinin yatan, kaç kişinin ayaktan olduğunu bulamayız. Onun için her bölüme, yaşa ... ayrı ayrı yatan, ayaktan diye belirtmek lazım.
Merhabalar.
Sizi çok meşgul ettim sanırım.
Çok uğraştım ama geldiğim nokta sizin de yukarıda değindiğiniz gibi mevcut DATA sayfasından hareketle tüm tablolarımı doldurmak mümkün değilmiş gibi görünüyor. O yüzden önceki DİZİ FORMÜLLERİ üzerinden giderek TANI ile ilgili sayfa ve BÖLÜM ile ilgili 2 adet formül hariç tümünü tamamladım.

İki sıkıntım kaldı.
--Birincisi; Tanılara ilişkin olarak da aynı yöntemi (DİZİ formülleri) kullanacağım. Ancak halen tanıların BENZERSİZ sayfasına aktarılmasına (ilk 9'u tekrarlanma sıklığına göre, kalanları alfabetik) ilişkin bir kod elimde olmadığından UYRUK.TANI sayfası halen BOŞ durumda.
--İkincisi; UYRUK.BÖLÜM sayfasındaki 2 adet formülü beceremedim.

Tablolar arasındaki TUTARLILIĞI kontrol edebilmek için TOPLAM sütunlarından hareketle; KONTROL adlı bir sayfa ekledim.

Bu iki duruma bakabilirseniz sevinirim. Teşekkürler.
 

Ekli dosyalar

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
9 yazdığınız zaman en sık kullanılan 9 değeri sıralamıyor mu?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sanırım ben yanlış ifade ettim.
Birleşik tanıların sütunlara dağıtılmasından sonra VERİ TABANI sayfasında (ben oradan olacağını düşünüyorum) HAM sayfası EA8:EZ2397 aralığında kaç kez tekrarlandığını saymak, bu sayıma göre de en çok tekrarlanan ilk 9'u tekrarlanma sayısı kriterine göre en çok tekrarlanandan başlayarak sıralamak lazım. Örneğin mevcut makro en çok tekrarlananı;
"Z37.0-Tek canlı doğum, Z39.0-Doğumdan hemen sonra muayene ve bakım, D50.9-Demir eksikliği anemisi, tanımlanmamış, Z39.1-Emziren annenin bakım ve muayenesi, O70.9-Perine laserasyonu doğum esnasında, tanımlanmamış, Z35.9-Yüksek-riskli gebeliğin gözlemi, tanımlanmamış, Z38.0-Tek doğum, hastanede, Z39.2-Rutin doğum sonrası takip, O80.0-Spontan verteks doğum, Z35.8-Yüksek-riskli gebeliklerin diğer gözlemi"
olarak aktarıyor (sanırım bunun sıklığı Veri tabanına göre değil HAM sayfası AN sütununa göre tespit edilmiş oluyor), oysa VERİ TABANI sayfasında sayım yaptırdığımda en çok tekrarlanan tanı;
"C50.9-Meme malign neoplazmı, tanımlanmamış"
86 kez tekrarlanma olarak görünüyor.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Onun için ayrı bir kod yazmam gerekiyor. Siz EA:EZ aralığına göre en çok görülen hastalıkları sıralamamı istiyorsunuz. Mevcut kod ile 1. tanı en fazla, 2. tanı en fazla .... şekilde sıralıyor.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Ben VERİ TABANI sayfasına uygulanacak EĞERSAY fonksiyonu ile ARAMA ALANI olarak HAM sayfası EA-EZ aralığını kullanıp, tekrarlanma sayılarını bulup buna göre buradan BENZERSİZ sayfasına aktarma yapılmasını düşünmüştüm.
Sonrasında uygulayacağım diğer DİZİ formülleri benzeri formülleri oluştururken nasıl bir sorun yaşayacağımı bilemiyorum ama galiba MBUL idi bunu DİZİ içine alıp yine UYRUK-BAŞVURU-AYAKTAN-YATAN biçiminde sayma işlemi yaptırırım diye düşündüm.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Sub Tanı_Sıklık()
Application.ScreenUpdating = False
Set v = Sheets("VERİ TABANI")
Set b = Sheets("Benzersiz")
son = v.Cells(Rows.Count, 2).End(3).Row
v.Range("H2:H" & son) = v.Range("B2:B" & son).Value
v.Range("I2:I" & son) = "=COUNTIF(HAM!EA$8:EZ$10000,H2)"
v.Range("I2:I" & son) = v.Range("I2:I" & son).Value
v.Range("H2:I" & son).Sort v.Range("I2"), xlDescending
a = InputBox("Sıklık değeri giriniz.", "Ömer Baran")
v.Range("H" & 2 + a & ":H" & son).Sort v.Range("H" & 2 + a), xlAscending

v.Range("H1") = "Tanılar"
adet = WorksheetFunction.CountIf(b.Range("A1:DQ1"), v.Range("H1"))
If adet = 0 Then
x = WorksheetFunction.CountA(b.Range("A2:DQ2")) + 1
Else
x = WorksheetFunction.Match(v.Range("H1"), b.Range("A1:DQ1"), 0)
End If

b.Range(b.Cells(1, x), b.Cells(1000, x)) = v.Range("H1:H1000").Value
v.Range("H:I") = ""

End Sub
Tanılar için bu kodu düğmeye atayınız. Inputbox ile sıklık değerini belirtiniz.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Dosyanızda Ayaktan+Yatan=Başvuru olmak zorunda değil mi?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Dosyanızda Ayaktan+Yatan=Başvuru olmak zorunda değil mi?
Sayın Okumuş,
-- BAŞVURU: Koşullara uyan satır adeti
-- AYAKTAN : Koşullara uyan BENZERSİZ kişi sayısı,
-- YATAN: Koşullara uyan BENZERSİZ kişi sayısı.
Sorunuzu geç anladım böyle bir eşitlik YOK, aynı kişi 1'den fazla kez HEM YATAN listesine ve HEM DE AYAKTAN listesine dahil olabilir.
Örneğin bir kişi; bir kez Haziran ayında YATAN, bir kez Eylül ayında YATAN listesine dahil olabilir. Bir keresinde listeye dahil edilen bir bölümde YATAN listesine dahil olabilir bir kez de DİĞER sütununda listeye dahil olabilir.

Bu arada;
Bir önceki sorumda belirtmiştim. DİZİ FORMÜLlerinden; UYRUK.BÖLÜM, UYRUK.BİRİM (ve sanırım UYRUK.TANI'da da aynı sorunu yaşayacağım) sayfalarındaki DİĞER başlıklı bölümlerdeki formülleri, listelenen ülkelerden OLMAYAN (yani tablolarda yer alan ilk 9 ülkeden OLMAYAN) BENZERSİZ YATAN ve AYAKTAN kişi sayısına ilişkin olanları UYARLAYAMADIM.
KONTROL SAYFASINDAKİ HATA VAR yazan satırlardan görülebilir.
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
ASlında ben nihai kontrolü şöyle yapıyorum; HAM sayfasında kriterlere göre (şu uyruk, şu birim, yatan, şu ay gibi süz kullanıp en sonunda kalan HASTA NO sütununu yeni bir sayfaya kopyalayıp YİNELENENLERİ KALDIR diyorum, kalan satır sayısı FORMÜL ile bulmam gereken sayı oluyor.
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Toplam sayıdan bölümlerdeki sayıları toplayın. Fark diğer bölümleri verir zaten.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Belgem yine donmaya başladı TANI DAĞITMA MAKROSU çalışırken OTOMATİK HESAPLAME DEVRE DIŞI bırakılamaz mı acaba? (Sanırım olmaz ama yine de sorayım istedim. Makro da formül uyguluyor, hesaplamanın durması onu da durduracaktır çünkü)
 

Muhammet Okumuş

Destek Ekibi
Destek Ekibi
Katılım
28 Eylül 2007
Mesajlar
4,026
Excel Vers. ve Dili
2013 Türkçe
Evet makrolarda formül olduğundan hesaplama devre dışı bırakılamaz. Formüllerin uygulamadan önce ve sonra yapılabilir ama buda bir şey kazandırmaz. Dosyanızın kasılması belki veri çokluğundan kaynaklanıyor da olabilir.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Şu anda BUL->DEĞİŞTİR ile tablo sayfalarındaki "=" yerine anlamsız bir kaç karakter yazdım ve formül olmaktan çıktılar. Dizi formülleri devre dışı kalınca hızlı çalışacaktır sanırım.
Böyle yapınca DİZİ formülleri değişiklik geri alındığında doğal olarak DEĞER hatası üretti bunlar için Ctrl+Shift+Enter yaparak eski haline getirebiliyorum.
Belki bu yöntemi TANI dağıtma makrosunun içine kod olarak ekleyip (başlangıçta formül olmaktan çıkarmak, TANI ayırma ve sayma işi bittiğinde de tersine değişiklik yapması sağlanabilir, böylece belgede sadece TANI ayırma makrosunun yazdığı formüller çalışacağından ve bu formüller de DİZİ formülü olmadığından HIZ OLARAK FARK yaratacağını düşündüm.
Ne dersiniz acaba?
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst