※ 요약

엑셀은 버전업을 할때마다 새로운 함수들을 추가해왔다. 이렇게 새로 추가된 함수는 하위 버전의 엑셀에서 오픈할 경우 #NAME? 오류를 발생시키기도 하므로 버전별로 추가된 함수들을 알아두는 것도 나쁘지 않다. 그래서 이번 포스트에서는 엑셀 버전별로 새로 추가된 함수들에 대해 알아보도록 하겠다. 참고로 새로 추가된 모든 함수들을 나열하지는 않았는데, 그 이유는 생각보다 많아서 필자 손가락이 아플까봐다.. 고로 더 많은 정보가 필요한 독자는 맨 아래 관련 페이지를 참고하기 바란다.


※ 임시

 엑셀 버전

 함수

 설명

 2007

SUMIF

COUNTIFS

AVERAGEIF 

AVERAGEIFS

IFERROR

 다중 조건 처리 함수들 추가됨

 2010

RANK.EQ

RANK.AVG

NETWORKDAYS.INTL

WORKDAY.INTL

AGGREGATE

 기본 함수명에 마침표(.)를 찍는 방식의 함수들이 추가됨

 2013

ISFORMULA

FORMULATEXT.DAYS

BITAND

BITLSHIFT

BITRSHIFT

BITOR

BITXOR

 수식과 관련된 함수들이 추가됨

 2016

IFS

SWITCH

FORECAST.ETS

MAXIFS

MINIFS

CONCAT

 논리, 통계, 텍스트 등의 함수들 추가




※ 요약

엑셀에서 #NAME? 오류는 함수명을 틀리게 입력하거나 정의된 이름을 잘못 사용한 경우 등에 나타나는 오류다. #NAME? 오류는 발생하는 상황이 비교적 다양한 편이므로 문제 해결시 어느 부분이 잘못되었는지 정확히 판단한후 해결하는 것이 좋다.


※ 오류 발생 가능 상황

- 함수명 잘못 사용

- 정의된 이름 잘못 사용

