VLOOKUP 안되는 경우, 왼쪽 값 참조 꿀팁

This entry is part [part not set] of 6 in the series 참조 함수

이전글에서 VLOOKUP 함수를 사용해서 찾는 값의 왼쪽(좌측)에 있는 찾으려는 값을 참조하는 방법을 배웠습니다.
이 방법을 이해하고 편하게 적용할 수 있는 사용자는 문제가 없습니다.
이 방법을 이해하려고 노력했으나 잘 이해가 되지 않아 사용이 불가한 사용자들에게 도움이 되는 방법을 소개해 드리겠습니다.
 

VLOOKUP 안되는 경우

 
이전글에서 엑셀 함수의 꽃이라 불리는 VLOOKUP 함수를 배웠습니다.

VLOOKUP 은 찾을 값이 가장 좌측에 위치한 참조 범위의 열 방향 우측에 있는 값을 찾는 함수 입니다.

여기서 주목할 단어는 우측에 입니다. 찾을 값의 우측에 있는 참조 값만 가져올 수 있다는 것 입니다.
이게 무슨 문제가 될까? 하는 생각이 들 겁니다.
일반적인 경우에는 별 문제가 되지 않습니다.
하지만, 회사에서 사용할 때는 큰 문제가 될 수 있습니다.
기존의 양식을 변경할 수 없는 데이터 시트에서 좌측값을 참조해야 하는 경우가 있기 마련입니다.
이전글에서는 찾는 값의 위치를 출력하는 INDEX 함수와, 참조 범위에서 특정한 위치의 값을 출력해주는 MATCH 함수, 그리고 이 두 함수를 결합하여 INDEX MATCH 결합 함수로 사용하는 것에 대해 배웠습니다.
이번 글에서는 VLOOKUP 안되는 경우 약간의 조작을 통해 VLOOKUP 함수를 사용해서 찾을 값의 좌측에 있는 값을 가져올 수 있도록 하는 방법을 배워보겠습니다.
 
엑셀에서 값을 참조하기 위해 가장 많이 사용하는 함수는 바로 VLOOKUP 입니다.
하지만 VLOOKUP 함수에는 치명적인 단점이 있습니다.
바로 찾는 값의 우측에 있는 값만 참조할 수 있다는 것 입니다.
찾는 값의 우측에 있는 값만 참조할 수 있다면, 좌측에 있는 값은 어떻게 참조해야 할까요?
이전에 VLOOUP 함수를 대체해서 사용한 방법이 INDEX 함수와 MATCH 함수를 결합하여 사용하는 INDEX MATCH 함수 입니다.
그러나 VLOOKUP 함수에 익숙한 사용자들도 INDEX MATCH 함수를 결합하여 사용할 때 어려움을 겪습니다.
어려운 개념이 아니지만 함수 두 개를 결합하여 사용한다는 것 자체가 난이도 높은 문제로 느껴지기 때문입니다.
어렵게 느껴지는 INDEX MATCH 함수를 사용하지 않고 문제를 해결할 수 있는 팁들이 있습니다.
그 중 하나는 이전글에서 이미 배워봤습니다.
이번에는이 방법이 어려우신 분들을 위해, 약간의 조작을 통해 VLOOKUP 함수를 사용하는 방법에 대해 알아보겠습니다.
 

VLOOKUP 왼쪽 값 참조를 위한 참조 테이블 조작

 
아래의 예제는 이전에 VLOOKUP 함수를 배울 때 사용했던 것과 동일한 예제에 조금 변형을 했습니다.
 

VLOOKUP 안되는 경우 참조 테이블 조작으로 해결
VLOOKUP 안되는 경우 참조 테이블 조작으로 해결

 
VLOOKUP 함수는 찾는 값의 col_index_num 이 1이 되어야 합니다.
즉, 찾는 값이 참조 영역의 가장 왼쪽에 위치해야 합니다.
위의 그림에서 찾는 값 “이름“은 찾으려는 값 “생년월일“보다 우측에 있습니다.
그렇게 때문에 찾으려는 값 “생년월일”에 해당하는 col_index_num 값을 지정할 수 없게 되고, VLOOKUP 함수를 사용할 수 없습니다.
VLOOKUP 함수의 세 번째 인수 col_index_num 은 1보다 작은 값을 가질 수 없기 때문입니다.
 
