• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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
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:
Belirttiğiniz sütunlarda hangi bilgiyi görmek istiyorsunuz?
 
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.
 
Aşağıdakilerden hangisi gelecek?

Nöbet Yeri
Nöbet Saati
Nöbet Tarihi
 
Ö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.
 
Ö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.
 
İ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");"")
 
İ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ı.
 
Mesajımda bahsettiğim adımları uyguladığınıza emin misiniz?

METNİ KAYDIR
DİZİ FORMÜLÜ
 
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.
 
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.
 
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)
 
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.
 
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.
od23Jb.png
 
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();"")
 
Geri
Üst