Her 15 sırayı çok sayıda sıradan birinde birleştirme


1

45000 satıra yayılan veri var (tek sütun). Her 15 satırı tek sıra halinde birleştirmem gerekiyor. Bu yüzden sonunda her 15 satırdan birleştirilmiş verilere sahip 3000 satıra ihtiyacım var.

dan:

row 1 
row 2
row 3
row 4
etc...

içine:

row 1  (rows 1-15)
row 2  (rows 16-30)
row 3  (rows 31-45)
row 4  (rows 46-60)
etc...

15 satırı nasıl birleştireceğimi biliyorum, ancak bunu 45000 satır boyunca tekrarlamak için nasıl modül oluşturulacağını bilmiyorum.

Şimdiye kadar birden fazla satırı (15) tek bir tanede birleştirmek için CONCATENATE işlevini kullandım. Ancak çok fazla satır var (45000) ve bunu tüm satırlarda otomatik olarak yapmanın yolunu bulmalıyım. Bu yüzden VBA kullanarak bir makro oluşturmam gerektiğini düşünüyorum.

Satırlardaki veriler sayı ve karakter dizileridir, işte ilk birkaç satır örneği:

20181102-112745254375,$IIGLL,4342.3344,N,01548.0639,E,102745.00,A,A*7E
20181102-112745306452,$IIHDG,264.0,,,3.90,E*18
20181102-112745342864,$IIHDT,267.9,T*28
20181102-112745385244,$IIHDM,264.0,M*22

Ne denediğini bize göstermek ister misin? Bu bir Formül sorusu mu yoksa VBA sorusu mu? Nasıl birleştirmek / birleştirmek istersiniz? Veriler nedir, hepsi dizeler mi, sayılar ve tarihler mi?
dmb

CONCATENATE'i kullandığınızdan, her 15 sırayı bir arada ve bulaşıcı bir şekilde bir araya getirmek için ROW işlevi * 15 +1, +2, +3 ila +15 ila 15 arasında değişiklik gösteren INDEX'i geçebilirsiniz.
patkim

Teşekkürler. Ne demek istediğini anlıyorum, bu fonksiyonları nasıl kullanacağını bilmiyorum. Lütfen kullanmam gereken formülü belirtebilir misiniz?
Jan Winkler

Yanıtlar:


1

En iyi anladıklarıma göre, hala CONCATENATE kullanan ancak INDEX & amp; Verileri değiştirmek için ROW.

Örnek veriler, A1 ve altı ile başlayan Sütun A'dadır. Bu başlangıç ​​hücresi farklıysa, formülde hafif bir manipülasyon gerekir.

Formül uzuncadır, biraz kısaltmak için İsim Yöneticisinde İsim1 olarak adlandırılan bir İsim kullandım.

Name Manager'a gidin ve Name1 adında yeni bir isim oluşturun.

=(ROW()-1)*15

enter image description here

Şimdi B1'de aşağıdaki formülü koyun

=CONCATENATE(INDEX($A:$A,Name1+1),INDEX($A:$A,Name1+2),INDEX($A:$A,Name1+3),INDEX($A:$A,Name1+4),INDEX($A:$A,Name1+5),INDEX($A:$A,Name1+6),INDEX($A:$A,Name1+7),INDEX($A:$A,Name1+8),INDEX($A:$A,Name1+9),INDEX($A:$A,Name1+10),INDEX($A:$A,Name1+11),INDEX($A:$A,Name1+12),INDEX($A:$A,Name1+13),INDEX($A:$A,Name1+14),INDEX($A:$A,Name1+15))

ve istenen satırlara kadar aşağı sürükleyin.

Şimdi, A sütununun her 15 sırasındaki bir başlangıç ​​hücresi, B1, B2 ve benzerlerinde birbiri ardına istiflenmiş tek bir hücreye birleştirilecektir.


Çok teşekkür ederim! İyi çalışıyor. Sadece "," yerine ";" yerine yazmam gerekti. Formülde farklı bölge nedeniyle sanırım.
Jan Winkler

Evet, bölgenizdeki Windows için Liste Ayırıcı olması muhtemeldir; yerine ,
patkim
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.