그래서 참조 영역 테이블에 약간의 조작을 해서 VLOOKUP 함수를 사용할 수 있도록 해보겠습니다.
VLOOKUP 함수의 찾는 값 컬럼에 해당하는 열을 전체 선택하여 복사 합니다.
복사한 열을 참조 영역 테이블의 가장 좌측 열 타이틀(B)을 을 선택한 후 “복사한 셀 삽입“을 합니다.
그러면 B열에 이름 열이 추가로 생성됩니다. 생년월일은 C열로 이동하고 이름은 D열로 이동합니다.
즉, 참조 영역 테이블 가장 좌측에 열 하나가 추가되어 모든 셀이 한 열 우측으로 이동됩니다.
이제 VLOOKUP 함수를 사용하여 이름 값으로 생년월일 값을 참조할 수 있는 상태가 되었습니다.
 

VLOOKUP 함수 사용하여 값 참조

 

VLOOKUP 안되는 경우 왼쪽 값 참조 꿀팁
VLOOKUP 안되는 경우 왼쪽 값 참조 꿀팁

 
VLOOKUP 의 기본적인 함수 수식을 사용하여 값을 참조해 보겠습니다.
VLOOKUP 함수의 두 번째 인수인 참조 영역 설정을 주의깊게 보시기 바랍니다.

복사하여 추가한 B열 이름의 범위를 포함하여 참조 영역을 설정해줘야 합니다.

G3 셀에 함수 수식 =VLOOKUP(F3,$B$3:$D$8,2,FALSE) 를 입력합니다.
그러면 결과값으로 김민준 학생의 생년월일 “2005.10.11” 값이 출력됩니다.
G3 셀의 함수 수식을 복사하여 G4 셀에 적용하면, 이다혜 학생의 생년월일 “2007.4.15” 값이 출력됩니다.
두 값 모두 정확하게 출력되었습니다.
이제 화면상에 보여질 필요가 없는 B열 이름을 셀 숨기기 기능을 사용하여 숨기겠습니다.
어떻습니까? 이전의 방법들과 동일한 결과를 얻은 것이 보이시나요?

엄밀히 말하면 동일한 결과는 아닙니다.
B열이 숨겨진 상태로 되어 있고, 열이 하나씩 우측으로 이동했기 때문입니다.

 
위의 작업을 통해 화면에 보여지는 결과는 다른 방법을 사용했을 때와 마찬가지로 동일하게 출력됩니다.
생년월일과 이름의 출력 순서를 변경할 수는 없는 상태에서 이름으로 생년월일 값을 참조하기 위해서 사용할 수 있는 간단한 트릭 입니다.

가상의 찾는 값을 B열 이름 으로 추가해준 후 눈에 보이지 않도록 해주는 것 입니다.

만약 새로운 이름과 생년월일이 추가된다면, 숨겨져 있는 B열의 이름 값도 동일한 값으로 복사되어야 합니다.
사용상에 약간의 제약이 있으나, 간편함으로 따지면 가장 간단한 방법이 될 수 있습니다.
 
VLOOKUP 함수를 사용해서 찾을 값 좌측의 찾으려는 값을 참조하는 다양한 방법을 배웠습니다.
모든 경우에 가장 좋은 방법은 어떤 방법이다 라고 특정하기는 어렵습니다.
개개인의 엑셀 실력과 업무의 특성에 따라 최적의 방법이 결정될 것 입니다.
다양한 방법을 익혀두고 상황에 맞는 최적의 방법으로 문제를 해결하시기 바랍니다.
 
각자 간단한 예제를 만들어 사용법을 익히기 바랍니다.
 

엑셀에 관한 궁금증은 Microsoft Office 도움말 에서 해결할 수 있습니다.
Microsoft Office 도움말 바로가기

VLOOKUP 왼쪽 값 참조 방법, 좌측 열 참조 방법

This entry is part [part not set] of 6 in the series 참조 함수

VLOOKUP 왼쪽 값 참조 방법, 좌측 열 참조 방법

 
이전글에서 엑셀 함수의 꽃이라 불리는 VLOOKUP 함수를 배웠습니다.

VLOOKUP 은 찾을 값이 가장 좌측에 위치한 참조 범위의 열 방향 우측에 있는 값을 찾는 함수 입니다.

