• DİKKAT

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

Tek satırdaki saat verilerini tablo haline dönüştürmek.

ssenlik

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
8
Excel Vers. ve Dili
10 türkçe
Tek satırda 05:00'dan 00:00'a kadar farklı saat bilgileri var. Bu saatleri aşağıdaki tablo şekline dönüştürmek istiyorum. Fakat boşluk bırakmadan sıralayamadım.
05:00 05:04 05:20 05:59
06:00 06:20 06:48
07:00 07:15 07:20
08:00
.
.
.
23:00
00:00

şimdiden teşekkür ederim.
 
Aşağıdaki kod, saatler A1 hücresinden başlıyorsa, c1 hücresinden başlayan bir tablo oluşturuyor.
Kod:
Sub a()
sat = 1
sut = 3
For i = 1 To Cells(Rows.Count, "A").End(3).Row
If Hour(Range("A" & i)) = Hour(Range("A" & i + 1)) Then
Cells(sat, sut).Value = Range("A" & i)
sut = sut + 1
Else
Cells(sat, sut).Value = Range("A" & i)
sut = 3
sat = sat + 1
End If
Next
End Sub
 
Ali bey çok teşekkür ederim. Acaba bu işlemi formül çubunuğu kullanarak yapmakta mümkün mü? Yoksa makro şart mı?
 
Aşağıdaki kod, saatler A1 hücresinden başlıyorsa, c1 hücresinden başlayan bir tablo oluşturuyor.
Kod:
Sub a()
sat = 1
sut = 3
For i = 1 To Cells(Rows.Count, "A").End(3).Row
If Hour(Range("A" & i)) = Hour(Range("A" & i + 1)) Then
Cells(sat, sut).Value = Range("A" & i)
sut = sut + 1
Else
Cells(sat, sut).Value = Range("A" & i)
sut = 3
sat = sat + 1
End If
Next
End Sub

Ali bey çok teşekkür ederim. Acaba bu işlemi formül çubunuğu kullanarak yapmakta mümkün mü? Yoksa makro şart mı?
 
https://www.extendoffice.com/tr/documents/excel/3358-excel-transpose-unique-values.html
Örnek dosyadaki çalışmayı, yukardaki linkten yaralanarak yaptım.
Örnek dosyada:
1- Saatleri, B2 hücresinden başlayarak yazdım.
2- A2 hücresine
Kod:
=SAAT(B2)
formülünü yazarak aşağı doğru çoğalttım.
3- D2 hücresine
Kod:
=İNDİS($A$2:$A$97;KAÇINCI(0;EĞERSAY($D$1:$D1;$A$2:$A$97);0))
formülünü yazdım. Bu formül dizi formülü olduğu için yukardaki formülü yazdıktan sonra Shift ve Ctrl tuşları basılı iken Enter tuşuna bastım ve formülün iki yanında {} şekilleri oluşması lazım. Bu formülü de aşağı doğru çoğaltın.
4- E2 Hücresine de
Kod:
=EĞERHATA(İNDİS($B$2:$B$97; KAÇINCI(0; EĞERSAY($D2:D2;$B$2:$B$97)+EĞER($A$2:$A$97<>$D2; 1; 0); 0)); 0)
formülünü yazdım. Bu formülde dizi formülüdür. Yukardaki işlemi uygulayın.
Bu formülü hem aşağıya hem de sağ doğru çekerek çoğaltın.
Görüldüğü üzere anlatması bile meşakkatli, bence makro daha uygun.
Örnek Dosya
http://s7.dosya.tc/server7/134s0f/Kitap1.zip.html
 
Gerçekten zahmetli zaman ayırıp ilgilendiğiniz için teşekkür ederim.
 
Geri
Üst