• DİKKAT

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

Tarihe göre veri doldurma

Katılım
20 Eylül 2022
Mesajlar
15
Excel Vers. ve Dili
excel360, tr
Merhabalar,

Elimde örnek olarak bu şekilde boş satırlar var. Bu satırları doldurmak istiyorum ama tarihlere yakınlıklarını da dikkate alarak. Yani, 2. satır 44,4, 3. satır 44,4, 4.satır 44,4, 5.satır 44,4, 6. satır 44,5 ve 7.satır 44,5 olarak koyu renkli yazan değerlere ve bu tarihlere yakınlıklarına göre boş hücreleri dolduruyorum. Manuel olarak çok zor ve yavaş ilerliyor. Kolay bir yolu var mı acaba? (makro ile örneğin)

Teşekkürler...


2021-08-17 13:09:07.949 UTC

44,4

2021-08-17 13:09:14.353 UTC



2021-08-17 13:16:11.546 UTC



2021-08-17 13:16:54.876 UTC



2021-08-17 13:19:49.046 UTC



2021-08-17 13:32:07.73 UTC



2021-08-17 13:41:05.149 UTC



2021-08-17 13:44:17.364 UTC

44,5
 
İlk boş hücreniz B2 hücresiyse aşağıdaki formülü B2 hücresine yapıştırıp aşağıdaki boş hücrelere kopyalayın:

=EĞER(SATIR()<=TABANAYUVARLA(SATIRSAY($A$2:$A$7)/2;1)+1;$B$1;$B$8)
 
Merhaba,

Cevabınız için teşekkürler. Ancak örnek olarak aşağıdaki tabloya formülünüzü uyguladığımda;


2021-09-05 00:10:15.666 UTC

36,3

2021-09-05 00:14:45.05 UTC

36,1​

2021-09-05 00:18:00.604 UTC

36,1​

2021-09-05 00:25:35.248 UTC

36,1​

2021-09-05 00:43:26.098 UTC

36,1​

2021-09-05 00:54:36.947 UTC

36,1​

2021-09-05 01:02:45.406 UTC

36,1​

2021-09-05 01:13:59.611 UTC

36,1​

2021-09-05 01:22:25.175 UTC

36,1​

2021-09-05 01:46:21.95 UTC

36,1​

2021-09-05 01:51:06.258 UTC

36,1​

2021-09-05 02:02:30.619 UTC

36,1​

2021-09-05 02:03:01.824 UTC

36,1​

2021-09-05 02:05:42.058 UTC

36,1​

2021-09-05 02:09:34.176 UTC

36,1​

2021-09-05 02:43:34.795 UTC

36,1

arayı bu şekilde dolduruyor. Oysa örnek olarak ben şu şekilde doldurmasını istiyorum;


2021-09-05 00:10:15.666 UTC

36,3

2021-09-05 00:14:45.05 UTC

36,3​

2021-09-05 00:18:00.604 UTC

36,3​

2021-09-05 00:25:35.248 UTC

36,3​

2021-09-05 00:43:26.098 UTC

36,3​

2021-09-05 00:54:36.947 UTC

36,3​

2021-09-05 01:02:45.406 UTC

36,3​

2021-09-05 01:13:59.611 UTC

36,3​

2021-09-05 01:22:25.175 UTC

36,3​

2021-09-05 01:46:21.95 UTC

36,1​

2021-09-05 01:51:06.258 UTC

36,1​

2021-09-05 02:02:30.619 UTC

36,1​

2021-09-05 02:03:01.824 UTC

36,1​

2021-09-05 02:05:42.058 UTC

36,1​

2021-09-05 02:09:34.176 UTC

36,1​

2021-09-05 02:43:34.795 UTC

36,1​

2021-09-05 02:46:23.227 UTC

36,1


bir hata mı var acaba?
 
Hayır yanlış yapmadınız muhtemelen. Ben formülü ilk mesajınızdaki 8 satırlık örneğinize göre ayarladım. Mesajınızda farklı bir durum olacağına dair bir açıklama yoktu. Uyguladığınız yer ise 8 değil 17 satır. Eğer farklı durumlar olacaksa örnek excel dosyası paylaşın. Muhtemelen makro ile çözüm bulunur.
 
Teşekkürler. Altın üyeliğim aktif olunca yükleyeceğim hemen.
 
