• DİKKAT

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

SAYIYI SAAT OLARAK FORMATLAMAK

  • Konbuyu başlatan Konbuyu başlatan saka
  • Başlangıç tarihi Başlangıç tarihi

saka

Altın Üye
Katılım
24 Haziran 2023
Mesajlar
38
Excel Vers. ve Dili
Excel 2016 Türkçe
Merhaba arkadaşlar,

Amacım, hücreye yazdığım sayıyı saat formatına çevirmek ve bunu başka bir hücreye formül yazmadan yapmak istemiyorum.

Hücreyi, HÜCRELERİ BİÇİMLENDİR'in SAYI grubu altındaki SAAT seçeneklerinden 13:30 veya İSTEĞE UYARLANMIŞ kategorisinden ss:dd olarak biçimlendiriyorum.

A1 hücresine 10 yazdığımda 10:00 şeklini almasını bekliyorum; ama 00:00 oluyor. Formül çubuğunda ise 10.01.1900 00:00:00 olarak görünüyor.

A1 hücresine 8,30 yazdığımda 08:30 şeklini almasını bekliyorum; ama 07:12 oluyor. Formül çubuğunda ise 08.01.1900 07:12:00 olarak görünüyor.

Anladığım kadarıyla benim sayıyı saate değil, Excel'in başlangıç zamanını esas alıp tarih ve saate çeviriyor.

Tarihten nasıl kurtulabilirim?
Sorunumu nasıl çözebilirim?





 
Hücreye 10 yerine "=10/24", 8,30 yerine de "=8,5/24" yazarsanız istediğiniz sonucu verir. Tabi hücre biçimlendirmeyi ayarlamanız lazım
 
Merhaba,
Aşağıdaki konunun talebinize uygun olduğunu düşündüğüm için paylaşıyorum.
4. mesaj çözüm için sizin istediğiniz sanırım.
12. mesajıda okumanızı öneririm.

 
Hücreye 10 yerine "=10/24", 8,30 yerine de "=8,5/24" yazarsanız istediğiniz sonucu verir. Tabi hücre biçimlendirmeyi ayarlamanız lazım

Puantaj verileri giriyorum; amacım saati yazarken aradaki ÜST ÜSTE İKİ NOKTADAN kurtularak seri kayıt yapmak.
Öneriniz işimi daha da zorlaştırır.

Yine de teşekkürler.
 
Merhaba,
Aşağıdaki konunun talebinize uygun olduğunu düşündüğüm için paylaşıyorum.
4. mesaj çözüm için sizin istediğiniz sanırım.
12. mesajıda okumanızı öneririm.


İsteğe uyarlanmış o yapı sadece görüntüyü kurtarıyor, hesaplamalarda saat işlemi yapmıyor.

Bunu makrosuz yapma imkanı yok galiba.
 
Hücreye 10 yerine "=10/24", 8,30 yerine de "=8,5/24" yazarsanız istediğiniz sonucu verir. Tabi hücre biçimlendirmeyi ayarlamanız lazım

O zaman sabit olan değerleri "=" ve "/24" başka hücrelere yazarak birleştir formülü ile birleştirerek daha hızlı yapabilirsiniz.
 
Sanırım sayfanın makro kısmına ilgili sütundaki değişime bağlı olarak veri girişi sonrası formatsal çözüm olabilir.
 
Sanırım sayfanın makro kısmına ilgili sütundaki değişime bağlı olarak veri girişi sonrası formatsal çözüm olabilir.

walabi, ifadeniz çok teknik, bir şey anlaşılmıyor.

Makro atanmalı, diyorsanız, önerdiğiniz makroyu yazabilir misiniz?
 
Sanırım aşağıdaki kod işinizi çözecektir. A sütunu için ayarladım.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cell As Range
    Dim Saat As Integer
    Dim Dakika As Integer
    Dim Zaman As Double
    
    ' A sütununda değişiklik olup olmadığını kontrol eder
    If Not Intersect(Target, Me.Columns("A")) Is Nothing Then
        Application.EnableEvents = False ' Döngüye girmemesi için etkinlikleri kapat
        For Each Cell In Target
            If IsNumeric(Cell.Value) Then
                ' Sayıyı saat ve dakikaya bölüyoruz
                Saat = Int(Cell.Value) ' Tam kısım saat
                Dakika = Round((Cell.Value - Saat) * 100) ' Ondalık kısım dakika
                
                ' Saat ve dakikayı zaman formatına dönüştürme
                Zaman = Saat / 24 + Dakika / 1440 ' 1 gün = 24 saat, 1 saat = 60 dakika (1440 dakika/gün)
                Cell.Value = Zaman
                Cell.NumberFormat = "hh:mm"
            End If
        Next Cell
        Application.EnableEvents = True ' Etkinlikleri yeniden aç
    End If
