도구들/엑셀

[엑셀] 엑셀에서의 IF ELSE 구문(다중 IF 함수)

cactus 2022. 5. 10. 23:45

코딩을 하다 보면, 조건문 if 이하 외의 다른 경우에 대해서는 else 이하로 작성하는데,

엑셀에서는 if else로 따로 구분하지 않는다.

엑셀에서의 입력 형식은 IF(조건문,참인경우,거짓인경우) 로, 

else 에 해당하는 구문을 '거짓인 경우' 로 입력받는다.

 

아래와 같이 날짜 형식이 여러가지로 중구난방인 날짜 컬럼을 정렬하고 싶다..

살펴보니, 년월일 제일 마지막에 "/" 가 있거나 "|" 가 있는 등 또다른 문자가 있는 경우 날짜로 인식되지 못한다.

제일 마지막 문자를 구분하여 각 경우에 따라 일괄로 날짜를 정렬하고 싶다.

마지막 문자를 경우에 따라 구분하기 위해 다중 IF 함수를 활용하려고 한다.

 

마지막, 처음 문자를 추출하는 RIGHT, LEFT 함수 관련 글은 아래 게시글 참고

https://ryuhyun.tistory.com/52?category=1035446 

 

[엑셀] 셀 텍스트 왼쪽으로부터, 오른쪽으로부터, 중간에서 일부 추출하기(LEFT, RIGHT, MID 함수)

엑셀에서 각 셀의 값을 위치 인덱싱을 통해 추출하는 방법이다. LEFT 함수는 셀의 왼쪽 끝으로부터 세고, RIGHT 함수는 오른쪽 끝으로부터, MID 함수는 중간부터 센다. LEFT, RIGHT 함수는 양 끝으로부

ryuhyun.tistory.com

 

제일 마지막 문자는 제일 오른쪽에 위치하므로, RIGHT 함수로 제일 마지막 문자를 추출해보자.

RIGHT(추출하고자 하는 셀, 추출하고자 하는 문자가 오른쪽으로부터 몇번째에 위치하는지)

 

RIGHT(셀,오른쪽으로부터의순번)

 

제일 오른쪽의 값이 "/" 인 경우, "|"인 경우, 일반 숫자인 경우(날짜형식으로 정상적으로 입력된 셀)로 구분된다.

 

"/"인 경우(IF), "|"인 경우(IF)에는 제일 오른쪽에 있는 해당 문자를 제거하고,

일반 날짜형식 셀로 입력된 경우(ELSE)는 해당 셀을 그대로 반환하는 식을 작성하고자 한다.

 

마지막 문자를 제거하는 방법은 관련 게시글 참고

https://ryuhyun.tistory.com/72?category=1035446 

 

[엑셀] 끝에서부터 n번째 글자 지우기,마지막 글자 지우기,첫 글자 지우기(LEFT,RIGHT, LEN 함수)

아래 글에서 RIGHT, LEFT, MID 함수를 통해 셀의 특정 번째 값을 추출하는 방법을 소개한 바 있는데, https://ryuhyun.tistory.com/52?category=1035446 [엑셀] 셀 텍스트 왼쪽으로부터, 오른쪽으로부터, 중간에서..

ryuhyun.tistory.com

 

위에 언급한 바와 같이 엑셀에서는 IF ELSE 를 구분하지 않고, IF(조건문,참일경우,거짓일경우) 로 구분하므로 

아래와 같은 순서로 다중 IF문 함수식을 순서대로 작성해볼 수 있다.

 

1. 마지막문자가 "/"인 경우 제일 오른쪽에 있는 문자 제거 후 반환

IF(마지막문자가 "/" 인 경우, 제일 오른쪽에 있는 문자(/) 제거, 이외의경우)

-> IF(RIGHT(해당셀,1)="/",LEFT(해당셀,LEN(해당셀)-1),해당셀)

 

2. 마지막문자가 "|"인 경우 마찬가지로 제일 오른쪽에 있는 문자 제거 후 반환

- 앞선 식에서 '이외의 경우' 부분에 새로운 IF 문을 삽입하는 형태로 된다.

IF(마지막문자가 "/" 인 경우, 제일 오른쪽에 있는 문자(/) 제거, IF(마지막문자가 "|"인 경우, 제일 오른쪽에 있는 문자(|) 제거, 이외의 경우))

-> IF(RIGHT(해당셀,1)="/",LEFT(해당셀,LEN(해당셀)-1),IF(RIGHT(해당셀,1)="|",LEFT(해당셀,LEN(해당셀)-1),해당셀))

 

 

날짜를 일괄된 형식으로 변환하는 함수는 아래 게시글 참조.

https://ryuhyun.tistory.com/73

 

[엑셀] 날짜 형식으로 변환하기(TEXT 함수, yyyy-mm-dd)

엑셀에서 yyyy-mm-dd 의 일괄된 날짜 형식으로 변환하기 위해서는 TEXT 함수를 활용할 수 있다. 년월일 형태의 숫자가 표현되어 있는 셀을 대상으로 아래와 같이 입력하면 된다. TEXT(해당셀,"yyyy-mm-dd"

ryuhyun.tistory.com

 

반응형