엑셀에서 '함수' 사용은 묘한 매력을 가지고 있다. 물론 함수 사용법을 안다고 하여 문제가 해결되지 않는다. 응용력이 필요하다. 수학 공식을 안다하여 문제를 모두 풀 수 없는 것과 마찬가지라고나 할까...

문제 하나를 예를 들어 보자. '고객이름'을 보고 '구입물품'을 뽑아낼때 vlookup 함수 또는 index, match 함수를 이용하면 된다. 그런데 해당값이 2개 이상일때 이 함수를 사용할 수 없다. 결과값은 1개만 나오니...

 

여러 함수를 동시에 사용하면 가능하다. 아래 그림순대로 해보자. 여기에서 '데이터 유효성 검사'는 이용하지 않아도 된다.

 

 

 

 

아래 그림처럼 E2셀에

=IF(SUM(N($A$2:$A$15=$D$2))<ROW(A1),"",OFFSET($B$2,SMALL(IF($A$2:$A$15=$D$2,ROW($B$2:$B$15)-2,""),ROW(A1)),0,1,1))

입력한 후

ctrl shift enter 키를 동시에 누른다. 즉 배열(수)식이다. 그러면 수식 양끝에 {   }이 아래와 같이 표시된다.

{=IF(SUM(N($A$2:$A$15=$D$2))<ROW(A1),"",OFFSET($B$2,SMALL(IF($A$2:$A$15=$D$2,ROW($B$2:$B$15)-2,""),ROW(A1)),0,1,1))}

 


나머지는 아래로 드래그

 

 

아래에서 보는 바와 같이 원하는 결과값이 나온다.

 

 

사용한 함수 : if, sum, n, row, offset, small (반드시 이 함수, 이런 방법으로 할 필요는 없다)

 

그런데 이걸 굳이 이렇게 여러 함수를 사용하면서 어렵게 결과값을 구할 필요없이 메뉴에 있는 "데이터 - 고급필터"를 이용하면 아주 간단히 구할 수 있다.

 

 

 

다시 말하지만 "함수"에만 너무 매몰될 필요가 없다는 뜻이다.

+ Recent posts