컴퓨터활용(컴활) 공부

[스프레드 시트] 배열수식, VLOOKUP 등등 엑셀 실기 문제를 풀어보자

미스털이 사용자 2023. 12. 4. 10:51
반응형

아래문제 출처 ( https://m.cafe.daum.net/hermingway/ZYwR/38 )

 

​엑셀 컴활 문제를 계속 풀어보자.

 

 

 

===

 

VLOOKUP, CONCATENATE 함수 활용 문제다.

 

먼저 구분을 표시해보자.

VLOOKUP은

특정표를 참고해서

찾고자 하는 행의 첫번째 값과 일치하는 행

몇번째 열에 해당하는 값을 리턴

 

코드에 맞는 구분값

VLOOKUP($C4, $K$4:$M$8, 2, FALSE)

 

코드에 맞는 성별값

VLOOKUP($C4, $K$4:$M$8, 3, FALSE)

 

위의 두 문자열을 합하는 함수가 바로 CONCATENATE

CONCATENATE(코드에 맞는 구분값, 코드에 맞는 성별값)

= CONCATENATE(VLOOKUP($C4, $K$4:$M$8, 2, FALSE), VLOOKUP($C4, $K$4:$M$8, 3, FALSE))

 

근데 문자열 사이에 "-"도 넣어야 하니까

= CONCATENATE(VLOOKUP($C4, $K$4:$M$8, 2, FALSE), "-", VLOOKUP($C4, $K$4:$M$8, 3, FALSE))

 

 

======

 

INDEX, MATCH 함수 쓰는 문제

 

 

MATCH는

찾으려는 값

대상 ARRAY(집합) 중 어디에 속해있는지

결과값을 리턴

 

1) COLUMN인 "가입나이"에 해당하는 열 MATCH

MATCH($B4, $L$11:$S$11, 1)

2) ROW인 "코드"에 해당하는 행 MATCH

MATCH($C4, $K$13:$K$16,0)

=> 맨끝 인자가 0인 이유는, 문자열 비교여서 "완벽히 일치" 옵션으로 설정했다.

 

3) INDEX는

찾으려는 테이블에서

몇번째 행의 몇번째 열에 있는 값을 리턴

=INDEX(

$L$13:$S$16, → 찾으려는 테이블

MATCH($C4, $K$13:$K$16,0), → 몇번째 행

MATCH($B4, $L$11:$S$11, 1) → 몇번째 열

)

 

 

 

 

====================

 

배열수식

FREQUENCY를 보니

나타낼 곳을 드래그해준 다음 F2를 눌러

가장 위쪽에 수식을 입력 후,

Crtl+Shift+Enter를 실행시켜 배열수식을 나타내면 되겠다.

 

 

FREQUENCY는

전체 데이터

어떻게 분포되어있는지

분포 영역 별 값을 일일히 리턴

 

FREQUENCY결과를 나타냈다.

 

그다음 TEXT를 적용하는데

TEXT는 기존의 값에

서식에 쓰이는 규칙을 적용시켜주는 함수

 

즉 2번째 인자가 셀 서식의 [표시 형식]에 입력해주는 규칙 문자열을 말한다.

 

그리고

이 2번째 인자값이 쌍따옴표 안에 있는 문자열이기 때문에

쌍따옴표를 넣어줄 때 두 번 연달아 써줘야한다.

 

 

 

==============

 

배열수식 문제다.

AVERAGE, SUM등 통계 배열수식을 쓸 때,

조건이 2개 이상이면 각각의 조건에 괄호를 써서 구분해줘야 한다.

 

2개의 조건 (코드가 같은지, 나이가 제시한 수치 범위에 있는지)을

배열수식에 적용 한다.

=AVERAGE( → 리턴된 값의 평균 구한다.

IF( 

(P$20<=$B$4:$B$39) * ($B$4:$B$39<P$21) → 1번째 조건 : 가입나이가 제시된 열의 나이 범위에 속하는지

→ 모든 조건 사이에 AND라는 의미로 *문자를 써줘야 한다.

($C$4:$C$39=$O22),  → 2번째 조건 : 코드가 제시된 행의 코드값과 같은지

$F$4:$F$39 → 1, 2조건 모두 만족할 경우 "가입기간 값" 리턴

)

)

 

 

결과값이 다음과 같이 나오는데

문제에서 요구하는 에러문구 처리(에러일 경우 공백처리)해준다.

=IFERROR(배열수식, "")

 

완성된 수식

완성된 테이블 값

 

반응형