기계 테스트 기계는 테스트당 4개 열에 1000행의 데이터(+ 헤더 제목 행)를 출력합니다. 그러나 행 1002에서 시작하는 두 번째 테스트, 행 2003에서 세 번째 테스트 등을 출력합니다. 새 열의 1행에서 시작하려면 1001행(4열)의 모든 블록을 이동해야 합니다. 테스트 1은 AD 열이어야 하고 테스트 2는 EH 열이어야 합니다.
어떤 도움이라도 주시면 감사하겠습니다.
답변1
출력은 별도의 워크시트에 표시됩니다.
10개의 데이터 블록이 있다고 가정하면 이는 range 내에 있을 것입니다 Export_Curve_03!A1:D10010
.
출력 워크시트의 A1 셀에 수식을 추가하세요.
=INDEX(Export_Curve_03!$A$1:$D$10010,ROW(A1)+1001*INT((COLUMN(A1)-1)/4),1+MOD(COLUMN(A1)-1,4)
이 수식을 1001행까지 복사하고 충분한 열에 대해 복사합니다. 10개 데이터 블록의 경우 40개 열이므로 범위에 복사하세요 A1:AN1001
.
변환은 각 입력 데이터 세트에 대해 한 번만 필요하므로 저장 공간을 고려한다면 선택하여 붙여넣기를 사용하여 출력 워크시트의 모든 항목을 값으로 변경하는 것이 좋습니다.
설명
이 INDEX
함수는 배열에서 개별 셀을 선택하는 데 사용되며 위에서 사용된 것처럼 INDEX(array,i, j)
배열의 i번째 행과 j번째 열의 값인 일반적인 형식을 갖습니다.
출력은 Export_Curve_03!$A$1:$D$10010
출력의 AD 열에 있는 첫 번째 블록, EH 열에 있는 두 번째 블록, IL 열에 있는 세 번째 블록 등을 사용하여 1001개 행의 블록으로 나뉩니다. 따라서 출력의 셀은 다음 식을 사용하여 입력 블록 번호와 일치할 수 있습니다.
INT((COLUMN(cell)-1)/4)
여기서 cell
A805 또는 X20과 같은 셀 참조를 나타냅니다.
실제로 이 표현식은 AD 열의 셀은 0, EH의 셀은 1, IL의 셀은 2 등으로 평가됩니다. 이는 블록 번호보다 1이 적고 표현식 내에 통합되므로 편리합니다.
ROW(cell)+1001*INT((COLUMN(cell)-1)/4)
출력 셀에 해당하는 입력에서 올바른 행 번호를 식별합니다.
출력 열과 일치하는 입력의 필수 열 번호는 열에서 1로 시작하는 출력 열 전체에서 1,2,3,4,1,2,3,4,... 패턴을 반복하여 얻습니다. ㅏ.
표현식
1+MOD(COLUMN(cell)-1,4)
출력의 셀에 해당하는 입력 열(1, 2, 3 또는 4)을 효과적으로 식별합니다.
이제 출력의 모든 셀에 해당하는 입력의 행과 열에 대한 두 표현식을 INDEX 함수에 연결할 수 있으며 이것으로 설명이 완료됩니다.