여기서 주목할 단어는 우측에 입니다. 찾을 값의 우측에 있는 참조 값만 가져올 수 있다는 것 입니다.
이게 무슨 문제가 될까? 하는 생각이 들 겁니다.
일반적인 경우에는 별 문제가 되지 않습니다.
하지만, 회사에서 사용할 때는 큰 문제가 될 수 있습니다.
기존의 양식을 변경할 수 없는 데이터 시트에서 좌측값을 참조해야 하는 경우가 있기 마련입니다.
이전글에서는 찾는 값의 위치를 출력하는 INDEX 함수와, 참조 범위에서 특정한 위치의 값을 출력해주는 MATCH 함수, 그리고 이 두 함수를 결합하여 INDEX MATCH 결합 함수로 사용하는 것에 대해 배웠습니다.
이번 글에서는 그대로 VLOOKUP 함수를 사용해서 찾을 값의 좌측에 있는 값을 가져올 수 있도록 하는 방법을 배워보겠습니다.
 
엑셀에서 값을 참조하기 위해 가장 많이 사용하는 함수는 바로 VLOOKUP 입니다.
하지만 VLOOKUP 함수에는 치명적인 단점이 있습니다.
바로 찾는 값의 우측에 있는 값만 참조할 수 있다는 것 입니다.
찾는 값의 우측에 있는 값만 참조할 수 있다면, 좌측에 있는 값은 어떻게 참조해야 할까요?
이전에 VLOOUP 함수를 대체해서 사용한 방법이 INDEX 함수와 MATCH 함수를 결합하여 사용하는 INDEX MATCH 함수 입니다.
그러나 VLOOKUP 함수에 익숙한 사용자들도 INDEX MATCH 함수를 결합하여 사용할 때 어려움을 겪습니다.
어려운 개념이 아니지만 함수 두 개를 결합하여 사용한다는 것 자체가 난이도 높은 문제로 느껴지기 때문입니다.
어렵게 느껴지는 INDEX MATCH 함수를 사용하지 않고 문제를 해결할 수 있는 팁들이 있습니다.
그대로 VLOOKUP 함수를 사용하는 방법에 대해 알아보겠습니다.
 

VLOOKUP 예제 변형을 통한 확인

 
아래의 예제는 이전에 VLOOKUP 함수를 배울 때 사용했던 것과 동일한 예제에 조금 변형을 했습니다.
VLOOKUP 함수를 INDEX MATCH 함수로 대체했을 때 사용한 예제와 동일하게 변형 했습니다.
즉, 찾는 값인 “이름” 컬럼이 찾으려는 값인 “생년월일” 값의 우측에 위치해서 기본적인 VLOOKUP 함수로는 해결할 수 없는 문제 입니다.
 

VLOOKUP 왼쪽 값 참조 한계
VLOOKUP 왼쪽 값 참조 한계

 
VLOOKUP 함수의 세 번째 인수 col_index_num 은 1보다 작은 값을 가질 수 없습니다.
찾는 값인 이름의 col_index_num 이 1이 되기 때문에 이보다 좌측에 있는 찾으려는 값인 생년월일의 col_index_num 은 표현할 방법이 없습니다.
즉, 좌측 열의 값을 참조할 수 없게 됩니다.
 

VLOOKUP 배열 참조를 통한 수식 변형

 

VLOOKUP 배열 참조를 통한 수식 변형
VLOOKUP 배열 참조를 통한 수식 변형

 
기본적인 VLOOKUP 함수 수식을 배열 참조를 이용해서 변형해 보겠습니다.
두 번째 인수인 참조 영역 table_array 를 배열 참조 {“김민준”,”2005.10.11″} 로 입력합니다.
위 배열 참조의 의미는 첫 번째 컬럼 첫 번째 열에 “김민준” 값이 입력되고, 두 번째 컬럼 두 번째 열에 “2005.10.11” 이 입력되었다는 뜻 입니다.
VLOOKUP 함수는 참조 영역의 첫 번째 컬럼에서 값을 찾아서 그와 같은 열에 있는 다른 컬럼의 값을 찾는 함수 입니다.
=VLOOKUP(E3,{“김민준”,”2005.10.11″},2,FALSE) 함수 수식은, E3 셀에 입력되어 있는 이름 김민준 을 배열 참조 {“김민준”,”2005.10.11″} 의 첫 번째 컬럼에서 찾아서 참조 범위의 두 번째 컬럼 값 2005.10.11 을 출력하라는 뜻 입니다.
이 수식이 이해가 되셨나요? 이해가 안되셨다면 그림과 설명을 다시 보시고 반드시 이해하시고 넘어가야 합니다.
한 번 이해를 하고 난 뒤에는 기계적으로 사용이 가능해 지므로, 반복해서 읽어보고 이해하시기 바랍니다.
 

VLOOKUP 배열 참조를 통한 변형 수식 완성

 

