• DİKKAT

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

1:12.76[01] veya 1'12''76[01] farklı noktalama işaretli sayıları dk.sn. olarak okutma

Katılım
2 Ekim 2011
Mesajlar
356
Excel Vers. ve Dili
excel 360 TR 64bit
A1 Satırına kopyalanan bu sayıları nasıl okunabilir dakika,saniye ve salise olarak okutabiliriz.

Bazen
13.81[04] 25.35[05] 36.98[05] 48.78[05] 1:00.47[02] 1:12.76[01]

buşekilde bazen
15''46[07] 28''22[07] 41''38[07] 55''17[08] 1'08''76[08] 1'21''64[07]

bu şekilde olabilen ayraçlar nasıl herharikarda dk. san. salise olarak okutabiliriz
 

Ekli dosyalar

Ekli dosyayı inceleyiniz.
 

Ekli dosyalar

Ekli dosyayı inceleyiniz.


merhaba yardımlarınız için teşekkür ederim.bir seyi belirtmeyi unuttum.sayıların sağındaki tırnak işareti arasındaki rakam salise değil.onu yok sayıcaz (ignore).

yani saat.dakika saniye,salise değil.
dakika saniye salise olarak sonuş çıkacak
 
merhaba yardımlarınız için teşekkür ederim.bir seyi belirtmeyi unuttum.sayıların sağındaki tırnak işareti arasındaki rakam salise değil.onu yok sayıcaz (ignore).

yani saat.dakika saniye,salise değil.
dakika saniye salise olarak sonuş çıkacak

13.81[04] 13 saniye 81 Salise mi?

1'21''64[07] 1 Dakika 21 saniye 64 salise mi?

olmalı?
 
Ekli dosyada farklı bir uygulama ile toplama ve çıkartma işlemi yapabileceğiniz şekilde düzenleme yapılmıştır.
Dosyayı ve açıklamaları inceleyiniz.

Excel uygulamalarında genellikle "salise" kullanılmamasına rağmen, isteğinize uygun hale getirilmiştir.
 

Ekli dosyalar

Alternatif olarak sizin kullandığınız kullanıcı tanımlı fonksiyona eklemeler yaptım. İnceleyiniz.

Kod:
Function Saniyeye_Cevir(Hucre As Range) As Double
    Application.Volatile True
    
    If Hucre.Value = "" Then Exit Function
    
    If InStr(1, Hucre.Text, "[") > 0 Then
        Veri = Split(Hucre.Text, "[")(0)
    Else
        Veri = Hucre.Text
    End If
    
    If InStr(1, Veri, " ") > 0 Then
        Veri = Replace(Veri, " ", "")
    End If
    
    If InStr(1, Veri, "''") > 0 Then
        Veri = Replace(Veri, "''", ",")
    End If
    
    If InStr(1, Veri, "'") > 0 Then
        Veri = Replace(Veri, "'", ",")
    End If
    
    If InStr(1, Veri, ":") > 0 Then
        Veri = Replace(Veri, ":", ",")
    End If
    
    If InStr(1, Veri, ".") > 0 Then
        Veri = Replace(Veri, ".", ",")
    End If
    
    If Len(Veri) = 5 Then
        Saniyeye_Cevir = Veri
    ElseIf Len(Veri) > 5 Then
        Dakika = Split(Veri, ",")(0)
        Saniye = Split(Veri, ",")(1)
        Salise = Split(Veri, ",")(2)
        Saniyeye_Cevir = Dakika * 60 + Saniye & "," & Salise
    End If
End Function
 

Ekli dosyalar

Alternatif olarak sizin kullandığınız kullanıcı tanımlı fonksiyona eklemeler yaptım. İnceleyiniz.

Kod:
Function Saniyeye_Cevir(Hucre As Range) As Double
    Application.Volatile True
    
    If Hucre.Value = "" Then Exit Function
    
    If InStr(1, Hucre.Text, "[") > 0 Then
        Veri = Split(Hucre.Text, "[")(0)
    Else
        Veri = Hucre.Text
    End If
    
    If InStr(1, Veri, "''") > 0 Then
        Veri = Replace(Veri, "''", ",")
    End If
    
    If InStr(1, Veri, "'") > 0 Then
        Veri = Replace(Veri, "'", ",")
    End If
    
    If InStr(1, Veri, ":") > 0 Then
        Veri = Replace(Veri, ":", ",")
    End If
    
    If InStr(1, Veri, ".") > 0 Then
        Veri = Replace(Veri, ".", ",")
    End If
    
    If Len(Veri) = 5 Then
        Saniyeye_Cevir = Veri
    ElseIf Len(Veri) > 5 Then
        Dakika = Split(Veri, ",")(0)
        Saniye = Split(Veri, ",")(1)
        Salise = Split(Veri, ",")(2)
        Saniyeye_Cevir = Dakika * 60 + Saniye & "," & Salise
    End If
