Son girilen değeri koşula bağlı yazdırma

Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
Merhaba. Nöbet sayıları sayfasındaki kişilerin, nöbet geçmişi sayfasındaki son yazılan nöbetlerini isimlerinin karşısındaki son, son1, son2 hücrelerine yazdırmak istiyorum. "Son" son yazılan "son1" ondan bir önceki "son2" de "son1" den bir önceki nöbettir.Birde yazdığım formüller nöbet geçmişindeki veri büyüdükçe hesaplaması yavaşlar mı?
 

Ekli dosyalar

Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Belirttiğiniz sütunlarda hangi bilgiyi görmek istiyorsunuz?
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
O kişiye yazılan son 3 nöbeti görmek istiyorum. Örnek 5. sıradaki Öztürkün nöbetlerini, nöbet geçmişi sayfasından kontrol edip son yazılan üç nöbeti sırası ile "son", "son1", "son2" hücrelerine yazdırmak istiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdakilerden hangisi gelecek?

Nöbet Yeri
Nöbet Saati
Nöbet Tarihi
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosyanızda "TÜTEN" ismi için elle doldurup dosyanızı güncellerseniz daha sağlıklı cevap verebiliriz.

Çünkü aynı gün ve saatte tekrarlanan veriler var. Hangilerini görmek istediğiniz tam olarak anlaşılmıyor.
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
Örnek dosyanızda "TÜTEN" ismi için elle doldurup dosyanızı güncellerseniz daha sağlıklı cevap verebiliriz.

Çünkü aynı gün ve saatte tekrarlanan veriler var. Hangilerini görmek istediğiniz tam olarak anlaşılmıyor.
Oradaki tarihler önemli değil benim amacım son eklenen tütene ait üç nöbeti "son" yazılı üç hücreye çekmek. Bu nöbetler aynı tarih veya aynı saatte olabilir. Ondan dolayı söyle bir mantıkla yapmak istiyorum. Son boş satırdan geriye doğru sayıp ilk tüten yazan satıra gelince, o satırı ve ondan sonraki gelen iki tüten satırını da çekmek istiyorum. Yani geriye doğru sayıp, gelen tütenleri "son" hücrelerine yazdırmak istiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlk olarak formülü uygulayacağınız hücrelerde excelin METNİ KAYDIR özelliğini uygulayınız.

Daha sonra N3 hücresine aşağıdaki DİZİ formülü uygulayıp sağa ve alt hücrelere kopyalayınız.

Kod:
=EĞERHATA(İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));3)&DAMGA(10)&
İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));4)&DAMGA(10)&
METNEÇEVİR(İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));5);"gg.aa.yyyy");"")
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
İlk olarak formülü uygulayacağınız hücrelerde excelin METNİ KAYDIR özelliğini uygulayınız.

Daha sonra N3 hücresine aşağıdaki DİZİ formülü uygulayıp sağa ve alt hücrelere kopyalayınız.

Kod:
=EĞERHATA(İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));3)&DAMGA(10)&
İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));4)&DAMGA(10)&
METNEÇEVİR(İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));5);"gg.aa.yyyy");"")
Uyguladım ama sadece kule yazısı çıktı ve şuan kimin nöbetini çekiyor anlıyamadım açıkçası. Silahane ekledim değişim olmadı.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Mesajımda bahsettiğim adımları uyguladığınıza emin misiniz?

METNİ KAYDIR
DİZİ FORMÜLÜ
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
Mesajımda bahsettiğim adımları uyguladığınıza emin misiniz?

METNİ KAYDIR
DİZİ FORMÜLÜ
N hücresinin tamamını şeçip giriş bölümünden hücre kaydırı etkinleştirdim. Daha sonra sizin verdiğiniz kodu N3 hücresine yapıştırdım.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
DİZİ formülüne çevirdiniz mi?
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
DİZİ formülüne çevirdiniz mi?
Çevirme işlemini yapınca düzeldi. Teşekkür ederim. Peki yeri, saati ve tarihi alt alta çıkıyor onları yanyana yazmak istediğimde ne yapmam gerekiyor ve son olarakta benim ufak bir hücre rengine göre değer atama işlemi vardı, size zahmet olmassa konu açarsam onada bakabilir misiniz? Forumda var ama benim tam olarak istediğimi karşılamıyor. Bu konularda pek bilgim olmadığı içinde ufak değişiklikler yapıpda kendime uyarlıyamadım.
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
DİZİ formülüne çevirdiniz mi?
Ufak bir sorum daha var. Size zahmet cevaplarsanız sevinirim.
Kod:
{=EĞERHATA(METNEÇEVİR(İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));5);"gg.aa.yyyy");"")}
Bu kod ile tarihi çekiyoruz. Benim yapmaya çalıştığım. Bu çekilen tarihi, bugünün tarihinden çıkarıp gün farkını yazdırmak.
Kod:
=BUGÜN() - "Formülün yazılı olduğu hücre"
Bu şekilde yapabiliyorum ama böyle yaparsam tarihi önce bir hücreye çekip daha sonrada başka bir hücreye gün farkını yazdırmam gerekiyor.
Kod:
=BUGÜN()-"Yukarıda yazılı olan kod"
Ben bu şekilde yapıp tek hücrede işi bitirmek istiyorum. Ama nasıl birleştireceğimi bilemedim. Yardımlarınızı bekliyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
DİZİ formüldür.

Kod:
=BUGÜN()-İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));5)
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
DİZİ formüldür.

Kod:
=BUGÜN()-İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));5)
Fazlalıkları atmışsınız. Teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aslında fazlalık değildi. İlk formülde bütün verilerin birleşimini görmek istediğiniz için o eklemeler formüle yapılmıştı. Çünkü bir hücrede yazan tarihle başka bir veriyi birleştirirseniz excel tarihi sayı olarak yorumladığı için tarih şeklinde göremezsiniz. Tarih formatında görebilmek için METNEÇEVİR fonksiyonu ile biçimlendirilmektedir.

Son talebinizde gün farkı almak istediğiniz için METNEÇEVİR bölümü kaldırılmıştır. Durum bundan ibarettir.
 
Katılım
19 Mayıs 2019
Mesajlar
61
Excel Vers. ve Dili
Excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-05-2020
DİZİ formüldür.

Kod:
=BUGÜN()-İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));5)
Kod çalıştı ama ufak iki sorun var. İlk olarak değeri negatif veriyor. Bu sorun "BUGÜN" formülünü sona atabilirsek düzelir mi? İkinci olarak tarihi çektiği sayfaya değer girilmemiş ise hata gösteriyor. Hücre boş görünmüyor. Hata aşağıdaki gibidir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,314
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Dikkat ederseniz formül sizin 15 nolu mesajınızdaki açıklamalarınıza göre şekillendi.

Formülü aşağıdaki gibi düzenlerseniz sanırım sorun kalmaz.

Kod:
=EĞERHATA(İNDİS('NÖBET GEÇMİŞİ'!$A$1:$E$10000;BÜYÜK(EĞER('NÖBET GEÇMİŞİ'!$B$1:$B$10000=$B3;SATIR('NÖBET GEÇMİŞİ'!$B$1:$B$10000));SÜTUN(A$1));5)-BUGÜN();"")
 
Üst