[]

Excel uzmanlık sorusu

Merhaba arkadaşlar,

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
  • avatar is back  (21.03.24 13:55:54 ~ 13:56:46) 
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
  • pislick0  (21.03.24 21:29:51) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.