엑셀을 사용하다보면 if 함수를 많이 사용하게 됩니다. if 함수는 '설정된 조건'을 기준으로 '조건을 만족할 때(참)'와 '그렇지 않을 때(거짓)'에 각각 어떤 실행을 하도록 설정할 수 있습니다. 이 기능을 잘 활용하면 '분류 기준'에 따라 특정 데이터를 선택할 수 있습니다. 오늘은 if 함수를 데이터를 '필터링'하는 용도로 사용해보고자 합니다.
1. if 함수에 대해서 알아보기
if 함수는 내가 설정한 조건에 대해 참과 거짓일 경우 각각 어떻게 할 것인지 설정할 수 있습니다.
그래서 엑셀에 if 함수를 입력해보면 함수를 아래와 같이 구성해야 되는 것을 알 수 있습니다.
1) logical_test : if 함수에 적용하고자 하는 기준으로 참/거짓을 구별하기 위한 내용이라고 보시면 됩니다.
2) value_if_true : 1)번의 기준으로 '참'인 경우 어떤 연산(행동)을 할 것인지를 정해놓습니다.
3) value_if_false : 1)번의 기준으로 '거짓'인 경우 어떤 연산(행동)을 할 것인지를 정해놓습니다.
예를 들어 아래의 표에서 채소인 품목을 알고 싶어서 맨 오른쪽 열에 '분류 상 채소'를 O와 X로 표시했습니다.
우리가 알고 싶은 것은 '채소에 해당되는 지'이며 채소인 경우 O, 아닌 경우는 X로 나타나보기로 합니다.
if 함수의 구성으로 내용을 풀어서 보면 다음과 같습니다.
1) logical_test : 분류 열에 채소로 입력되어야 함
2) value_if_true : 분류 열에 채소로 입력되어 있으면 O라고 표시
3) value_if_false : 분류 열에 채소로 입력되어 있지 않으면 X라고 표시
이제 위의 내용을 함수로 바꿔줍니다. 함수는 F2 위치의 셀에 입력합니다.
=if(A2="채소", "O", "X") ※ 1) A2="채소" 2) "O" 3) "X"
F2 셀을 선택한 뒤 드래그를 통해서 F7 셀까지 함수가 적용될 수 있게 내용을 채워주게 되면 위 그림과 같이 A열(분류)에 채소로 되어 있는 것들은 O, 아닌 것들은 X라고 표시됩니다.
2. if 함수로 필터링 조건 만들어보기
예시로 보면 if 함수를 사용해 데이터를 특정 조건을 만족하는 것과 그렇지 않은 것으로 나눌 수 있겠다는 생각이 듭니다.
사실 예시와 같이 데이터가 많지 않으면 필터링을 걸어서 보는게 더 편하다고 생각합니다.
그렇지만 if 함수를 사용하는 장점은 특정 조건으로 필터링한 데이터에 추가적으로 작업(연산)을 할 수 있다는 것이고,
이 점을 활용하여 if 함수를 중복으로 사용한다면 데이터를 다양한 방법으로 보여줄 수 있게 됩니다.
예를 들어 과일과 채소를 판매하는 곳에서 특정 날짜에 특정 제품만 할인을 한다고 가정해봅니다.
그러면 오늘 할인하는 제품이 무엇이고, 가격은 얼마인지 간단하게 볼 수 있으면 좋겠다는 생각을 할 수 있습니다.
이 생각을 if 함수를 활용해서 '오늘인 5/29일에 할인하는 채소와 가격'에 대해서 한 눈에 볼 수 있게 구현해 보려고 합니다.
if 함수를 완성하려면 1) logical_test, 2) value_if_true, 3) value_if_false의 3가지 함수에 들어가야 합니다.
먼저 1)에 들어가야할 내용을 생각해보면 2가지가 있다는 것을 알 수 있습니다.
첫번째는 ①5/29일에 할인하는 제품이며, 두번째는 ② 채소여야 한다는 것입니다.
하지만 if 함수를 중복으로 사용해서 다음과 같이 표현해 볼 수 있습니다.
1) 5/29일에 할인하는 제품에 대해서 채소인지 확인
2) 5/29일에 할인하며, 채소인 제품에 대해 이름과 가격을 표시
3) 5/29일에 할인하지 않는 제품 + 5/29일에 할인하지만 채소가 아닌 제품은 표시하지 않음
위 조건을 함수에 들어갈 내용으로 작성해봅니다.
=if(E2=$G$2, if(A2="채소", B2&", "&D2, ""), "")
이렇게 보면 되게 복잡해서 함수의 구조가 눈에 잘 들어오지 않습니다. 그래서 이렇게 표현해봤습니다.
=================================================================================
=if(E2=$G$2, | ①: 오늘(5/29일)에 할인하는 품목인지 1차 필터링
if(A2="채소", | ②: ①조건이 참인 데이터에 대해서 채소인지 2차 필터링
B2&", "&D2, | ③: ② 조건이 참이면 품명(B2)과 가격(D2)을 표시
""), | ④: ② 조건이 거짓이면 아무것도 표시 안 함
"") | ⑤: ①조건이 거짓이면 아무것도 표시 안 함
=================================================================================
이렇게 함수가 연산되어 가는 흐름으로 파악해보면 그마나(?) 이해가 되지 않을까 싶습니다.
①, ② 조건을 if 함수의 중첩을 통해서 구현했고, 두 조건이 참인 경우에 원하는 데이터를 표시하도록 했습니다.
이 함수를 통해서 필터링한 결과는 다음 그림과 같습니다.
오늘(5/29일)에 할인하는 채소는 시금치이며, 가격은 1500입니다.
3. if 함수가 필터보다 좋은 이유
이번에는 if 함수를 사용해서 내가 원하는 데이터를 표시하도록 만들어보았습니다.
간단하게 확인만 하실 때는 굳이 이렇게 복잡한 과정을 거치지 않고, 필터를 통해서 보는게 편하고 빠릅니다.
그렇지만 if 함수를 잘 사용한다면 한 눈에 보기 쉽게 정리해볼 수 있어 나름 유용합니다.
특정 조건에 대해 참/거짓인 경우 각각 다른 작업을 할 수 있게 함수를 구성할 수 있어
단순히 데이터만 걸러내는 것이 아니라 추가적인 가공을 할 수 있다는 점이 if 함수의 장점이라 생각합니다.
많은 데이터 속에서 내가 원하는 조건을 만족하는 데이터를 발굴해내기 위해 if 함수를 써보시길 추천 드립니다.
'리뷰' 카테고리의 다른 글
[엑셀/Excel] vlookup 함수로 원하는 값 찾기 (0) | 2023.08.15 |
---|---|
수원 일월수목원으로 주말 나들이 가기 (0) | 2023.06.03 |
주말 가족 나들이 가기 좋은 수원 영흥수목원 (2) | 2023.05.21 |
[엑셀/Excel] sumifs 함수로 필요한 항목만 더하기 (0) | 2023.05.14 |
엑셀 / 수식 오류 문구 수정하기 ( ' 편) (0) | 2023.05.07 |