• DİKKAT

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

Bir sütunda 3 farklı format arasında sıralama yapma.

Katılım
19 Aralık 2012
Mesajlar
12
Excel Vers. ve Dili
Excel 2016
Problem teşkil eden Geçici Görev Yolluğu Bildirimi Formunun bir örneğini ekte sunuyorum. Bu bildirimde İLKSATIR (A10) ve SONSATIR (A33) olarak tanımladığım 2 hücre mevcut. Bunların arasına -yapılan göreve göre- satır ekleme ya da çıkarma yapılabiliyor. Ayrıca İLKSATIR ve SONSATIR arasında yani A sütununda -görev süresi az olduğunda- boş hücreler kalabiliyor.

Yapmak istediğim şu: İLKSATIR hücresindeki görev başlangıç tarihini alacağım -ki bu bazen örnekte olduğu gibi 01-03/11/2013 şeklinde metin formatında olabiliyor, bu durumda Görev başlangıç tarihini 01/11/2013 yazması gerekiyor-, daha sonra da görev bitiş tarihini yani İLKSATIR ve SONSATIR arasındaki en büyük tarihi alacağım -ki bu da bazen tek tarih bazen ise örneğin A26 hücresinde olduğu gibi 28-29/11/2013 şeklinde metin formatında olabiliyor, bu durumda Görev bitiş tarihini 29/11/2013 yazması gerekiyor.

Genel problem şu:

İLKSATIR ve SONSATIR hücrelerinde hem tarih, hem metin formatlı tarihler var, hem de boş hücreler var. Bu üç farklı format arasında EN BÜYÜK ve EN KÜÇÜK değerleri bulmak beni aşıyor.

Yardımcı olursanız çoook makbule geçecek. Şimdiden teşekkür ediyorum.
 

Ekli dosyalar

Merhaba,

M ve N sütunları olmak üzere 2 geçici sütun kullandım.

M10 :

Kod:
=EĞER(EHATA(TARİH(YIL(N10);AY(N10);SOLDAN(A10;2)+0));0;TARİH(YIL(N10);AY(N10);SOLDAN(A10;2)+0))

N10 :

Kod:
=EĞER(EHATA(SAĞDAN(A10;10)+0);0;SAĞDAN(A10;10)+0)

B37 : Dizi formüldür formül yazıldıktan sonra Ctrl+Shift+Enter ile bitirmek gerekir.

Kod:
=MİN(EĞER(M10:M32>0;M10:M32))

B38 : Dizi formüldür formül yazıldıktan sonra Ctrl+Shift+Enter ile bitirmek gerekir.

=MAK(EĞER(N10:N32>0;N10:N32))
 

Ekli dosyalar

Teşekkür

Öncelikle ilginize teşekkür ederim.
Ben de sizinkine benzer bir çözüm bulmuştum, ancak sağ taraftaki sütunları kullanmak istemiyorum. Şöyle ki belgeye satır eklendiği ya da silindiği zaman formüller bozuluyor. Herkesin rahatlıkla kullanabileceği bir form yapmak istiyorum. Bu yüzden bütün işler tek bir hücrede bitsin istiyorum.
 
Merhaba,

KTF (Kullanıcı Tanımlı Fonksiyon) isterseniz aşağıdaki kodları kullanabilirsiniz.

Fonksiyonun parametreleri Seçilen Hücreler ve Minumum için 0, Maksimum için 1 dir.

Kod:
Function TRH(Alan As Range, Optional Secenek As Integer = 0)
    
    Dim MinTar  As Date
    Dim MaxTar  As Date
    Dim Tarih1  As Date
    Dim Tarih2  As Date
    Dim Hucre   As Range
    Dim a
    
    MinTar = DateSerial(Year(Date) + 50, 1, 1)
    MaxTar = DateSerial(Year(Date) - 50, 1, 1)
    
    For Each Hucre In Alan
        If Not Hucre = "" Then
            a = Split(Hucre, "-")
            If UBound(a) = 0 Then
                Tarih1 = Hucre
                Tarih2 = Hucre
            Else
                Tarih1 = DateSerial(Right(a(1), 4), Mid(a(1), 4, 2), a(0))
                Tarih2 = a(1)
            End If
    
            If Tarih2 > MaxTar Then MaxTar = Tarih2
            If Tarih1 < MinTar Then MinTar = Tarih1
        End If
    Next Hucre
    
    If Secenek = 0 Then
        TRH = MinTar
    Else
        TRH = MaxTar
    End If
    
End Function
 

Ekli dosyalar

Necdet Bey Teşekkür ederim.

Necdet Bey. İlginize çok teşekkür ederim. Bu kodlar işimi tahminimden çok daha kolay şekilde gördü.

Son soru. Bir excel sayfasında bunun gibi 12 sayfa yapacağım. Bu sayfaların her birine kodu kopyalamam mı gerekir, yoksa TRH fonksiyonuyla her sayfada ayrı işlem yapılır mı?
 
Merhaba,

Alternatif olsun.

Dizi formülüdür. Girişini ctrl + shift + enter tuş kombinasyonu ile yapınız.

Kod:
=[COLOR=red]MİN[/COLOR](EĞER(A10:A32<>""
 ;(SOLDAN(METNEÇEVİR(A10:A32;"g");2)&SAĞDAN(METNEÇEVİR(A10:A32;".a.y");8))+0)
  ;EĞER(A10:A32<>"";SAĞDAN(A10:A32;10)+0))

Min değeri yerine Mak yazarsanız en büyük değeri bulur.

.
 
Necdet Bey. İlginize çok teşekkür ederim. Bu kodlar işimi tahminimden çok daha kolay şekilde gördü.

Son soru. Bir excel sayfasında bunun gibi 12 sayfa yapacağım. Bu sayfaların her birine kodu kopyalamam mı gerekir, yoksa TRH fonksiyonuyla her sayfada ayrı işlem yapılır mı?

Kopyalamanıza gerek yok. Her sayfada çalışır, Tüm çalışma kitaplarında çalışmasını isterseniz eklenti olarak kaydetmeniz gerekir. Forumda KTF olarak aratınız, inceleyiniz.

Bu arada Ömer bey de döktürmüş, eline sağlık.
 
Geri
Üst