본문 바로가기
엑셀

[엑셀] Indirect 를 이용하여 한 행씩 번갈아 추출하기

by LightBlogger 2018. 3. 2.

다음과 같이 내림차순으로 정렬되어 있는 자료를 두 사람에게 비교적 공평하게 분배해야 한다고 할 때




당연한 얘기지만, 다음과 같이 나누는 것은 전혀 도움이 되지 않는다.





다음과 같이 한 행씩 번갈아가며 나누는 것이 좋을 것이다.



사람1은 다음과 같이 A열 2행, 4행, 6행... 의 자료를, 사람2는 3행, 5행, 7행... 의 자료를 가져오면 되겠다.



2017/08/02 - [엑셀] - [엑셀] 계산 결과 값으로 셀 지정하기 INDIRECT() 에 나온 INDIRECT 를 사용하자.


문자 부분은 A로 고정이고, 숫자는 2, 4, 6, 8... 과 같이 증가하면 되겠다.


일정하게 증가하는 수열은 수식을 적는 행의 번호 row() 를 이용하면 간편하다.


=ROW()*2



C2 에서 row() 는 2를 반환하고, *2 는 4의 결과값을 낸다.


2, 4, 6, 8 이 되어야 하므로 row() 에서 1을 감해 주자.


=(ROW()-1)*2



앞에 A를 붙이면 다음과 같이 된다.


="A"&(ROW()-1)*2



이제 INDIRECT 안에 넣자.


=INDIRECT("A"&(ROW()-1)*2)



사람 2의 경우는 사람 1의 결과 다음 행을 가져오면 되므로 수식의 마지막에 +1을 더해 준다.


=INDIRECT("A"&(ROW()-1)*2+1)



세 사람일 경우도 같은 원리로 분배할 수 있다.



기본적으로 3의 배수로 움직여야 하므로 (row()-1)*3 을 적고, +1과 -1, 혹은 +1과 +2 등을 적절히 조합해 주면 되겠다.



반응형

댓글