rand(life)
1일1함수 (43) IF함수 : 조건에 따른 값 구하기 본문
오늘은 너무나도 익숙한 IF함수입니다. 요즘 들어 날로 먹는 경향이 많다고 생각하시는 분이 있을까봐서…^^; 오늘은 사소한 주의사항 한가지를 짚고 넘어가겠습니다.
구문 IF(logical_test,value_if_true,value_if_false) logical_test TRUE나 FALSE로 평가될 수 있는 임의의 값 또는 식입니다. 예를 들어 A10=100과 같은 논리 식에서 A10 셀이 100이면 이 식은 TRUE가 되고 100이 아니면 FALSE가 됩니다. 이 인수에는 모든 비교 계산 연산자를 사용할 수 있습니다. value_if_true logical_test가 TRUE인 경우에 반환되는 값입니다. 예를 들어 이 인수가 "예산 내"라는 텍스트 문자열이고 logical_test 인수가 TRUE이면 IF 함수는 "예산 내"라는 텍스트를 표시합니다. logical_test가 TRUE이고 value_if_true가 비어 있으면 이 인수는 0을 반환합니다. TRUE라는 단어를 표시하려면 이 인수에 대해 논리값 TRUE를 사용해야 합니다. value_if_true는 또 다른 수식이 될 수 있습니다. value_if_false logical_test가 FALSE인 경우에 반환되는 값입니다. 예를 들어 이 인수가 "예산 초과"라는 문자열이고 logical_test 인수가 FALSE일 경우 IF 함수는 "예산 초과"라는 텍스트를 표시합니다. logical_test가 FALSE이고 value_if_false를 생략한 경우(즉, value_if_true 뒤에 쉼표가 없는 경우) FALSE 논리값이 반환됩니다. logical_test가 FALSE이고 value_if_false가 공백인 경우(즉, value_if_true 뒤에 괄호 다음에 쉼표가 있는 경우) 0이 값으로 반환됩니다. value_if_false는 또 다른 수식이 될 수도 있습니다. 주의
|
익숙하지만 구문이나 주의사항은 굉장히 길군요. ^^; IF함수의 구문을 간단히 쓰면 다음과 같습니다.
위의 구문만 기억하고 계시면 IF문에 대해서는 다 알고 계신 것이나 다름 없습니다.
위의 상자 안에 들어있는 설명중에서 밑줄친 부분이 어떤 의미인지 설명하면 다음과 같습니다.
logical_test가 TRUE이고 value_if_true가 비어 있으면 이 인수는 0을 반환합니다.
두 수식을 잘 비교해보시면 어떤 차이점이 있습니까? 첫번째 수식에서, "작다"앞에 쉼표가 두개 들어가 있는 것이 보이십니까? 즉, TRUE일 때 반환할 값으로 아무것도 지정하지 않았습니다. 이것 때문에 조건이 TRUE일때의 결과값으로 숫자0이 반환됩니다.
value_if_false 부분을 생략하면 조건이 거짓일 때 FALSE논리값이 반환됩니다. 하지만 value_if_false 부분을 공백으로 놔두면 숫자0이 반환됩니다.
두 수식을 잘 비교해보시면 어떤 차이점이 있습니까? 두번째 수식에서, "크다"뒤에 쉼표가 있고, 그 뒤는 아무것도 없이 괄호로 끝난 것이 보이십니까? 이것 때문에 이 IF문의 조건에 해당하는 부분이 FALSE일 때 숫자 0이 반환됩니다.
엑셀의 구석구석 잘 찾아보시면 이런 사소한 팁들이 많이 숨어있습니다. 여러해동안 함수들을 새로 만들고 수정하다보니 조금씩 이전버전의 사소한 흔적들이 남아있는 것 같습니다. 복잡하게 생각하지 마시고, TRUE일때와 FALSE일때의 결과값을 항상 지정해주는 버릇을 들이시면 아무 문제 없습니다.