VLOOKUP 배열 참조를 통한 변형 수식 완성
VLOOKUP 배열 참조를 통한 변형 수식 완성

 
두 번째 인수인 참조 영역 table_array 에 입력된 배열 참조 {“김민준”,”2005.10.11″} 를 예제에서 필요로 하는 모든 참조 영역에 대해서 확장 입력 하겠습니다.

{“김민준”,”2005.10.11″;”이다혜”,”2007.4.15″;”유지태”,”1989.12.30″;”김민정”,”1997.5.21″;”박정아”,”2010.1.5″;”서경준”,”2002.7.23″}

위와 같이 입력하면 됩니다. 컴마(,) 기호로 열을 구분하고 세미콜론(;) 기호로 행을 구분하여 입력할 수 있습니다.
위와 같이 배열 참조를 입력하면 $B$3:$C$8 참조 영역의 모든 값이 배열 참조로 변환된 형태로 입력됩니다.

이 때 이름 값인 C열이 1열에 입력되고 생년월일 값인 B열이 2열로 입력되는 것이 핵심 입니다.

위와 같이 서로 자리를 바꿔서 입력이 되어야 이름(1열) 값으로 생년월일(2열) 값을 참조할 수 있게 되기 때문입니다.
E4 셀의 값을 다른 학생의 이름으로 변경해보면, 생년월일 값이 정상적으로 출력되고 있음을 확인할 수 있습니다.
즉, VLOOKUP 함수를 사용해서 왼쪽 값 참조(좌측 열 참조) 기능을 구현했습니다.
 
여기까지 이해가 되셨나요? 이해가 되지 않았다면 반복해서 읽어보시기 바랍니다.
하지만 문제가 있습니다.
VLOOKUP 함수의 두 번째 인수인 참조 영역 table_array 값을 매 번 배열 참조로 변형해서 입력해 둘 수는 없습니다.
데이터가 적은 경우는 가능할 수 있겠으나, 데이터가 많은 경우는 불가능에 가깝습니다.
그리고 참조 범위가 아닌 배열 참조 값을 직접 입력하는 것은 진정한 의미의 VLOOKUP 함수를 사용해서 왼쪽 값 참조를 구현하는 것 과는 거리가 있어 보입니다.
 

VLOOKUP 배열 참조를 참조 영역 값으로 적용하기

 

VLOOKUP 배열 참조를 참조 영역 값으로 적용하기
VLOOKUP 배열 참조를 참조 영역 값으로 적용하기

 
위의 그림을 여러 번 반복해서 보시기 바랍니다.
위의 그림에서 나타내고자 하는 핵심은 바로 아래와 같습니다.

배열 참조 {“김민준”,”2005.10.11″;”이다혜”,”2007.4.15″;”유지태”,”1989.12.30″;”김민정”,”1997.5.21″;”박정아”,”2010.1.5″;”서경준”,”2002.7.23″} 는
참조 영역 IF({1,0},$C$3:$C$8,$B$3:$B$8) 으로 대체할 수 있다.

이 부분은 이해가 잘 되지 않을 수 있습니다.
엑셀에 대한 이해가 깊은 사용자만 이해가 가능할 것 같습니다.
만약 이해가 잘 되지 않는다면, 위의 과정들을 거쳐 최종적으로 생성되는 함수 수식을 확인하고 외워서 사용하면서 점점 익숙해지다가 저절로 이해가 되는 것이 빠를 것 같습니다.
 
VLOOKUP 함수의 두 번째 인수 table_array 로 사용된 IF({1,0},$C$3:$C$8,$B$3:$B$8) IF 함수 수식이 배열 참조와 동일하게 작동한다는 것을 풀이해 보겠습니다.
엑셀 함수의 정확한 동작으로 완전하게 해설하는 것은 아직 어려울 것 같습니다.
제가 이해하고 사용하는 방식에 대해 설명해 보겠습니다.
 

VLOOKUP 배열 참조를 참조 영역 값으로 적용하기 풀이

 
IF 함수는 참과 거짓을 구분하는 함수 입니다.
IF 함수에 배열 참조 {1,0} 을 대입합니다. 참이면 이름 영역인 $C$3:$C$8 거짓이면 생년월일 영역인 $B$3:$B$8 이 출력됩니다.
IF 함수가 배열 참조에 대해 동작을 수행해서, 첫 번째 컬럼 값인 1에 대한 참, 거짓을 판단하고 결과 참(TRUE)을 돌려줍니다.
그러면 논리식이 참일 때 값인 $C$3:$C$8 값이 배열 참조의 첫 번째 컬럼들 즉, 1열에 차례로 들어갑니다.

