Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Excel'de veri derleme


deadwoll

Öne çıkan mesajlar

Şimdi benim elimde

asdfghj
asdfghj
asdfghj
asdfghj

şeklinde 4x5x6 hücrelik bir veri seti var diyelim (bayağı büyük orjinali, 20X4X185 hücrelik falan)

ben bu veri setini

a
a
a
a
s
s
s
s
d
d
d
d
.
.
.

şekline sokmak istiyorum.

Normalde elle C/P yapıyorum ama illallah dedim artık, her allahın günü 10 tane excel dosyasıyla uğraşıyorum. Bunun bir kısa yolu, macro'su falan var mıdır? Nasıl yaparım?
Link to comment
Sosyal ağlarda paylaş

deadwoll said:

Şimdi benim elimde

asdfghj
asdfghj
asdfghj
asdfghj

şeklinde 4x5x6 hücrelik bir veri seti var diyelim (bayağı büyük orjinali, 20X4X185 hücrelik falan)

ben bu veri setini

a
a
a
a
s
s
s
s
d
d
d
d
.
.
.

şekline sokmak istiyorum.

Normalde elle C/P yapıyorum ama illallah dedim artık, her allahın günü 10 tane excel dosyasıyla uğraşıyorum. Bunun bir kısa yolu, macro'su falan var mıdır? Nasıl yaparım?


şu data seti hiç 4*5*6 değil oda ayrı bi sorun
Link to comment
Sosyal ağlarda paylaş

A1 hücresinden başlamak üzere dizili

asdfghj
asdfghj
asdfghj
asdfghj


veri seti için;



Sub illallah()

Dim i As Variant

For i = 2 To 7

Dim k As Variant
k = (4 * (i - 1)) + 1

Range("A1").Select
ActiveCell.Offset(0, i - 1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A" & k).Select
Selection.PasteSpecial


Next

Range("B:G").Delete


End Sub




buna benzetirsin artık elindekini.
Link to comment
Sosyal ağlarda paylaş

Aman 7 fazla basmışım sdfklj.

Tab delimited yapıp kopyaladım veriyi. Excel'de sorunsuz açılır herhalde.

http://pastebin.com/8JkLgW9A

Orda state 1 ve state 3 var (1111 ve 3333 diye giden sütunlar) onlar ve onlara ait tüm veriler altalta gelecek işte. Bildiğiniz panel veriseti.


1
1
1
1
3
3
3
3

gibi.
Link to comment
Sosyal ağlarda paylaş

ginaly said:

A1 hücresinden başlamak üzere dizili

asdfghj
asdfghj
asdfghj
asdfghj


veri seti için;



Sub illallah()

Dim i As Variant

For i = 2 To 7

Dim k As Variant
k = (4 * (i - 1)) + 1

Range("A1").Select
ActiveCell.Offset(0, i - 1).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("A" & k).Select
Selection.PasteSpecial


Next

Range("B:G").Delete


End Sub




buna benzetirsin artık elindekini.


Eline sağlık bu oldu da, sütun setleri şeklinde yapmak istesem nereyi düzelticem, beceremedim.

Yani ne bileyim ilk 6 sütun yerinde dursun, sonraki 6 sütun aşağı insin gibi gibi.
Link to comment
Sosyal ağlarda paylaş

Sub illallah()

Dim i As Variant

For i = 2 To 7 (For döngüsü. For ile next operatörleri arasında belirlenen sayıları i'ye verir. İlk başka i=2 için yapacak, next'e geldiğinde tekrar buraya dönüp i=3 için yapacak falan. Burada asdfghj dizimizde 7 sütun olduğundan 7'de bıraktık. 2'den başlama sebebi ise ilk sütunu kopyalamaya gerek olmaması)

Dim k As Variant (dim variable tanımlar. bir k variable'ım olsun ve bu her şey olsun (variant) ya da sadece tam sayı olsun (integer). hayvani kodlar yazmadıkça hepsine variant de geç)
k = (4 * (i - 1)) + 1 (tanımladığımız k'nın formülü. Bu formülün kaynağı da şu; asdfghj dizisinde 4 satır var. her kopyalamayı 4x+1'inci hücreye yapmak istiyoruz. Yani B sütununu alınca, 4*1+1, C sütununu alınca 4*2+1'inci satıra kopyalayalım diye)

Range("A1").Select (A1 hücresini seç. Örneğin burada ilk 6 sütuna ellemeyeceksek A1'i değil de G1'i seçeriz)
ActiveCell.Offset(0, i - 1).Select (seçtiğin hücreden i-1 kadar sağa git)
Range(Selection, Selection.End(xlDown)).Select (şimdi bunu aşağı doğru komple seç)
Selection.Copy (seçtiğini kopyala)
Range("A" & k).Select (yukarıdaki k'yı burada kullanıyoruz, i=2 için k=5 çıkar, A5 hücresini seçer. i=3 için A9 hücresini seçer. Burayı yapıştırma için kullanacaz, eğer ilk 6 sütunu boş bıraktıysak muhtemelen G'nin altına yapıştırmak isteyecez, o zaman A'yı G yaparız.)
Selection.PasteSpecial (buraya yabıştır)


Next

Range("B:G").Delete (hepsini A sütununa kopyaladık diye diğer sütunları siler. Burada örneğin ilk 6 sütunu kullanmazsak, B'den değil, 6 sütun sonradan başlatırız)


End Sub
Link to comment
Sosyal ağlarda paylaş

Ben anlatamadım derdimi bir türlü QQ

Ginaly'nin yazdığı kod benim verdiğim basit örnek için işe yaradı ama bloklar halinde c/p yapmak pek mümkün değil. Ben de visual basic hiç bilmiyorum, hayatımda ilk kez karşılaştım ginaly yazınca, o yüzden pek uyduramadım.

https://www.youtube.com/watch?v=1YAZj_0DHuM

Şöyle dönüştürmem gerekiyor tabloyu.

Bu arada ben bi çıkış yolu buldum ekstra program kullanarak. Önce verilerin i ve j indislerini ayarlıyorum excel'de (sort'la kolay oluyor bu kısım). STATA'da istediğim şekle sokuyorum 2 satırlık bir kodla; son olarak da excel'e geri export ediyorum...

Excel'de Tableau diye bir add-in varmış bu arada ama onun da macOs versiyonu yok + paralı.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...