• DİKKAT

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

9 Saat olursa gün, üzeri ise gün saat

Katılım
10 Ekim 2010
Mesajlar
1,469
Excel Vers. ve Dili
2010 Türkçe
Merhaba,
Hücreye girilen rakam 9u geçiyorsa gün ve saat olarak biçimlendirmesini nasıl yapabiliriz
Örneğin: hücredeki rakam 11 ise 1 gün 2 saat şeklinde...
 
Hayırlı geceler.
Hücredeki rakam H10 da varsayalım, I10 a
Kod:
=EĞER(H10>9;1&" "&"GÜN"&" "&(H10-9)&" "&"SAAT";0)
yazın. Sanırım gerisini kendiniz getirebilirsiniz.
 
Merhabalar,
Bunu hücre biçimden yapabilir miyiz farklı bir hücrede olmaması gerekiyor.
 
Son düzenleme:
Merhaba,
Hücreye girilen rakam 9u geçiyorsa gün ve saat olarak biçimlendirmesini nasıl yapabiliriz
Örneğin: hücredeki rakam 11 ise 1 gün 2 saat şeklinde...

Merhaba.
İstediğiniz şey biçimlendirme ile olur mu bilemiyorum ama aşağıdaki kod ile (kod'u, ilgili sayfanın kod bölümüne uygulayınız) A sütununa yazılacak değerler istediğiniz şekilde elde edilebilir.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Target, "*" & " gün") = 1 _
    Or WorksheetFunction.CountIf(Target, "*" & " saat") = 1 Then Exit Sub
If Target.Value > 9 Then
    Target.Value = Int(Target / 9) & " gün, " & Target.Value - Int(Target / 9) * 9 & " saat"
End If
End Sub
 
Merhabalar,
Ömer Bey, Kodları denedim sonuç alamadım, ancak hücre biçimlendirme ya da koşul ile yapılacak bir çözüm yolunu önerebilirseniz memnun olurum.
 
Ben denedim ve düzgün çalışıyor, bir şeyleri yanlış yaptınız herhalde.

Tahminim, sizin 9'dan kastınız tamsayı olarak 9 değil de saat olarak 9 yani 09:00. Bu durumda kodların çalışmaması normal. Çünkü 09:00 = 9 demek değildir. 09:00=9/24 demektir, excel 24 saati 1 gün yani tamsayı olarak 1 kabul eder.

Hücrede 09:00 şeklinde yazıldığında farklı olmasını istiyorsanız bunu bu şekilde belirtmelisiniz.
 
Merhaba,
Evet Yusuf bey sorunun neyden olduğu net bir şekilde anlaşılmış ancak koşul yada hücre biçim ile olma imkanı varsa daha iyi olacaktır.
böyle bir çözüm yolu var mı acaba.
 
Kodla aşağıdaki şekilde oluyor:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub

If WorksheetFunction.CountIf(Target, "*" & " gün") = 1 _
    Or WorksheetFunction.CountIf(Target, "*" & " saat") = 1 Then Exit Sub
    saat = Target
If saat > 9 / 24 Then
    Target.Value = Int(saat / (9 / 24)) & " gün, " & (saat - (9 / 24)) * 24 & " saat"
End If
End Sub

Formül ve biçimlendirmeyle olur mu bilmiyorum maalesef.
 
Merhaba koşul yada hücre biçimlendirmeyle ilgili bir yol arıyorum. Makroda çalışma da ki diğer formülleri de yenilemek gerekiyor.
 
Biçimlendirmeyle olmayacak gibi duruyor. illa böyle göstermek istiyorsanız geçici bir çözüm olarak ayrı bir sütunda gösterebilirsiniz.
 
Canımız sağ olsun Yusuf bey,
Farklı bir sütunu makro ile düşündüm fakat sağa doğru çok fazla veri var zaten kalabalık olmasın diye düşüncem bu yönde.
Bunun gibi bir kaç hücrede daha olacak çünkü.

Sağlık olsun ilgilerinizden dolayı herkese teşekkür ediyorum.
 
Verileri girdikten sonra formüle bağlı olan asıl sütunu gizleyebilirsiniz.
 
Merhabalar,
Mantığı hücre biçimine uyarlarsanız istediğinizi karşılar mı ?
Ben az uğraş vermeye çalıştım gece gece kafa basmadı.

Kod:
=METNEÇEVİR(A1;"[<0,375]0;[>0,375]1;")&" Gün"&" "&
  METNEÇEVİR(A1-"09:00";"[s]")&" Saat"

Saygılar,
Hay marja!

Not: Ben konu başlığına baktığımdan bu yana epey mesaj yazılmış.
 
Formül işinizi görüyor mu ? Doğru kurgu mu ?
 
Günaydın,
Formül yada makro bu çalışma için uygun değil. Hücre biçimden yahut Koşul ile çözüm varsa bunların olması gerekiyor. Aksine Basit bir sayfa için onlarca Makro eklenmesi gerekmektedir.
İyi çalışmalar dilerim.
 
Geri
Üst