{“김민준”;”이다혜”;”유지태”;”김민정”;”박정아”;”서경준”}

 
다음으로 IF 함수가 배열 참조에 대해 동작을 수행해서, 두 번째 컬럼 값인 0에 대한 참, 거짓을 판단하고 결과 거짓(FALSE)을 돌려줍니다.
그러면 논리식이 참일 때 값인 $B$3:$B$8 값이 배열 참조의 두 번째 컬럼들 즉, 2열에 차례로 들어갑니다.

{“김민준”,”2005.10.11″;”이다혜”,”2007.4.15″;”유지태”,”1989.12.30″;”김민정”,”1997.5.21″;”박정아”,”2010.1.5″;”서경준”,”2002.7.23″}

위의 배열 참조가 눈에 익숙한 형태인게 보이시죠?
 
그렇습니다. 위의 IF 함수 수식을 통해,

배열 참조 {“김민준”,”2005.10.11″;”이다혜”,”2007.4.15″;”유지태”,”1989.12.30″;”김민정”,”1997.5.21″;”박정아”,”2010.1.5″;”서경준”,”2002.7.23″} 는
참조 영역 IF({1,0},$C$3:$C$8,$B$3:$B$8) 으로 대체할 수 있다.

이 부분이 증명된 것 입니다.
 
위의 과정들을 통해 VLOOKUP 왼쪽 값 참조, 좌측 열 참조 기능을 구현해 봤습니다.
 
오류가 발생되었을 때 당황하지 말고, 함수의 인수들을 천천히 살펴보시기 바랍니다.
그것이 엑셀 함수 수식의 오류를 해결하는 가장 빠른 방법 입니다.
 
각자 간단한 예제를 만들어 사용법을 익히기 바랍니다.
 

엑셀에 관한 궁금증은 Microsoft Office 도움말 에서 해결할 수 있습니다.
Microsoft Office 도움말 바로가기

수식 오류 확인 함수, ISERROR 활용 IFERROR 함수 대체

This entry is part [part not set] of 5 in the series 논리 함수

수식 오류 처리 함수, IFERROR

 
이전글에서 수식에 오류가 발생했을 때 이를 처리할 수 있는 IFERROR 를 배웠습니다.

하지만, IFERROR 함수는 엑셀 2007 버전 이상에서만 사용 가능합니다.

이번에는 수식에 오류가 발생했을 때 IFERROR 를 대체해, 이를 처리할 수 있는 ISERROR 를 배워보겠습니다.
 
이전 글에서 IFS 함수의 오류를 수정하기 위해서 IFERROR 함수를 사용했습니다.
IFERROR 함수는 두 개의 필수 인수를 입력받아 오류를 처리합니다.

첫 번째 인수 : 오류인지 확인할 값
두 번째 인수 : 첫 번째 인수가 오류인 경우 대신 출력할 값

이에 반해 ISERROR 함수는 한 개의 인수만 입력 받습니다.
오류인지 확인할 값 하나만을 인수로 입력 받아 오류가 있으면 참(TRUE), 오류가 없으면 거짓(FALSE)를 출력합니다.
 
IFERROR 함수를 먼저 접한 상태에서 ISERROR 함수를 봤더니 뭔가 부족해 보입니다.
수식에 오류가 있는지 여부를 판단하는 것 만으로는 독자적인 적용이 부족해 보입니다.
물론 참, 거짓 값 자체로도 활용을 할 수 있겠으나, 이 값이 다른 논리 함수의 값에 사용되어야 할 것 같아 보입니다.
ISERROR 함수는 독자적으로 사용되지 않고 일반적으로 IF 함수와 함께 사용됩니다.
이전에 배운 함수의 중첩 사용을 기억해보시기 바랍니다.
 

수식 오류 확인 함수, ISERROR 활용 IFERROR 함수 대체

 
이전 글에서 사용한 예제를 그대로 활용해서 진행하겠습니다.
 
함수는 함수명과 인자로 구성되어 있습니다.
= 를 입력하고 함수명(ISERROR)를 입력한 후, 괄호를 여는 순간 함수 인자를 입력하기 위한 도움말이 나타납니다.
 

수식 오류 확인 함수 ISERROR 활용 IFERROR 함수 대체
수식 오류 확인 함수 ISERROR 활용 IFERROR 함수 대체

 
위의 그림에서 =ISERROR( 함수의 사용을 도와주는 도움말이 나타납니다.
함수에 어떤 인자를 입력해야 하는지 알려주는데요, (value) 의 의미는 아래와 같습니다.

value : 에러가 있는지 확인할 값을 첫 번째 인수로 입력해야 합니다. (필수 입력)

 
J 열에는 이전에 배운 IFERROR 함수를 사용하여 IFS 함수를 보완한 함수 수식이 그대로 있습니다.
I5 셀에 =ISERROR(IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3)) 라고 함수 수식을 입력합니다.