Excel dosyasını yükleyebildim. Buradaki boşlukları aynı mantıkla doldursun istiyorum. Boşlukları manuel olarak seçip bir tuşla da doldurma olabilir.
Elle çok zaman alıyor.
 

Ekli dosyalar

Aşağıdaki makroyu bir modüle ekleyip deneyin. Öncesinde verilerinizi yedeklemeyi unutmayın.

(Makro eklemeyi bilmiyorsanız:
Alt+F11 yaparak VBA bölümünü açın
Insert Menüsünden Module'yi seçin
Açılan sayfaya kodları yapıştırın
Excel sayfanıza geçin
Sayfaya bir resim/nesne/düğme ekleyin
Eklediğinize sağ tıklayıp Makro ata deyin
Açılan listeden Doldur makrosunu seçip işlemi tamamlayın
Eklediğinize tıkladığınızda makro çalışacaktır
Dosyanızı Makro içerebilen excel dosyası olarak farklı kaydetmeyi unutmayın)

PHP:
Sub doldur()
son = Cells(Rows.Count, "C").End(3).Row
For i = 2 To son
    If Cells(i, "C") <> "" Then
        For j = i + 1 To son
            If Cells(j, "C") <> "" Then
                sat = Round((j - i) / 2, 0)
                For k = i + 1 To j - 1
                    If k <= i + sat Then
                        Cells(k, "C") = Cells(i, "C")
                    Else
                        Cells(k, "C") = Cells(j, "C")
                    End If
                Next
                i = j - 1
                j = son
            End If
        Next
    End If
Next
End Sub
 
Çok çok teşekkür ederim. Hemen deneyeceğim. Sütunları sanırım C,D diye kendim düzelteceğim, excel dosyasının hepsini atmamıştım, 15-20 sütun mevcut bu şekilde.
 
Örnek dosyanızda D sütunu C sütununa benzemiyordu, 2-9. satırlar boştu. Bu nedenle ben o sütunda uygulanmayacak diye düşündüm. Eğer belirttiğiniz gibi birden fazla sütun varsa, asıl dosyanızla aynı yapında örnek dosya paylaşın, ona göre düzenleyelim.

Bir de başka örnekteki D sütununda bahsettiğim durum bir hata mı yoksa öyle sütunlar var mı gerçekten?
 
Tam dosya bu, ben biraz sadeleştirip göndermiştim. Bazı baştaki satırlar boş evet ama onları elle de doldurabilirim sorun olmaz çok. "lineId" sütununu filtreleyip (1, 2 ve 3 (her biri ayrı birer hat çünkü) ) , her biri için her bir sütunun doldurulması gerekiyor. Doldurma işlemi; boş hücreye ait tarih ve saat hücresinin aralığın başındaki veya sonundaki verinin tarih saatine göre karar verilecek. Örnek olarak; aşağıdaki gibi bir durumda;


2021-08-14 08:43:09.859 UTC

99,6

2021-08-14 09:48:44.012 UTC

99,3​

2021-08-14 09:50:13.76 UTC

99,3​

2021-08-14 09:55:41.102 UTC

99,3

bu şekilde doldurulmalı , saat olarak alttaki veriye daha yakın oldukları için.

Umarım iyi anlatabilmişimdir.

Teşekkürler...
 

Ekli dosyalar

Bu mesajınızda belirttiğiniz örneğinizi anlayamadım. Neden birine 99,6 diğerine 99,3 değil de ikisine de 99,3 yazıyoruz? İlk mesajınızdaki isteğinizle çelişmiyor mu?
 
Çünkü en üstteki veri ile aralarında 1 saat gibi bir fark var. Saate o yüzden bakıyoruz. Hangi veriye süre olarak daha yakınsa ona göre doldurmamız gerekiyor. Yani, aralık eşit şekilde bölünüp doldurulmayacak, tarih/saat' e bağlı olarak doldurulacak.

O yüzden çok zorlanıyorum...
 
tarih saatin ortalaması (en üst ve en alt değerin) alınarak, ortalamanın altında ve üstünde kalan tarih saatli boş hücreler, doldurulabilir gibi düşünüyorum ama excel bilgim yok maalesef
 
Günaydın. İşin içine saatler girince benim bilgim yetmiyor maalesef.
 
Geri
Üst