다음과 같은 자료에서
조건1은 "2"고 조건2는 "c"인 값만 찾으려면 어떻게 해야 할까?
말하자면 VLOOKUP 에 두 가지 조건을 거는 것인데 가끔 생각이 안 날 때가 있다.
방법은 3가지로, 각각 VLOOKUP, INDEX-MATCH, 배열수식을 사용하는 방법이다.
1. 하나의 열을 추가하고 VLOOKUP 을 사용
VLOOKUP을 사용하려면 열을 하나 추가해야 한다.
다음과 같이 A와 B열의 문자열을 &로 묶는 열을 하나 만든다.
새로 만든 A열에서 VLOOKUP으로 "2c"를 찾는다.
같은 방법으로 3개, 4개의 조건도 동일하게 찾을 수 있다.
2. 열 추가 없이 INDEX-MATCH 사용
2018/06/13 - [엑셀] - [엑셀] 최초로 0이 아닌 값이 나오는 곳 찾기 INDEX() MATCH()에 등장한 방법을 이용하면
열 추가 없이도 1번과 같은 효과를 낼 수 있다.
일단 INDEX()를 활용해 A열과 B열을 &로 연결한 배열을 만들자.
=INDEX(A:A&B:B,)
"조건1조건2"라는 문자열이 반환되고 있다.
1번에서 A열과 B열을 결합해 만든 별도의 열을, INDEX()를 활용해 가상으로 만들고 있다고 생각해도 되겠다.
이제 MATCH()를 이용해 그 배열에서 "2c" 인 곳의 위치를 찾는다.
=MATCH("2c", INDEX(A:A&B:B,), 0)
MATCH()의 마지막 인자로는 완전일치를 의미하는 0을 적어준다.
IF를 이용한 배열수식은 아니므로 Ctrl + Shift + Enter 를 누를 필요는 없다.
배열의 7번째 요소, 말하자면 7행이라고 값을 반환해주는 것을 알 수 있다.
이제 이것을 셀 주소인 C7 으로 바꿔야 하므로 다시 INDEX()를 활용해 "C열의 7번째" 임을 알려주자.
=INDEX(C:C, MATCH("2c", INDEX(A:A&B:B,), 0))
이와 같이 A열과 B열을 결합한 가상의 배열을 만들어 "2c"에 해당하는 값을 찾을 수 있다.
같은 방법으로 세 가지, 네 가지의 다중조건도 찾을 수 있다.
3. 원하는 값이 숫자라면 배열수식도 가능
최종적으로 반환되는 값이 숫자라면 2017/07/13 - [엑셀] - [엑셀] 배열수식에 여러 개의 조건 사용하기에서 본 대로
배열수식을 이용하여 구할 수도 있다.
A열은 "2"고 B열은 "c"인 행들의 C열 값으로 만든 배열
을 다음과 같이 만들자.
=IF((A:A=2)*(B:B="c"),C:C)
이제 이 배열의 앞뒤로 SUM()이나 AVERAGE()등을 둘러싼 후 Ctrl + Shift + Enter를 누르면 완성이다.
원하는 결과값이 하나라면 SUM()이나 AVERAGE() 모두 별도로 계산할 것이 없으므로 단순히 해당 값을 반환해 줄 것이다.
혹은 목적에따라 MAX()나 MIN()으로 둘러싸 주어도 되겠다.
(수식을 보는 함수 FORMULATEXT()는 2017/08/10 - [엑셀] - [엑셀] 수식 내용을 그대로 표시하는 세 가지 방법 참고)
혹시 구글 스프레드시트, 혹은 오피스 365를 사용할 수 있는 환경이라면
다음과 같이 Filter() 함수를 사용하는 것도 좋은 방법이다.
'엑셀' 카테고리의 다른 글
[엑셀] 특정 문자와 일치하는 행 모아서 추출하기 (33) | 2018.03.07 |
---|---|
[구글시트] 다른 시트로부터 내용 가져오기 Importrange (6) | 2018.03.06 |
[엑셀] Indirect 를 이용하여 한 행씩 번갈아 추출하기 (1) | 2018.03.02 |
[엑셀] 중복값의 위치 찾기 (0) | 2018.01.26 |
[엑셀] 표준편차 STDEV.P 와 STDEV.S 의 차이 (2) | 2018.01.17 |
[엑셀] 한 셀 내에서 특정 문자 개수 구하기 (17) | 2017.08.23 |
[엑셀] 수식의 부분 결과 검증하기 F9 (0) | 2017.08.22 |
[엑셀] 엑셀 엔터(줄바꿈) 입력하는 방법 (1) | 2017.08.21 |
[엑셀] 수식 내용을 그대로 표시하는 세 가지 방법 (3) | 2017.08.10 |
[엑셀] 실무에서 많이 사용하는 엑셀 단축키 모음 (0) | 2017.08.09 |
댓글