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
Altın Üyelik Bitiş Tarihi
28-09-2027
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.
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
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
 

ssenlik

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
8
Excel Vers. ve Dili
10 türkçe
Altın Üyelik Bitiş Tarihi
28-09-2027
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ı?
 

ssenlik

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
8
Excel Vers. ve Dili
10 türkçe
Altın Üyelik Bitiş Tarihi
28-09-2027
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ı?
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
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
 

ssenlik

Altın Üye
Katılım
4 Aralık 2017
Mesajlar
8
Excel Vers. ve Dili
10 türkçe
Altın Üyelik Bitiş Tarihi
28-09-2027
Gerçekten zahmetli zaman ayırıp ilgilendiğiniz için teşekkür ederim.
 
Üst