Excelde 2 değerli ( sütun ) 65.000 farklı veri satırı var.
Ben bu satırları , 12'li olacak şekilde yatay yapmak istiyorum.
Yani 12 sütun olacak.
Altalta da sallıyorum 5.000 satır olacak.
Lütfen kısa yolunu bilenler yardimci olabilir mi ?
"Kopyala Özel yapıştır" diyip işlemi "tersine çevir" dediğimde 65.000 satırı yatay cevirmiyor. Yapistiramazsin diye hata veriyor.
Ama 100 tanesini yapıştırıyor.
excel bilmiyorum ama piton (tıss) üzerinden yardımcı olabilirim.
google colab'e gir, solda dosya yüklemeden excelini yükle, sonra şu kodu çalıştır. yeni dosyanı eline verecektir. yine soldan indirebilirsin;
-- kod başlangıcı ---
import pandas as pd
veri = pd.read_excel("veri.xlsx") #veri.xlsx yerine solda dosyadaki üç noktaya tıkla yolu kopyalaıyp tatar ramazan gibi yapıştır
yatay_veri = veri.groupby(veri.index // 12).apply(lambda x: pd.Series(x.values.ravel('F')))
yatay_veri.to_excel("yatay_veri.xlsx", index=False, header=False) #yatay_veri.xlsx yeni dosyan sola eklenecektir oradan indirebilirsin
--- kod bitişi ---
eğer çalışmaz ise chatgpt'ye git selamımı söyle, bu kodu benim yazdığımı ama hata verdiğini söyle o düzeltir
aşağıdaki kodu ALT + F11 ile açıp kopyala yapıştır yaptıktan sonra çalıştırabilirsiniz
bölmek istediğiniz verilerin A ve B sütunlarında olduğunu varsaydım. sizde farklıysa A1:B65000 yazan yeri revize edebilirsiniz ya da oraya taşıyıp çalıştırın
Sub esdfgdg()
Dim ws As Worksheet
Dim veri As Range
Dim bolumSayisi As Integer
Dim bolumUzunlugu As Long
Dim i As Integer
Dim baslangicSatiri As Long
Dim bitisSatiri As Long
Dim bolum As Integer
Set ws = ThisWorkbook.Sheets("Sayfa1") 'sendeki sayfanın adı farklıysa buraya onu yaz tırnak içine
Set veri = ws.Range("A1:B65000")
bolumSayisi = 12
bolumUzunlugu = WorksheetFunction.RoundUp(veri.Rows.Count / bolumSayisi, 0)
baslangicSatiri = 1
bitisSatiri = bolumUzunlugu
For bolum = 1 To bolumSayisi
veri.Columns(1).Copy ws.Cells(1, bolum + 2)
veri.Columns(2).Copy ws.Cells(1, bolum + 2 + bolumSayisi)
baslangicSatiri = baslangicSatiri + bolumUzunlugu
bitisSatiri = bitisSatiri + bolumUzunlugu
Set veri = ws.Range("A" & baslangicSatiri & ":B" & bitisSatiri)
Next bolum
End Sub