- 수식 내에서 텍스트 값 입력시 큰따옴표(") 생략

- 엑셀 상위 버전에서 제공되는 함수를 하위 버전의 엑셀에서 사용할 경우



※ 오류 상황 재현 및 해결 방법

아래 오류 상황은 평균을 구하는 함수 AVERAGE의 철자를 잘못 사용하여 #NAME? 오류가 발생한 상황이다. 아래 상황은 단순히 오타가 있어서 발생한 오류로써, ABERAGE라지라고 잘못 입력된 함수명을 AVERAGE라고 올바르게 입력하면 해결된다.



아래가 오류를 해결한 화면이다. 오류가 수정되니 #NAME? 문구도 안뜨고 평균도 잘 구해진다.


※ 관련 페이지



'엑셀 > 에러 해결' 카테고리의 다른 글

[엑셀] #N/A 오류 원인 및 해결  (0) 2016.11.03
[엑셀] #DIV/0! 오류 원인 및 해결  (0) 2016.05.19


※ 요약

#N/A는 Not Available이라는 의미로써 찾는 값이 없을때 발생하는 오류다. 보통 MATCH나 VLOOKUP과 같은 지정한 값을 찾는 함수를 이용할때, 찾는 값이 없으면 발생한다.


※ 오류 상황 재현

MATCH함수를 이용하여 #N/A 오류 상황을 재현해봤다. 참고로 MATCH 함수는 첫 번째 인수 값을 두 번쨰 범위에서 찾아, 범위의 몇 번째에 해당하는 값이 있는지 찾는 함수다. D3 셀에 수식을 =MATCH(D2, A2:A7, 0) 이라고 입력한뒤 D2 셀에 서울을 입력하면 1이라고 나오는데, 서울은 지정된 범위 [A2:A7] 중 첫 번쨰에 있어서 1이라고 나왔다.


그럼 이번에는 서울 대신 중간에 공백 문자를 포함하여 서 울이라고 입력해보자. 그럼 아래와 같이 #N/A가 나오는 걸 볼 수 있다. #N/A가 나오는 이유는 다들 알겠지만 서울서 울은 엄연히 다른 값이어서 그렇다.



※ 문제 해결

#N/A 문제를 해결하려면 찾을 값을 정확히 지정하거나 원본 표 범위를 정확하게 다시 확인하는 방법이 있다. 하지만 사람이 어디 완벽한가? 상황에 따라 찾을 값이 없을 수도 있거나 정확히 입력하지 못할 상황도 있을 수 있고, 실수로 표 범위를 틀리게 지정할 수도 있다. 이럴때는 예외 처리를 하여 사용자에게 알려주도록 하자. 


수식에 IFERROR로 예외 처리를 해준 모습이다. 사용자는 에러 문구를 보고 잘못 입력된 값을 수정하거나 값이 존재하지 않는걸 알게 될 것이다.



'엑셀 > 에러 해결' 카테고리의 다른 글

[엑셀] #NAME? 오류 원인 및 해결  (1) 2016.12.16
[엑셀] #DIV/0! 오류 원인 및 해결  (0) 2016.05.19

※ 요약

비교 연산자는 주어진 조건을 비교하는 연산자로써, 엑셀에만 존재하는게 아니라 C나 C++, Java, C#, Python 등 대부분의 프로그래밍 언어에 존재하는 매우 중요한 연산자 중 하나다. 엑셀에서의 비교 연산자는 다음과 같이 >, >=, <, <=, =, <> 총 6가지이며, 이 비교 연산자를 이용해 구성한 계산식을 조건식이라고 한다. 조건식의 결과는 반드시 참(TRUE)이나 거짓(FALSE)을 반환하며, 반환 결과에 따라 수행할 동작을 미리 정의 놓을 수 있다. 이번 포스트에서는 판단 함수 IF와 조건식을 이용하는 방법에 대해 알아볼 것이다.


※ 함수 사용법 및 설명

IF( 1:조건, 2:TRUE일때 반환값, 3:FALSE일때 반환값 )

 구분

 설명

 구문

 1 : TRUE나 FALSE를 반환하는 값이나 계산식

 2 : TRUE일때 반환할 값 또는 계산식

 3 : FALSE일때 반환할 값 또는 계산식

 사용 예

 =IF( A1>80, "합격", "불합격" )

 헤설 : A1 셀의 값이 80점 이상이면 합격 문자열을, 80점 미만이면 불합격 문자열을 반환한다.



※ 예제

자고로 예제는 간단해야 이해하기 쉬우며, 실무에는 예제를 응용해 조건식을 작성하면 될 것이다. 아래는 학생의 점수에 따라 합격, 불합격을 판단하는 조건식이다. 수식을 보면 알겠지만 80점 이상이 합격, 그 미만은 불합격이다. 수식은 하나만 작성하여 복사/붙여넣기하면 상대 참조를 이용해 자동으로 필요한 셀을 참조한다. 아주아주 간단한 예제지만 응용할 곳이 어마어마하다.


아래는 추가 설명을 위한 예제다. 보면 조건 없이 숫자만 들어가 있는데, 잘 보면 알겠지만 0만 FALSE이고 나머지 수(양수, 음수)는 크기에 상관없이 모두 TRUE인걸 알 수 있다. 엑셀이나 프로그래밍 언어에서의 0은 FALSE(거짓)를 의미하고 0 이외의 모든 숫자는 TRUE(참)을 의미한다.



※ 요약

엑셀에서 #DIV/0!는 나눗셈을 할때 발생하는 오류로써, DIV는 Division(나눗셈)을 의미하고 DIV/0는 0으로 나누려고 했기 때문에 계산할 수 없다는 의미이다. #DIV/0! 오류는 보통 나눗셈 연산이 들어있는 계산식이나 QUOTIENT, MOD 함수를 이용할때 발생한다.

※ 오류 상황 재현

QUOTIENT 함수와 MOD 함수를 이용하여 #DIV/0! 오류를 발생시켰다. 위에서 설명했듯이 나눗셈의 분모 값이 0이기 때문에 오류가 발생하였다.



※ 문제 해결

나눗셈의 분모 값을 확인하여 0이 아니도록 수정한다.

 

 

'엑셀 > 에러 해결' 카테고리의 다른 글

[엑셀] #NAME? 오류 원인 및 해결  (1) 2016.12.16
[엑셀] #N/A 오류 원인 및 해결  (0) 2016.11.03

※ 요약
텍스트와 숫자는 구분하기 쉽지만 "텍스트형 숫자"는 생소한 개념이다. 이번 포스트에서는 이 3가지의 차이에 대해 알아보도록 하겠다.

※ 설명

아래는 숫자와 텍스트형 숫자, 텍스트를 설명하기 위한 예제이다. 필자는 C++개발자라 특별한 설명 없이도 아래 개념을 이해할 수 있지만 개발자가 아니거나 아래 개념을 처음 접한 사람이라면 생소할 수 있겠다.

[A2]셀에 입력된 값은 숫자다.

[A3]셀에 입력된 값은 아포스트로피(')를 먼저 입력하고 숫자 1000을 입력하므로써 셀 표시 형식이 텍스트로 적용되었다. 결과는 보면 1000으로 나와 숫자 같지만 셀 표시 형식이 텍스트 형식으로 지정되었기 때문에 텍스트로 구분된다.

[A4]셀에 입력된 값은 숫자와 문자가 함께 입력되었으므로 숫자가 아닌 텍스트이다.



※ 요약
연산자 간에는 우선순위가 있어서 어느 연산자가 먼저 계산될지 결정된다. 이를 연산자 우선순위라 하며, 우선순위를 변경하고 싶다면 괄호를 이용하여 바꾸면 된다.

※ 연산자 우선순위
참조 연산자 > 산술 연산자 > 연결 연산자 > 비교 연산자


※ 상세 연산자 우선순위

 우선 순위

 소속

 연산자

 설명

 1

참조

:(콜론)

 

 2

" "(공백)

 

 3

,(쉼표)

 

 4

산술

-(음수)

 

 5

%(백분율)

 

 6

^(제곱)

 

 7

*(곱셈), /(나눗셈)

 함께 사용하면 수식의 좌측부터 연산

 8

+(덧셈), -(뺄셈)

 9

연결

&(앰퍼샌드)

 

 10

비교

=, >, >=, <, <=, <>

 함께 사용하면 수식의 좌측부터 연산



※ 요약

이번에 소개할 연산자는 텍스트 연결 연산자이다. 연결 연산자는 &(Ampersand)기호응 사용하며, &를 기준으로 좌우의 값을 하나로 연결할 때 사용한다. 글로 설명하는 것보다는 예제를 한 번 보는게 빠르다.

※ 연결 연산자 설명

 연결 연산자

 명칭

 설명

&

 Ampersand(앰퍼샌드), And

 좌측 피연산자와 우측 피연산자의 값을 하나의 값으로 연결하여 반환



※ 예제

조건식과 결과를 보면 알겠지만 셀을 참조하여 값을 연결하거나 셀과 임의의 문자열 값을 연결할 수 있는 걸 알 수 있다.



※ 요약

수식에서 다른 셀을 참조하기 쉽도록 지원하는 세 가지 문자(콜론, 쉼표, 공백)를 참조 연산자라고 하며, 셀이나 셀 범위를 참조하는 다양한 방법을 제공한다.

※ 참조 연산자 종류 및 설명

 참조 연산자

 명칭

 설명

 :

 콜론

 연속된 데이터 범위를 참조함

 [A1] 셀부터 [A100] 셀까지 참조한다면 [A1:A100]과 같이 사용

 ,

 쉼표

 떨어진 데이터 범위를 참조함

 [A1] 셀, [D1] 셀, [F1] 셀을 참조한다면 [A1, D1, F1]과 같이 사용

 " "

 공백

 두 개의 데이터 범위의 교집합을 참조함

 [A1:C100 B5:Z5]는 두 범위가 교차되는 [B5:C5] 셀 범위를 참조


※ 콜론(:) 예제

C3 셀부터 C5까지의 합을 구하기 위해 SUM(C3:C5)을 입력하여 C3+C4+C5의 합을 C8 셀에 출력한다.



※ 쉼표(,) 예제

SUM 함수에 인자로 B2:B4과 C3:C5를 입력하여 두 범위의 합을 구하였다.


※ 공백(" ") 예제

B2:B6 범위와 B3:C5 범위 중 교차 되는 B3:B5의 합을 구하여 C8 셀에 출력하였다.



※ 요약

개발 언어들과 마찬가지로 엑셀에도 비교 연산자가 존재한다. 비교 연산자는 주어진 조건을 비교하여 참이냐 거짓이냐에 따라 논리값(TRUE, FALSE)을 반환하며, 반환된 값에 따라 일을 구분하여 지시할 수 있다. 이번 내용은 개발을 하지 않았거나 비교 연산자를 처음 사용해보는 사용자라면 생소할 수 있겠으나 초등학교 때 배운 내용(부등호)이므로 예제를 보면 어렵지 않게 이해할 수 있을 것이다.

※ 비교 연산자 종류 및 설명

 비교 연산자

 명칭

 설명

 =

 같음/등호

 좌측 피연산자와 우측 피연산자 값이 같은지 판단

 >

 보다 큼

 좌측 피연산자 값이 우측 피연산자 값보다 큰지 판단

 >=

 크거나 같음

 좌측 피연산자 값이 우측 피연산자 값과 같거나 큰지 판단

 <

 보다 작음

 좌측 피연산자 값이 우측 피연산자 값보다 작은지 판단

 <=

 작거나 같음

 좌측 피연산자 값이 우측 피연산자 값과 같거나 작은지 판단

 <>

 같지 않음

 좌우 피연산자 값이 다른지 판단



※ 예제

324=546은 같지 않아 거짓이므로 FALSE를 반환하였고 56>34는 참이라 TRUE를 반환한 걸 알 수 있다.


위는 숫자를 이용한 비교 연산이라 자연스러운데 아래는 문자를 이용한 조건식이라 생소한데, 문자를 비교할 수 있는 이유는 문자마다 각각의 값이 있어서 비교할 수 있기 때문이다. 가령 아스키코드 기준으로 A는 97(10진수) 값을 가지며 B는 98(10진수) 값을 가진다. 고로 A>B는 97>98과 같으므로 당연히 FALSE를 리턴하는게 맞다. 문자 비교의 핵심은 문자도 고유 값을 가지고 있고, 이 값을 비교할 수 있다는 것이다. 필자가 13년도에 작성한 아스키코드표가 있는데 참고하면 좋을 것이다.



+ Recent posts