컴퓨터활용능력1급/컴활1급 실기

취성패_컴활1급_7일차 <정보함수, 배열수식>

삼토 2016. 11. 30. 19:21

* 정보함수 * 시험문제 2문제는 출제

 

 

 

 

ISBLANK 빈셀이냐?

ISERROR 에러냐?

ISEVEN 짝수냐?

ISODD 홀수냐?

 

TRUE/FALSE

빈셀은 0으로 처리되고,

0은 짝수로 처리된다

--> 따라서 빈셀은 ISEVEN에서 TRUE로 나온다

 

 

 

 

 

 

* 배열수식 *

 

조건이 걸린 합계를 구해라 --> DSUM, SUMIF

 

 

목적:

조건이 걸린 그 무엇에 대한 계산을?

 

모든 함수를 조건 걸어 사용할 수 있게 도와준다

 

 

 

EX. SUM함수를 배열수식으로 쓴다면:

=SUM((조건인수)*더할범위)

 

1. 괄호 하나 더 넣어 조건인수를 추가하기

2. 배열수식에서는 인수구분을 ,가 아니라 *로 한다

이유: 조건인수 각각이 TRUE면1, FALSE면 0이 되므로

이것과 더할 범위를 곱하면 조건에 맞는 것만 더해진다

 

3. CTRL+SHIFT*ENTER를 눌러 완성함.

--- { }가 생겨나며 배열수식임을 표시함

 

 

 

★암기해오기

 

 


Ⅰ. 단일조건

 

1. SUM만 활용한 배열수식

 

=SUM((조건)*구할범위) : 조건 합계

 

=SUM((조건)*1) : 조건 개수

 

COUNT를 쓰게 되면 0까지 다 세어버리므로

개수 셀 때도 COUNT아닌 SUM을 쓴다!!!

 

0때문에 망한거 - COUNT, AVERAGE, MIN, SMALL

---> 반드시 IF와 써야함

 

 

 

2. SUM과 IF를 함께 활용한 배열수식

 

=SUM(IF(조건,구할범위)) : 조건 합계 (범위 내 조건에 맞는 애들만 출력되어 더해짐) 

 

=SUM(IF(조건,1)) : 조건 개수 (조건에 맞는 애들이 1로 출력되어 더해짐)

 

차이점: 거짓값이 0으로 출력됐던 1번과 달리 거짓값은 아예 나오지 않음.

 

Ⅱ. 복수조건

 

1.SUM만 활용한 배열수식- 조건끼리도 *로 이어붙인다

 

=SUM((조건1)*(조건2)*구할범위) : 복수 조건 합계

 

=SUM((조건1)*(조건2)*1) : 복수 조건 개수

 

2. SUM과 IF를 함께 활용한 배열수식 - 조건끼리는 *로 이어붙인다

(*쓰면 AND형식, +쓰면 OR형식)

 

=SUM(IF((조건)*(조건),구할범위)) : 복수 조건 합계

 

=SUM(IF(조건)*(조건),1)) : 복수 조건 개수

 

 

질문: 그럼 1.SUM만 활용한 배열수식에서도 +를 쓸 수 있는가?

--- 안됨. IF 활용이 되어야만 가능

 

 

 

[TIP]

문제에서 함수가 주어진 경우

그것만! 이용해서 해야함

 

[TIP]

자동채우기 후에는 마지막 값을 클릭해서

끌려내려오지 않았는지 확인해 줄 것

 

 

 

* 혼합참조 *

 

가면 안되는 것을 생각하세요 -->그 앞에 $

 

[TIP]

한방향만 채울때는 혼합참조 고려할 필요 없이 무조건 절대/상대만

 

[TIP]

다른 표의 제시값을 참조하지 않기.

(바뀌어버릴 수 있기 때문)

내 표 것만 참조

따라서 없다면 따로 써주기

 

 

 

 

 

*사용자 정의 함수 *

 

비주얼 베이직 이용

 

1. 개발도구 - VISUAL BASIC  [Alt+F11]

 

2. 삽입 -> 모듈

 

3. 함수 구문 작성

 

Public Function 함수명(변수명)

 

End Function

 

 

Public Function fn총점(출석, 과제, 중간, 기말)

fn총점 = 출석 + 과제 + 중간 + 기말

End Function

fn총점 함수이름

출석, 과제, 중간, 기말 변수 4개 지정

 

= 출석 + 과제 + 중간 + 기말

이라고만 치고 엔터치면 컴파일 오류 뜬다

결과값 받을 애가 없어서.

따라서 = 앞에 정의한 함수명을 써주기

 

닫아주면 자동 저장

 

 

 

 

 

 

 

 

 

 

 

집에서 안되는 경우

1. 개발도구 - 매크로보안 - 모든 매크로 포함에 체크되어있어야함

2. 개발도구 메뉴가 없는 경우 p.143

 

 

 

[질문]

왜 : 로는  안됨?

,만 됨

 

 

 

 

단일조건 IF문

 

IF 조건 THEN

 

참값

 

ELSE

 

거짓값

 

END IF

명령문은 쓰고 나면 END로 닫아준다

 

 

ex)

 

 

 

Public Function ks보너스지급율(월평균임금, 전년월평균임금)

 

If (월평균임금 - 전년월평균임금) / 월평균임금 >= 0.05 Then

 

ks보너스지급율 = 0.05

 

Else

 

ks보너스지급율 = 0.1

 

End If


End Function

 


 

 

단일 조건이 아닌,

중첩조건 if문

=if(조건1,참,if(조건2,참,거짓))

 

 

If 조건1 Then

 

참값1

 

Elseif 조건2 Then

 

참값2

 

Else

 

거짓값

 

End If

 

 

 

 

 

Public Function fn에너지요금(사용량)

If 사용량 >= 100 Then
    fn에너지요금 = 사용량 * 50

ElseIf 사용량 >= 200 Then
    fn에너지요금 = 사용량 * 100

ElseIf 사용량 >= 300 Then
    fn에너지요금 = 사용량 * 150

ElseIf 사용량 >= 400 Then
    fn에너지요금 = 사용량 * 200

Else
    fn에너지요금 = 사용량 * 300

End If


End Function

 

---틀림!!

 

문제발생: 250, 350 일땐?

원인: 물을 땐 항상 큰 값부터 물어야 한다 [내림차순]

 

[질문]

엑셀 if함수 할때도 큰 값부터 물어야 하나?- ㅇㅇ

 

 

 

 

복수조건 if문 - And,Or

 

=if(and(조건1,조건2),참값,거짓값)

 

If 조건1 And 조건2 Then

 

참값

 

Else

 

거짓값

 

End If

 

 

And대신 OR쓰면 됨.

 

 

 

 

 

 

 

 

 

계산작업.xlsm

 

 

 

'컴퓨터활용능력1급 > 컴활1급 실기' 카테고리의 다른 글

취성패_컴활1급_12일차 <피벗 테이블, 통합>  (0) 2016.12.07
8일차  (0) 2016.12.01
취성패_컴활1급_6일차  (0) 2016.11.29
취성패_컴활1급_5일차  (0) 2016.11.28
취성패_컴활1급_4일차  (0) 2016.11.25