15 행마다 수많은 행에 걸쳐 하나로 결합


1

45000 행 (단일 열)으로 데이터가 퍼져 있습니다. 15 행마다 하나의 행으로 결합해야합니다. 결국 15 행마다 데이터가 결합 된 3000 행이 필요합니다.

에서:

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

으로:

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

15 행을 하나로 결합하는 방법을 알고 있지만 45000 행에서이를 반복하는 모듈을 만드는 방법을 모르겠습니다.

지금까지 CONCATENATE 함수를 사용하여 여러 행 (15)을 단일 행으로 결합했습니다. 그러나 너무 많은 행 (45000)이 있으며 모든 행에서 자동 으로이 작업을 수행하는 방법을 찾아야합니다. VBA를 사용하여 매크로를 만들어야한다고 생각합니다.

행의 데이터는 숫자와 문자열의 조합이며 처음 몇 행의 예입니다.

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

당신이 무엇을 시도했는지 보여 주시겠습니까? 이 질문은 공식 질문입니까 아니면 VBA 질문입니까? 어떻게 병합 / 연결하고 싶습니까? 데이터는 모두 문자열입니까, 숫자 및 날짜입니까?
— dmb

CONCATENATE를 사용 했으므로 ROW 함수로 조작 된 INDEX * 15 +1, +2, +3을 +15까지 전달하여 15 행마다 하나의 전염성있는 방식으로 연결할 수 있습니다.
— patkim

고마워. 그 기능을 사용하는 방법을 모른다는 것이 무슨 뜻인지 이해합니다. 사용해야하는 공식을 지정할 수 있습니까?
— Jan Winkler

답변:


1

내가 가장 잘 이해 한 것을 바탕으로 CONCATENATE를 사용하지만 INDEX & ROW와 함께 데이터를 조작하는 솔루션을 제안합니다.

샘플 데이터는 A1 이하로 시작하는 A 열에 있습니다. 이 시작 셀이 다르면 수식에서 약간의 조작이 필요합니다.

수식이 길어지고 다소 단축하기 위해 Name Manager에서 Name1이라는 Name을 사용했습니다.

이름 관리자로 이동하여 수식을 다음과 같이 이름 1이라는 새 이름을 만듭니다.

=(ROW()-1)*15

여기에 이미지 설명을 입력하십시오

이제 B1에서 다음 공식을 넣으십시오.

=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))

원하는 행까지 아래로 드래그하십시오.

이제 첫 번째 셀을 시작하는 열 A의 15 행마다 셀 B1, B2 등에서 서로 아래로 쌓인 단일 셀로 연결됩니다.


정말 고맙습니다! 잘 작동한다. 방금 ";"을 ";"로 바꿔야했습니다. 다른 지역으로 인해 수식에 있다고 생각합니다.
— Jan Winkler

예, Windows에서 해당 지역의 목록 구분 기호는 다음과 같습니다. 대신
— patkim
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.