• DİKKAT

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

Tarih Kıyaslaması ve Eğer Formülü

yasarcan

Altın Üye
Katılım
30 Nisan 2016
Mesajlar
100
Excel Vers. ve Dili
2007
Merhaba excel içinde sorunumu anlattım. yardımcı olamak isteyenlere şimdiden teşekkür ederim.
not: VB ilede çözebilirsiniz.
 

Ekli dosyalar

Sayfayı yenileyip tekrar deneyin.
 
Versiyon farkı hatası olabilir. Eğer sizin versiyonda ÇOKEĞER yoksa EĞER ile düzenlenebilir.
Fakat ben belli bir tarihe kadar o katagoride kalması kısmını atlamışım.
 
Versiyon farkı hatası olabilir. Eğer sizin versiyonda ÇOKEĞER yoksa EĞER ile düzenlenebilir.
Fakat ben belli bir tarihe kadar o katagoride kalması kısmını atlamışım.
Evet çokeğer ile bölüp kullanabilirim sanırım fakat tarih yok dediğiniz gibi.
 
Eğer fonksiyonlu versiyonu KAYIT (2) sayfasında.
Belli bir tarihe kadar sabit kalma kısmına müsait olunca bakacağım.
Belki daha önce birisi buna çözüm üretir.
İyi günler.
 

Ekli dosyalar

Rica ederim. İşinize yaramasına sevindim. Umarım diğer isteğiniz de en kısa zamanda çözüme ulaşır.
 
VB ile çözümü.Sayfanın kodu olarak kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, [B2:C1000]) Is Nothing Then Exit Sub
If Cells(Target.Row, "B") <> "" And Cells(Target.Row, "C") <> "" Then
Cells(Target.Row, "D") = Date
If Cells(Target.Row, 3) > Date Then
MsgBox "TARİH HATASI"
Exit Sub
End If
Range("E" & Target.Row).FormulaLocal = "=Etarihli(C" & Target.Row & " ;" & "D" & Target.Row & ";" & """y"")"
Range("F" & Target.Row).FormulaLocal = "=Etarihli(C" & Target.Row & " ;" & "D" & Target.Row & ";" & """ym"")"
Range("G" & Target.Row).FormulaLocal = "=Etarihli(C" & Target.Row & " ;" & "D" & Target.Row & ";" & """md"")"
Range("E" & Target.Row & ":" & "G" & Target.Row).Copy
Range("E" & Target.Row).PasteSpecial (xlPasteValues)
Range("C" & Target.Row + 1).Select
Application.CutCopyMode = False
Range("E" & Target.Row & ":" & "G" & Target.Row).NumberFormat = "0"
End If
If Cells(Target.Row, 4) <> "" And Cells(Target.Row, 5) < 8 Or Cells(Target.Row, 5) >= 18 Then
Cells(Target.Row, 8) = "KATILAMAZ"
End If
If Cells(Target.Row, 5) >= 8 And Cells(Target.Row, 5) <= 10 Then
Cells(Target.Row, 8) = "MİNİK"
End If
If Cells(Target.Row, 5) >= 11 And Cells(Target.Row, 5) <= 13 Then
Cells(Target.Row, 8) = "KÜÇÜKLER"
End If
If Cells(Target.Row, 5) >= 14 And Cells(Target.Row, 5) <= 15 Then
Cells(Target.Row, 8) = "GENÇ-A"
End If
If Cells(Target.Row, 5) >= 16 And Cells(Target.Row, 5) < 18 Then
Cells(Target.Row, 8) = "GENÇ-B"
End If
Cells(Target.Row, 1) = WorksheetFunction.Max(Range("A2:A" & Target.Row - 1)) + 1
If Cells(Target.Row, 2) = "" And Cells(Target.Row, 3) = "" Then
Cells(Target.Row, 1) = "": Range(Cells(Target.Row, 4), Cells(Target.Row, 8)) = ""
End If
End Sub
 
Son düzenleme:
Geri
Üst