2016-08-03 2 views
-1

저는 매월 50 년 넘게 데이터 포인트를 보유하고 있습니다. 따라서 모든 데이터는 한 열에 있으며 날짜별로 정렬 된 다음 관심있는 데이터 요소를 제공합니다. 매년 모든 달을 전치해야합니다. 다음은 내 데이터의 예입니다. 모두 ... 데이터가 계속 이어지는 곳입니다. 왼쪽에있는 것은 내가 가지고있는 것입니다. 옳은 것은 내가 필요한 것입니다. 어떻게 이것을 위해 전조 루프를 만들 수 있습니까?매 12 행마다 전치하기위한 매크로

enter image description here

+1

뺨에 혀 응답 : - Visual Basic Editor를 열고 모듈을 삽입하고 코딩을 시작하십시오. 더 "정상"응답 : - 지금까지 어떤 코드를 제작 했습니까? 실행시 어떤 문제점이 발생합니까? 어떤 오류 메시지가 나타 납니까? 수동으로 몇 가지 단계를 수행 할 때 일어나는 일을 녹음 해 보았습니까? – YowE3K

+0

[this code] (http://stackoverflow.com/questions/34166267/transpose-every-2nd-and-3rd-line?rq=1)를 뒤집어보고 2 대신 숫자를 12로 변경하십시오. 또는 3. 그것이 도움이되는지 확인하십시오 : –

답변

1

NON VBA의 해결 방법 : 값이 D1부터 배치한다면

열 형식으로 데이터를 가정 할 수 있습니다 열 A의 날짜와 B 열에 값으로 설정 데이터에 맞게 B :

=INDEX($B:$B,(COLUMN(D1)-COLUMN($D$1)+1)+(ROW(D1)-ROW($D$1))*12) 

당신은 B의 전체 열 참조를 조정할 수 있습니다, 당신은 다음과 같은 공식을 사용할 수 있습니다. D1을 왼쪽 위 모서리에 대해 선택한 셀로 변경하십시오. +1을 변경하여 데이터의 시작 행을 반영하십시오. 12는 본질적으로 조 변경 될 행의 수를 나타냅니다. 12 열에 걸쳐 복사 한 다음 필요에 따라 12 개의 셀을 복사합니다. 개념

증명

POF

편집 :

B1이 값의 첫 번째 행이 전치 될
=INDEX($B:$B,(COLUMN(D1)-COLUMN($D$1)+ROW(B1))+(ROW(D1)-ROW($D$1))*12) 

.

+1

훌륭한 솔루션이지만주의해야 할 사항 - 행 1에서 데이터가 존재해야합니다 (아마도 그렇게 할 것입니다). 그러나 그렇지 않은 경우 (아마도 표제 때문에) 당신은 계산에 오프셋을 추가하려면 - 예. 소스 데이터가 5 행에서 시작되면 계산에 4를 더해야합니다. – YowE3K

+0

당신의 편집은 제 경고문을 없앴습니다 - 나는 두번 upvote 할 수 있었으면 좋겠다! – YowE3K

+0

편집은 upvote와 함께 긍정적 인 코멘트가 있기 때문에 거기에 있습니다. –

관련 문제