엑셀에서 '함수' 사용은 묘한 매력을 가지고 있다. 물론 함수 사용법을 안다고 하여 문제가 해결되지 않는다. 응용력이 필요하다. 수학 공식을 안다하여 문제를 모두 풀 수 없는 것과 마찬가지라고나 할까...
문제 하나를 예를 들어 보자. '고객이름'을 보고 '구입물품'을 뽑아낼때 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 (반드시 이 함수, 이런 방법으로 할 필요는 없다)
그런데 이걸 굳이 이렇게 여러 함수를 사용하면서 어렵게 결과값을 구할 필요없이 메뉴에 있는 "데이터 - 고급필터"를 이용하면 아주 간단히 구할 수 있다.
다시 말하지만 "함수"에만 너무 매몰될 필요가 없다는 뜻이다.
'엑셀 (Excel) 활용' 카테고리의 다른 글
순위 구하기 (0) | 2022.01.13 |
---|---|
콤마(,)로 연결된 여러 항목(소분류)에서 대분류값 찾기 : index, match, true, isnumber, find (0) | 2022.01.10 |
중복값 제외하고 총구매자수 구하기 : sum배열식, match, row (0) | 2022.01.10 |
엑셀 사용할 때 너무 '함수'에 빠지지 말자 (2) (0) | 2021.12.05 |
데이터 검색, 추출 (0) | 2021.04.22 |