End Function

Merhaba yardımlarınız için duacıyım..bazı verilerimde ara boşlukları var mesela
13.81 [04] seksenbir ile sıfırdört arasında bu şekilde olursa hata gösteriyor.
bunu düzeltebilirmiyiz acaba

13.81[04] böyle olursa sorun yok
13.81 [04] böyle olunca hata veriyor
 
Son düzenleme:
Merhaba,

Üstteki mesajımda ki dosya ve kod güncellenmiştir. Tekrar deneyiniz.
 
merhaba hocam tekrar.

birşeyleri çözdükçe yeni farklı anlaşılmaz sorunlarla karşılaşıyorum.ek teki örneği bakabilirmisiniz.sayfa 1i
 
Aşağıdaki kodu deneyiniz.

Sorun boşluk karakterinin farklı olmasından kaynaklanıyor. Birde çift tırnak sembolü kullanılmış. Bunlarıda kodun içine ekledim.

Kod:
Function Saniyeye_Cevir(Hucre As Range) As Double
    Application.Volatile True
    
    If Hucre.Value = "" Then Exit Function
    
    If InStr(1, Hucre.Text, "[") > 0 Then
        Veri = Split(Hucre.Text, "[")(0)
    Else
        Veri = Hucre.Text
    End If
    
    If InStr(1, Veri, " ") > 0 Then
        Veri = Replace(Veri, " ", "")
    End If
    
    If InStr(1, Veri, Chr(160)) > 0 Then
        Veri = Replace(Veri, Chr(160), "")
    End If
    
    If InStr(1, Veri, """") > 0 Then
        Veri = Replace(Veri, """", ",")
    End If
    
    If InStr(1, Veri, "''") > 0 Then
        Veri = Replace(Veri, "''", ",")
    End If
    
    If InStr(1, Veri, "'") > 0 Then
        Veri = Replace(Veri, "'", ",")
    End If
    
    If InStr(1, Veri, ":") > 0 Then
        Veri = Replace(Veri, ":", ",")
    End If
    
    If InStr(1, Veri, ".") > 0 Then
        Veri = Replace(Veri, ".", ",")
    End If
    
    If Len(Veri) = 5 Then
        Saniyeye_Cevir = Veri
    ElseIf Len(Veri) > 5 Then
        Dakika = Split(Veri, ",")(0)
        Saniye = Split(Veri, ",")(1)
        Salise = Split(Veri, ",")(2)
        Saniyeye_Cevir = Dakika * 60 + Saniye & "," & Salise
    End If
End Function
 
Aşağıdaki kodu deneyiniz.

Sorun boşluk karakterinin farklı olmasından kaynaklanıyor. Birde çift tırnak sembolü kullanılmış. Bunlarıda kodun içine ekledim.

Kod:
Function Saniyeye_Cevir(Hucre As Range) As Double
    Application.Volatile True
    
    If Hucre.Value = "" Then Exit Function
    
    If InStr(1, Hucre.Text, "[") > 0 Then
        Veri = Split(Hucre.Text, "[")(0)
    Else
        Veri = Hucre.Text
    End If
    
    If InStr(1, Veri, " ") > 0 Then
        Veri = Replace(Veri, " ", "")
    End If
    
    If InStr(1, Veri, Chr(160)) > 0 Then
        Veri = Replace(Veri, Chr(160), "")
    End If
    
    If InStr(1, Veri, """") > 0 Then
        Veri = Replace(Veri, """", ",")
    End If
    
    If InStr(1, Veri, "''") > 0 Then
        Veri = Replace(Veri, "''", ",")
    End If
    
    If InStr(1, Veri, "'") > 0 Then
        Veri = Replace(Veri, "'", ",")
    End If
    
    If InStr(1, Veri, ":") > 0 Then
        Veri = Replace(Veri, ":", ",")
    End If
    
    If InStr(1, Veri, ".") > 0 Then
        Veri = Replace(Veri, ".", ",")
    End If
    
    If Len(Veri) = 5 Then
        Saniyeye_Cevir = Veri
    ElseIf Len(Veri) > 5 Then
        Dakika = Split(Veri, ",")(0)
        Saniye = Split(Veri, ",")(1)
        Salise = Split(Veri, ",")(2)
        Saniyeye_Cevir = Dakika * 60 + Saniye & "," & Salise
    End If
End Function


merhaba hocam genelde sorularıma en çözümcü yanıtları sizden alıyorum.bu yeni açtığım konuda da yardımcı olmanız mümkünmü acaba.

http://www.excel.web.tr/f14/dioer-sayfadan-veri-alma-ve-bulunan-verinin-en-t134605.html
 
Geri
Üst