이전 블로그에서 2열로 된 데이터를 아래 행으로 옮겨서 2행으로 만드는 방법에 대해 정리했었다.
이번 글에서는 위 그림과 반대로 1행으로 된 자료를 2열씩 끊어서 옮기는 방법에 대해서 알아본다.
행으로 된 자료를 몇 개의 열로 옮기려면 offset함수를 사용한다.
OFFSET함수는 참조를 반환하는 함수로 기본 구문은 아래와 같다.
OFFSET(기준셀, 행방향 이동 수, 열방향 이동 수, 참조 높이, 참조 너비)
즉, offset함수는 기준 셀에서부터 행 방향과 열 방향으로 각각 이동한 다음 그 셀값을 반환하는 함수이다.
offset함수 사용이 익숙하지 않으면 어떤 숫자가 들어가야 하는지 생각하면서 거꾸로 수식을 만들어가는 방법을 사용하는 것이 낫다.
아래 그림에서 B1셀에는 A1셀의 값을, B2셀에는 A3셀의 값을 가져오려고 한다.
그러면 B1셀은 =offset(A1, 0, 0) 의 값을 가져야 한다.
A1셀을 기준으로 행방향으로 0, 열방향으로 0 움직인 셀 값을 반환한다.
B2셀은 A1셀 위치에서 행 방향만 2 늘어서
=offset(A1, 2, 0)의 값을 가져야 한다.
그러면 B열에 들어가는 수식은 다른 값은 변하지 않고 offset함수 두번째 인수인 행방향 이동 수가 0,2,4,6,8...로 변경되어야 한다.
이를 위해서 row()함수를 사용한다.
row()함수는 현재 셀이 위치한 행 값을 반환한다.
(row(B1)은 1, row(B2)는 2를 반환한다)
row(a1)은 1을 반환하는데 offset함수에서 0부터 인수로 사용하기 위해서 row()-1을 사용하고 2행마다의 값을 가져와야 하므로 *2를 사용한다.
결국 offset 함수 두번째 인수(행방향 이동 수)는 (row()-1)*2를 사용한다.
C열에 A열의 2,4,6번째 행 값을 가져오려면 row()함수로 다시 계산해도 되지만 위에서 계산한 row()-1*2의 값에서 1을 더한 값을 사용하는 것이 더 간단하다.
이제 B1셀과 C1셀을 블록으로 잡고 자동채우기 핸들로 끝으로 내린다.
덧.
만약 1행으로 된 자료를 3열로 나눠서 입력하려면 offset함수의 두번째 인수를 row()-1*3 으로 주면 된다.
'Excel > 엑셀 팁(TIP)' 카테고리의 다른 글
엑셀TIP] 분수처럼 입력된 날짜를 날짜형식으로 바꾸기 (0) | 2020.07.09 |
---|---|
엑셀TIP] 엑셀 조건부서식의 수식에서 기준이 되는 셀 (1) | 2020.05.15 |
엑셀TIP] 엑셀에서 수식이 계산되지 않고 수식 그대로 보일 때 (12) | 2018.03.09 |
엑셀TIP] 텍스트로 인식된 시간, 날짜를 숫자형식으로 바꾸기 (3) | 2017.09.11 |
엑셀TIP] 특정 색깔의 셀 배경색 없애기 (0) | 2017.06.20 |
엑셀TIP] 엑셀 인쇄에 불필요한 빈 페이지 인쇄되지 않게 하기 (0) | 2017.05.12 |
엑셀TIP] 데이터 입력을 편하게 : 단축키 (0) | 2017.05.04 |
엑셀TIP] 텍스트와 숫자 데이터 중에서 텍스트만 선택하기 (2) | 2017.05.02 |
엑셀 팁] 셀서식에서 두 줄로 입력되도록 설정하기 (1) | 2017.04.28 |
엑셀 TIP] 열 순서 빠르게 편집하기 (1) | 2017.03.22 |
댓글