End Sub

Nasıl Çalışır?
  1. Saat ve Dakika Ayrıştırma: Girilen değerin tam kısmı saat olarak, ondalıklı kısmı ise dakikaya çevrilir.
  2. Dönüştürme: Dakikaları doğru şekilde hesaplayarak girilen değeri saat formatına çevirir.
    • Örneğin, 8,3 girdiğinizde 8 saat 30 dakika olarak hesaplanır.
Kullanım:
  1. Makroyu Excel'e Ekleyin: Alt + F11 ile VBA düzenleyicisini açıp ilgili çalışma sayfasına bu kodu yapıştırın.
  2. Excel'e geri dönün ve A sütununa sayılar girdiğinizde, sayıların doğru şekilde saat formatına dönüştüğünü göreceksiniz.
Örneğin:

  • 8,3 → 08:30
  • 10 → 10:00
  • 12,45 → 12:45
 
Excelin VBA kısmını hiç kullanmadıysanız bu gerekecektir. Yapılmadığı sürece dosya kaydederken sürekli bir uyarı alırsınız.

Dosya >> Seçenekler >> Güvenlik Merkezi >> Güvenlik Merkezi Ayarları >> Gizlilik Seçenekleri adımları sonrası açılan ekranda ,
"Kaydederken dosya özelliklerinden kişisel bilgileri kaldır" kutucuğunun işaretini kaldırın ve TAMAM deyin
 
Gelin makro kullanmadan çözelim bu sorunu.

Tablonun A sütununda işe giriş (A1 0830),
B sütununda işi bırakma (B1 1700) saatleri, parantez içinde olduğu gibi SAYI OLARAK yazılacak.
C1 hücresinde işçinin işyerinde bulunduğu süreyi DAKİKA olarak hesaplayacağız.
 
BU İŞLEM İÇİN ÇOK AZ BAĞIMSIZ DEĞİŞKEN GİRDİNİZ
mesajı veriyor.
 
Bu sefer de
#AD?
hatası verdi.
 
Excel'in hazır fonksiyon yeteneklerine inanıyorum.
Makro ile çözmek istemiyorum. :)
 
Veri girerken Shift + : yapmak istemiyorsunuz. Böyle anlıyorum. Saat formatını ortadan kaldırıp aşağıdakine benzer bir yapı işinizi görmez mi? Saat girerken sürekli tam sayı girmezsiniz. Mutlaka saat / dakika ayırmak için bir ayraç olmalı diye düşünüyorum. Sizin amacınız dakika cinsinden geçen zamanı bulmak ise cevap yazanlar buna göre yardımcı olurlar.


Giriş Saati

Çıkış Saati

Geçen Süre

Saat

Dakika

Toplam Dakika

8,3​

17,35​

9,05​

9

05

545​
 

Ekli dosyalar

Evet walabi, amacım "dakika cinsinden geçen zamanı bulmak"
12 numaralı mesajda bunu söylemiştim zaten: C1 hücresinde işçinin işyerinde bulunduğu süreyi DAKİKA olarak hesaplayacağız.

Sizin önerinizde olduğu gibi sütun sayısını artırırsak farklı farklı çözümler bulunabilir.
Bunu tek bir hücrede (C1) formüle edebiliriz, diye umuyorum.

İlginize teşekkürler.
 
Verilerin A2 ve B2 den başladığını varsayarak C2 hücresine şu formülü yazarsam

=SOLDAN(B2-A2;BUL(",";B2-A2)-1)*60+SAĞDAN(B2-A2;UZUNLUK(B2-A2)-BUL(",";B2-A2))

545 dakikaya ulaşırım. tek sütunda. işe yarar mı?



Giriş Saati

Çıkış Saati

8,3​

17,35​
 
Verileri sizin gibi ondalıklı (8,30) girince çalıştı.

Seri kayıt açısından verileri virgülsüz (830 şeklinde) girmek istiyorum.
O zaman çalışmıyor.
 
Aşağıdaki şekilde çözüm olabilir. Hatta tek sütunda sonuçlanabilir.

ANCAK veri girişlerinizi her zaman en az 3 karakter şeklinde girmeniz gerekir. Örneğin 8:45 saatini siz 845 olarak gireceksiniz. Peki saat 8:00 şeklinde olacaksa bunu 8 mi yoksa 800 mü olarak gireceksiniz. 8 girilirse hata verir. 800 girilmesi gerekir.

Giriş Saati

Çıkış Saati

Gir Saat

Çık Saat

Geçen Süre


830​



1735​



8,3​



17,35​



545​



915​



1703​



9,15​



17,03​



508​

 

Ekli dosyalar

Geri
Üst