안녕하세요.
엑셀로 행열을 바꿀때, 몇가지 방법이 있습니다.
그중 하나는 행/열을 바꿀 데이터 범위를 선택 -> 복사 이후에
붙여넣고 싶은곳에 우클릭 -> 붙여넣기 옵션을 사용하는 겁니다.
하지만 매번 복사하기 어렵다면 어떻게 하는게 좋을까요.
가장 빠르고 쉬운 방법은 수식을 활용하는 법입니다.
오늘 알아볼 수식은
INDEX 수식입니다.
그중에서도 배열부분을 알아보겠습니다.
INDEX 는
표나 범위 내에서 값이나 참조 영역을 구하는 수식입니다.
풀어서 말하자면
=> table 내에 있는 값 or 참조영역을 가져옵니다.
그전에 엑셀함수 INDEX 의 구성을 확인해봐야 합니다.
INDEX함수는 (array, row_num, [column_num]) 으로 구성되어 있습니다.
array : 필수 요소. 배열 상수나 셀 범위입니다.
-
Array에 행 또는 열이 하나만 있으면 해당 하는 row_num 또는 column_num 인수가 선택 사항입니다.
-
Array에 두 개 이상의 행과 둘 이상의 열이 있고 row_num 또는 column_num만 사용 하는 경우 INDEX는 전체 행 또는 배열 열의 배열을 반환 합니다.
-
row_num Column_num 없는 경우에 필요 합니다. 값을 반환할 배열의 행을 선택합니다. Row_num를 생략 하면 column_num 가 필요 합니다.
-
column_num 선택 요소입니다. 값을 반환할 배열의 열을 선택합니다. Column_num를 생략 하면 row_num 가 필요 합니다.
[MS 오피스 공식 홈페이지 함수 설명 참조]
INDEX( 참조할데이터, 행번호, 열번호)
다음과 같이 입력하면 지정한 데이터범위에 행,열을 확인해 맞는 데이터를 가지고 옵니다.
그렇다면 행, 열 번호를 수기로 작성해줄 수 는 없으니 필요한 함수가 있습니다.
row함수와 column 함수인데요,
해당 함수는 각각 reference 의 행번호, 열번호를 가져오는 함수입니다.
예를 들어 ROW(A1), COLUMN(A1) 은 각각 1, 1 을 반환합니다.
ROW(A2) = 2
ROW(B3) = 3
ROW(C2) = 2
ROW() = 자신(수식이 입력된 행)의 행번호
COLUMN(A2) = 1
COLUMN(B3) = 2
COLUMN(C2) = 3
COLUMN() = 자신(수식이 입력된 열)의 열번호
다음과 같이 행번호, 열번호를 각각 불러옵니다.
=ROW() 같은 경우에는 A2에 =ROW()를 입력하면 2를 반환합니다.
=COLUMN 도 마찬가지로 C2 에 =COLUMN을 입력하면 3을 반환합니다.
위를 이용해서
=INDEX(값을 바꿀범위, COLUMN(A1), ROW(A1)) 다음과 같이 입력하면
수식을 복사해서 붙여넣을때마다 참조된 영역이 상대참조이기 때문에 행열이 바뀌어서 붙여넣을 수 있습니다.
범위를 벗어나게 되면 #REF 오류가 반환됩니다.
=> IFERROR(INDEX(범위,COLUMN(A1),ROW(A1)),"")
과 같이 수식을 입력하여 #REF 오류를 공백으로 처리해 줄 수 있습니다.
만일 A1셀을 지정하지 않고 사용하려면, COLUMN()-(자신의열번호-x=1) x 값을 넣어주고, row()도 마찬가지로 자신의 행번호 row()-(자신의행번호-x=1) 과 같이 넣어주면 됩니다.
위와 같은경우에는
다음과 같이 바꿀수도 있습니다.
댓글