I5 셀에 수식을 먼저 수정한 이유는, 오류가 발생하고 있는 셀의 함수 수식을 먼저 수정하여 오류가 해결되는 것을 확인하기 위함 입니다.

그러면 결과값 TRUE 가 출력됩니다.

ISERROR 함수는 에러가 있는지 확인하는 함수입니다.
결과값이 TRUE 라는 것은 오류가 있다는 의미 입니다.

유지태 학생의 등급은 “양” 이고, IFS 함수에는 “양” 인 경우데 대한 처리가 없습니다. 즉, 오류가 발생됩니다.
나머지 학생의 가점 셀에도 함수를 복사하여 붙여넣습니다.
모든 학생의 가점의 오류 여부가 정확하게 출력되고 있는 것을 확인할 수 있습니다.

ISERROR 함수와 IFERROR 함수의 가장 큰 차이점은 오류가 발생했을 때 처리하는 방법 입니다.
ISERROR 함수는 오류의 발생 여부만(TRUE/FALSE)을 출력해주는 데 반해, IFERROR 함수는 오류 발생시 출력할 값을 지정할 수 있습니다.

ISERROR 함수 단독으로는 우리가 원하는 결과값을 출력하지 못하고 있습니다.
 

수식 오류 확인 함수, ISERROR IF 중첩 활용 IFERROR 함수 대체

 
여기에서 함수의 중첩을 사용해서 문제를 해결해 보겠습니다.
 

수식 오류 확인 함수 ISERROR 활용 IFERROR 함수 대체
수식 오류 확인 함수 ISERROR 활용 IFERROR 함수 대체

 
우리가 가점 항목에 출력하고 싶은 값은 함수 수식 =IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3) 의 결과값 입니다.
단, 등급이 “수”, “우”, “미” 가 아닌 경우에는 대신 0을 출력하면 됩니다.
ISERROR 함수와 IF 함수를 중첩하여 위 IFERROR 함수를 대체할 수 있습니다.

=ISERROR(IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3)) 함수 수식은 IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3) 의 참(TRUE), 거짓(FALSE) 여부를 출력합니다.
여기에 IF 함수를 중첩 사용하여 참(TRUE) 일 때의 값과 거짓(FALSE) 일 때의 값을 지정해주면 됩니다.
=IF(ISERROR(IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3)), 0, IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3)) 의 함수 수식으로 사용하면 됩니다.

위의 함수 수식을 살펴보면, IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3) 가 두 번 사용된 것을 알 수 있습니다.
ISERROR 함수의 첫 번째 인수로 사용하여 값의 참, 거짓을 판단하는 데 한 번 그리고 ISERROR 함수가 거짓(오류가 없는 경우)에 값을 출력할 때 한 번 입니다.

위의 예제를 통해 IFERROR 함수가 얼마나 간편하게 사용 가능한지, 많은 수고를 덜어주고 있음을 확인할 수 있습니다.

 
각자 간단한 예제를 만들어 사용법을 익히기 바랍니다.
 

엑셀에 관한 궁금증은 Microsoft Office 도움말 에서 해결할 수 있습니다.
Microsoft Office 도움말 바로가기

수식 오류 처리 함수, IFERROR 활용 IFS 함수 보완

This entry is part [part not set] of 5 in the series 논리 함수

수식 오류 처리 함수, IFERROR

 
이전글에서 조건문이 특정한 값을 가질 때 사용할 수 있는 함수 SWITCH 를 배웠습니다.
이번에는 수식에 오류가 발생했을 때 이를 처리할 수 있는 IFERROR 를 배워보겠습니다.

IFERROR 함수는 엑셀 2007 버전 이상에서 사용 가능합니다.

 
이전 글에서 SWITCH 함수를 소개할 때 그 선행 과정으로 다중 비교 함수 IFS 를 사용한 방법을 시도해 봤습니다.
IFS 함수를 사용하여 문제를 해결하기 위해서는 주어진 조건 이외의 경우에 대한 예외 처리를 해야 했습니다.
세 가지 성적 등급에 대해 가점을 주는 문제에서 IFS 함수는 적합한 함수가 아니었습니다.
특정한 값에 대한 처리에 적합한 SWITCH 함수를 사용하는 것이 적합했습니다.
 
