세로로 나열된 목록을 규격화된 가로로 전환하기

엑셀을 활용하다 보면 세로로 나열된 목록을 일정 규칙에 맞게 가로로 전환해야 할 상황이 일어날 수 있다. 예를 들자면 아래와 같은 상황이다.

세로로 나열된 28개의 목록을 7개씩 끊어 가로로 편성한 모습이다. 총 수량이 얼마 되지 않는다면 수작업을 통해 변경하는 것이 오히려 빠를 수 있지만 수량이 100 단위를 넘어간다면 이를 일일이 수작업으로 수행하는 건 큰 곤욕이 된다. 이번 시간에는 세로로 나열된 목록을 사용자가 지정한 규칙을 통해 가로로 전환하는 방법을 알아보고자 한다.

위 배열에는 규칙이 존재하는데 기존 배열에서 가로로 전환시 한 행을 내려갈 때마다 셀 참조 주소상 행 번호가 7씩 올라간다는 것이다. 단군에서 시작해 다음 줄 첫번째 리스트에는 의자왕에서 시작하게 되는 것이 바로 그것이다. 즉 C 열에서의 참조 행 번호를 살펴보자면, {1, 8, 15, 22} 가 된다는 것이고 D열에서의 참조 행 번호는 {2, 9, 16, 23}이 되며 이런 식으로 I열에서의 참조 행 번호는 {7, 14, 21, 28} 이 되는 것이다. 이 패턴은 우리가 수학 시간에 배웠던 등차 수열의 규칙이며 초항과 공차의 값에 따라 순차적으로 값이 변동하게 됨을 알 수 있다. 등차 수열의 공식은 아래와 같다.

a_{n} = a + (n-1)d

an은 n번째에 해당하는 숫자,
a는 시작하는 값으로 초항이라 부른다.
n은 진행한 횟수,
d는 진행할 때마다 변동되는 변화폭, 즉 공차다.

이 공식에 따라 작업할 셀에 함수를 작성하면 아래와 같다.

INDIRECT 함수는 참조할 셀을 지정해 해당 위치에 원하는 값을 표출하는 함수다. 참조할 위치는 A열이므로 A를 기입한 후 행 번호를 지정해야 하므로 & 기입 후 참조해야 할 행 번호의 규칙을 지정하면 된다. 해당 위치는 셀 C1부터 시작하므로 C1을 절대 참조로 지정 후 앞에서 살펴본 등차수열의 공식대로 C1의 행 번호를 호출 후 공차를 곱셈하는 방식을 취했다. 저기에 기재된 ROW는 지정한 셀의 행 번호를 호출하는 함수로 저 기능이 등차수열에서의 n 값에 해당한다. 이런 식으로 D ~ I 열까지 함수를 기입한다. 변동되는 항목은 처음에 기입하는 초항의 위치다. D열에서는 $C$2가 될 것이고 E열에서는 $C$3, 마찬가지로 I열에서는 $C$7이 된다. 이렇게 작성된 한 줄을 모두 블록 선택하고 아래로 드래그하면 원하는대로 배열이 된 리스트를 볼 수 있다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다