Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Fonksiyonlar (http://www.excel.web.tr/forumdisplay.php?f=47)
-   -   Verileri tarihe göre sıralamak. (http://www.excel.web.tr/showthread.php?t=167928)

kaya_vural 06-11-2017 09:21

Verileri tarihe göre sıralamak.
 
1 Eklenti(ler)
Merhaba, bir sayfadaki verileri istenilen şarta bağlı olarak başka bir sayfada göstermek istiyorum. Örnek dosya ektedir. Yardım edecek arkadaşlara şimdiden teşekkür ederim.

Ömer BARAN 07-11-2017 03:53

Merhaba, umarım yanlış anlamadım.

Öncelikle formül kolaylığı bakımından her iki sayfadaki ilgili başlıkların birebir aynı olmasını sağlayın.

► Yardımcı sütun kulanarak çözüm:
-- Veritabanı safası P5 hücresine aşağıdaki formülü uygulayın ve aşağı doğru liste boyunca kopyalayın.
.
Kod:

=EĞER(K5='Parça Hareketi'!$A$1;MAK($P$4:P4)+1;"")
-- Parça Hareketi sayfası A3 hücresine aşağıdaki formülü uygulayın ve BOŞ sonuç elde edinceye kadar sağa ve aşağı doğru kopyalayın.
Biçimlendirme ayarlarını (TARİH, SAYI gibi) düzeltin.
Kod:

=EĞER(SATIR(A1)>MAK(Veritabanı!$P:$P);"";İNDİS(Veritabanı!$I:$O;KAÇINCI(SATIR(A1);Veritabanı!$P:$P;0);KAÇINCI(A$2;Veritabanı!$I$4:$O$4;0)))
► Dizi formülü kulanarak çözüm:
-- Parça Hareketi sayfası A3 hücresine aşağıdaki formülü uygulayın ve dizi formülüne dönüştürün,
sonra da BOŞ sonuç elde edinceye kadar sağa ve aşağı kopyalayıp, biçimlendirme ayarlarını düzeltin.

Formülün dizi formülüne dönüştürülmesi:
-- Formülü hücreye yapıştırın,
-- Formülün yapıştırıldığı hücre seçiliyken F2 tuşuna basarak hücre içerisine girin,
-- CTRL ve SHIFT tuşları basılıyken ENTER tuşuna basın.
-- İşlem doğru yapılmışsa formül kendiliğinden {...} gibi köşeli parantez arasına alınır.


NOT: Veritabanındaki veri alanının satır sayısı belli ise aşağıdaki formülde $K:$K gibi tüm sütun yerine
$K$1:$K$1000 gibi alan sınırlaması yaparak formülün daha hızlı çalışması sağlanabilir.
.
Kod:

=EĞER(EĞERSAY(Veritabanı!$K:$K;$A$1)<SATIR(A1);"";KAYDIR(Veritabanı!$H$1;KÜÇÜK(EĞER(Veritabanı!$K:$K=$A$1;SATIR(Veritabanı!$K:$K));SATIR(A1))-1;KAÇINCI(A$2;Veritabanı!$I$4:$O$4;0)))

kaya_vural 07-11-2017 10:00

Alıntı:

Ömer BARAN tarafından gönderildi (Mesaj 916478)
Merhaba, umarım yanlış anlamadım.

Öncelikle formül kolaylığı bakımından her iki sayfadaki ilgili başlıkların birebir aynı olmasını sağlayın.

► Yardımcı sütun kulanarak çözüm:
-- Veritabanı safası P5 hücresine aşağıdaki formülü uygulayın ve aşağı doğru liste boyunca kopyalayın.
.
Kod:

=EĞER(K5='Parça Hareketi'!$A$1;MAK($P$4:P4)+1;"")
-- Parça Hareketi sayfası A3 hücresine aşağıdaki formülü uygulayın ve BOŞ sonuç elde edinceye kadar sağa ve aşağı doğru kopyalayın.
Biçimlendirme ayarlarını (TARİH, SAYI gibi) düzeltin.
Kod:

=EĞER(SATIR(A1)>MAK(Veritabanı!$P:$P);"";İNDİS(Veritabanı!$I:$O;KAÇINCI(SATIR(A1);Veritabanı!$P:$P;0);KAÇINCI(A$2;Veritabanı!$I$4:$O$4;0)))
► Dizi formülü kulanarak çözüm:
-- Parça Hareketi sayfası A3 hücresine aşağıdaki formülü uygulayın ve dizi formülüne dönüştürün,
sonra da BOŞ sonuç elde edinceye kadar sağa ve aşağı kopyalayıp, biçimlendirme ayarlarını düzeltin.

Formülün dizi formülüne dönüştürülmesi:
-- Formülü hücreye yapıştırın,
-- Formülün yapıştırıldığı hücre seçiliyken F2 tuşuna basarak hücre içerisine girin,
-- CTRL ve SHIFT tuşları basılıyken ENTER tuşuna basın.
-- İşlem doğru yapılmışsa formül kendiliğinden {...} gibi köşeli parantez arasına alınır.


NOT: Veritabanındaki veri alanının satır sayısı belli ise aşağıdaki formülde $K:$K gibi tüm sütun yerine
$K$1:$K$1000 gibi alan sınırlaması yaparak formülün daha hızlı çalışması sağlanabilir.
.
Kod:

=EĞER(EĞERSAY(Veritabanı!$K:$K;$A$1)<SATIR(A1);"";KAYDIR(Veritabanı!$H$1;KÜÇÜK(EĞER(Veritabanı!$K:$K=$A$1;SATIR(Veritabanı!$K:$K));SATIR(A1))-1;KAÇINCI(A$2;Veritabanı!$I$4:$O$4;0)))

Çok teşekkür ederim Ömer Bey, emeğinize sağlık.


Saat 17:48

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.