이전 글에서 IFS 함수를 사용한 문제 해결 시도시 “#N/A” 오류가 발생하는 경우를 처리한 방법은 모든 경우의 수를 추가해주는 것 입니다.
경우의 수가 적은 경우라면 가능한 방법이지만, 경우의 수가 많은 경우에는 적합한 처리 방법은 아닙니다.
세 개의 성적 등급에 대한 정의만 해주는 문제에서, 모든 경우의 수를 대비하는 것은 낭비 입니다.
이럴 때 사용할 수 있는 함수가 바로 IFERROR 입니다.

사용중인 엑셀의 버전이 낮아 SWITCH 함수를 사용할 수 없는 경우에 유용한 방식 입니다.

아래의 그림을 보신 후 설명을 읽어보시기 바랍니다.
 

수식 오류 처리 함수, IFERROR 활용 IFS 함수 보완

 
이전 글에서 사용한 예제를 그대로 활용해서 진행하겠습니다.

 
함수는 함수명과 인자로 구성되어 있습니다.
= 를 입력하고 함수명(IFERROR)를 입력한 후, 괄호를 여는 순간 함수 인자를 입력하기 위한 도움말이 나타납니다.
 

수식 오류 처리 함수 IFERROR 활용 IFS 함수 보완
수식 오류 처리 함수 IFERROR 활용 IFS 함수 보완

 
위의 그림에서 =IFERROR( 함수의 사용을 도와주는 도움말이 나타납니다.
함수에 어떤 인자를 입력해야 하는지 알려주는데요, (value, value_if_error) 의 의미는 아래와 같습니다.

value : 에러가 있는지 확인할 값을 첫 번째 인수로 입력해야 합니다. (필수 입력)
value_if_error : 첫 번째 값에 에러가 있는 경우 출력할 값을 두 번째 인수를 입력해야 합니다. (필수 입력)

 
J5 셀에 =IFERROR(IFS(I5=”수”,10,I5=”우”,5,I5=”미”,3),0) 라고 함수 수식을 입력합니다.

J5 셀에 수식을 먼저 수정한 이유는, 오류가 발생하고 있는 셀의 함수 수식을 먼저 수정하여 오류가 해결되는 것을 확인하기 위함 입니다.

그러면 결과값 0 이 출력됩니다.
나머지 학생의 가점 셀에도 함수를 복사하여 붙여넣습니다.
모든 학생의 가점이 정확하게 출력되고 있는 것을 확인할 수 있습니다.
조건식과 비교할 값은 “수”, “우”, “미” 세 개의 값 뿐 이지만, IFERROR 함수를 통해 IFS 함수 수식에 오류가 발생할 경우는 0점 으로 출력하도록 했습니다.
IFS 함수에 세 개의 조건식만 정의했는데도 오류가 발생하지 않고 모든 값이 정상적으로 출력되고 있습니다.
 

IFERROR 함수와 IFS 함수를 함께 사용해서 SWITCH 함수를 사용한 것과 동일한 효과를 얻었습니다.
하지만, 근본적으로 SWITCH 와 다른 점은 오류가 발생한 것을 IFERROR 함수를 통해 처리해준다는 점 입니다.
SWITCH 함수 사용이 가능한 경우라면 SWITCH 함수를 사용하는 것이 오류도 발생되지 않고 함수 수식도 깔끔합니다.

 
각자 간단한 예제를 만들어 사용법을 익히기 바랍니다.
 

엑셀에 관한 궁금증은 Microsoft Office 도움말 에서 해결할 수 있습니다.
Microsoft Office 도움말 바로가기

날짜 시간 함수, NOW, TODAY, 기본 활용

This entry is part [part not set] of 8 in the series 날짜 시간 함수

날짜 시간 함수, NOW

 
엑셀은 숫자를 다루는 프로그램 입니다.
1, 2, 3 과 같은 산술적인 숫자를 다루기도 하지만, 날짜와 시간을 수치화 하여 다루기도 합니다.
날짜, 시간 값은 엑셀에서 자주 사용되기 때문에 충분히 이해하고 익숙해지는 것이 중요합니다.
 
날짜 시간 함수 중 가장 기본적인 함수 중 NOW, TODAY 함수를 배우고, 간단한 응용을 통해 현재 시간을 구하는 방법을 확인하겠습니다.
 
함수는 함수명과 인자로 구성되어 있습니다.
= 를 입력하고 함수명(NOW)를 입력한 후, 괄호를 여는 순간 함수 인자를 입력하기 위한 도움말이 나타납니다.
 

날짜 시간 함수 NOW
날짜 시간 함수 NOW

 
위의 그림에서 =NOW( 함수의 사용을 도와주는 도움말이 나타납니다.
함수에 어떤 인자를 입력해야 하는지 알려주는데요, () 의 의미는 아래와 같습니다.

() : 입력할 인수가 없습니다. (즉, 함수명과 빈괄호만 입력하면 됩니다.)

 
B2 셀에 =NOW() 라고 함수 수식을 입력합니다.
그러면 B2 셀에 현재 날짜와 시간 “2018.10.10 9:59“이 출력됩니다.
함수가 입력되는 시점의 날짜와 시간이 출력되며, 함수 수식이 편집모드에서 다시 입력되어 계산되기 전 까지는 화면 출력값이 그대로 유지됩니다.
단, 파일이 새로 열릴 때 마다 새로 계산되기 때문에, 항상 현재의 날짜와 시간을 화면에 출력하고자 할 때 사용하시기 바랍니다.
현재 날짜와 시간을 입력하고 계속 유지하고자 한다면, 값을 복사한 후 같은 셀에 선택하여 붙여넣기(값) 하여 입력하시는 것이 좋습니다.
 

날짜 시간 함수, TODAY

 
함수는 함수명과 인자로 구성되어 있습니다.
= 를 입력하고 함수명(TODAY)를 입력한 후, 괄호를 여는 순간 함수 인자를 입력하기 위한 도움말이 나타납니다.
 

날짜 시간 함수 TODAY
날짜 시간 함수 TODAY

 
위의 그림에서 =TODAY( 함수의 사용을 도와주는 도움말이 나타납니다.
함수에 어떤 인자를 입력해야 하는지 알려주는데요, () 의 의미는 아래와 같습니다.
() : 입력할 인수가 없습니다. (즉, 함수명과 빈괄호만 입력하면 됩니다.)
 
C2 셀에 =TODAY() 라고 함수 수식을 입력합니다.
그러면 B2 셀에 현재 날짜와 시간 “2018.10.10“이 출력됩니다.
함수가 입력되는 시점의 날짜가 출력되며, 함수 수식이 편집모드에서 다시 입력되어 계산되기 전 까지는 화면 출력값이 그대로 유지됩니다.
단, 파일이 새로 열릴 때 마다 새로 계산되기 때문에, 항상 오늘의 날짜를 화면에 출력하고자 할 때 사용하시기 바랍니다.
특정 일자를 입력하고 계속 유지하고자 한다면 키보드 단축키를 통해 입력하시는 것이 좋습니다. (단축키 : Ctrl + 😉
 
날짜 값만 필요한 경우 TODAY, 날짜와 시간 값이 필요할 때는 NOW 를 사용하시면 됩니다.
 

현재 시간 구하기, NOW() – TODAY()

 

현재 시간 구하기 NOW() - TODAY()
현재 시간 구하기 NOW() – TODAY()

 
현재 날짜와 시간을 구하는 함수 NOW, 오늘 날짜를 구하는 함수 TODAY.
하지만, 현재 시간을 구하는 함수는 없습니다.
NOW 함수와 TODAY 함수를 활용하여 현재 시간을 출력하는 수식을 작성할 수 있습니다.
 
글의 서두에 설명했지만, 엑셀은 날짜와 시간을 수치화 하여 처리하고 있습니다.
수치화 되어 숫자로 다룰 수 있다면, 당연히 연산(간단한 수식)도 가능하다는 뜻이 됩니다.
날짜 시간 값에서 날짜를 빼면 어떤 값이 남을까요? 바로, 시간이 남습니다.
그러면, 현재 날짜 시간 값에서 현재 날짜를 빼면 어떨까요? 바로, 현재 시간이 남습니다.

즉, 수식 =NOW()-TODAY() 는 현재 시간이 된다는 뜻 입니다.

위의 그림에서 B2 셀은 =NOW(), C2 셀은 =TODAY() 수식이 입력되어 있습니다.
현재 시간 수식을 참고해서 D2 셀의 수식은 =B2-C2 가 됩니다.
물론 D2 셀에 =NOW()-TODAY() 함수 수식을 직접 입력하셔도 됩니다.
 
각자 간단한 예제를 만들어 사용법을 익히기 바랍니다.
 

엑셀에 관한 궁금증은 Microsoft Office 도움말 에서 해결할 수 있습니다.
Microsoft Office 도움말 바로가기