
다음과 같이 구성된 2000줄의 테이블이 있습니다.
company product targetJan targetFeb targetMarch targetApril ...
Google Docs 10 20 30 40
Google Mail 13 25 45 70
내가 숨기고 싶은 것
Company product Date Target
Google Docs Jan 10
Google Docs Feb 20
...
Google Mail Jan 13
...
나는 이 문제를 해결하는 방법을 전혀 모르고 특히 매크로나 VBA에 익숙하지 않습니다. 이 문제를 어떻게 해결할 수 있나요?
편집: 작업을 수행하지만 내가 지정한 첫 번째 줄에만 매크로를 기록했습니다. 이제 전체 문서의 12개 행마다 이를 적용하는 방법을 알아내야 합니다.https://pastebin.com/D9yUHxZk
답변1
매크로를 사용하지 않고도 이 작업을 수행할 수 있습니다. 아래 수식은 기존 데이터 오른쪽에 새 테이블을 채웁니다.
O2:R2(각각)로 채워진 이러한 공식은 표시된 결과를 제공합니다.
=OFFSET($A$2,TRUNC((ROW()-2)/12),0)
=OFFSET($B$2,TRUNC((ROW()-2)/12),0)
=RIGHT(OFFSET($C$1,0,MOD((ROW()-2),12)),3)
=OFFSET($C$2,TRUNC((ROW()-2)/12),MOD((ROW()-2),12))
(간단하게 하기 위해) 월 부분이 3글자 약어가 되도록 타겟 헤더를 변경했습니다. 더 긴 월 이름을 추출하려면 MID() 및 LEN() 텍스트 함수를 사용하면 됩니다.
새 데이터를 모두 입력한 후 원하는 경우 이전 데이터가 포함된 열을 삭제할 수 있습니다. 하지만 먼저 새 데이터를 모두 선택하고 복사한 다음 선택하여 붙여넣기 > 값을 선택하세요. 그러면 데이터가 파생된 열을 삭제할 때 데이터가 손실되지 않습니다.
답변2
행을 열로 변환하려면(전치):
- 범위를 복사하세요
- 반죽
- 붙여넣기 옵션을 클릭합니다(붙여넣은 배열의 오른쪽 하단).
- 조옮김(T)을 클릭하세요.
그렇지 않으면 전치 예제가 명확하지 않지만 더 많은 사용자 정의를 원한다면 약간의 vba/excel 기능을 배울 수 있는 좋은 기회입니다. 예상되는 작업을 단계별로 분할하여 시작하세요.
행운을 빌어요.