[목차]
1. IF()
2. 사용법 =IF(조건, 참 일 때값, 거짓일 때값)
3. 사용예시 ①
4. 사용예시 ②
5. IF 함수와 자주 함께 쓰이는 함수 (IFS, AND, OR, IN, ISBLANK)
앱시트(노 코드 툴) 유용한 함수 10가지 알아보기 네 번째!
조건 관련 함수를 알아봅시다. 만약에.. IF()
노 코드 툴인 앱시트로 앱을 구성하다 보면 조건에 따라서 특정 컬럼을 보여주거나, 감추어야 할 경우가 많습니다. 또 조건에 따라서 값을 달리 해줘야 하는 경우도 많습니다. 이럴 때 쓸 수 있는 함수가 조건 함수인 IF() 함수입니다. 앱시트 IF함수에 대해 자세히 살펴보고, IF함수와 자주 쓰이는 함수에 대해서도 함께 알아보겠습니다.
1. IF()
둘 중 하나의 조건부 평가 결과를 반환합니다. 조건값이 TRUE로 평가되면 두 번째 인수값을, 그렇지 않으면 (FALSE) 세 번째 인수값을 반환합니다.
2. 사용법
- =IF(조건, 참일 때 값, 거짓일 때 값)
IF((1 > 0), "Yes!", "No!")
0이 1보다 작으면 Yes!를Yes! 를 출력하고, 아니면 "No!"를 출력합니다. 해당 조건에서는 0은 1보다 작으므로 (참, TRUE이므로) Yes! 를 출력합니다.
3. 사용예시 ① IF(IN(WEEKDAY(TODAY()),LIST(1,7)),"오늘은 주말!", "오늘은 평일!")
IF(
IN(
WEEKDAY(TODAY()),
LIST(1, 7)
),
"오늘은 주말!",
"오늘은 평일!"
)
설명: if함수 안에
- 첫 번째 인수 IN(WEEKDAY(TODAY()),LIST(1,7)) 는 조건입니다.
- 두 번째 인수 "오늘은 주말!"은 조건이 참 일때 출력하는 값입니다.
- 세 번째 인수 "오늘은 평일!"은 조건이 거짓 일 때 출력하는 값입니다.
- IN은 첫 번째 인수에 두 번째 인수가 포함되어 있는지 판단하는 함수입니다. WEEKDAY(TODAY())에 LIST(1,7)가 들어있는지 판단합니다.
※ 2023.10.09 - [Appsheet(앱시트) 활용하기] - TODAY()등 날짜 계산_앱시트 유용한 함수 10가지 - WEEKDAY에서 1은 일요일, 7은 토요일을 의미하므로 오늘 TODAY()가 일요일이나, 토요일이면 1 혹은 7을 반환합니다. 해당 값이 리스트 안의 값(1,7)에 들어 있다면 참이 되므로,
- 참 일때 출력하는 IF함수의 두 번째 인수 값인 "오늘은 주말!"을 출력하고
- WEEKDAY에서 출력한 오늘의 날짜가 2~6 사이 값이라면 IF함수의 조건이 거짓이 되므로 세 번째 인수인 "오늘은 평일!"을 출력하게 됩니다.
4. 사용예시 ② 권한 별로 다른 값 출력하기
"회의실대여신청" 테이블의 "팀원목록"의 해당 사번에 대한 권한에 따라서
- ① "권한여부" 컬럼에 권한여부를 표시할 때 IF함수를 써보겠습니다.
- ② "비고" 컬럼에 "팀장"일 경우 해당 "부서"를 표시하고 "팀원" 일 경우 "팀장에게 요청하세요."를 입력하도록 하겠습니다.
두 가지 테이블을 예시 테이블을 준비했습니다. [테이블1: 팀원목록 / 테이블 2: 회의실대여신청]
사번 | 이름 | 부서 | 권한 | 이메일 |
20230001 | 김소사 | 교육팀 | 팀장 | sosa2448@gmail.com |
20230002 | 이사랑 | 교육팀 | 팀원 | sarang2448@gmail.com |
테이블명: 팀원목록 |
사번 | 권한여부 | 신청 회의실 | 신청 날짜 | 비고 |
20230001 | 권한 있음 | 201호 | 2023/10/15 | 교육팀 |
20230002 | 권한 없음 | 303호 | 2023/10/16 | 팀장에게 요청하세요. |
테이블명: 회의실대여신청 |
① 권한여부 컬럼에 작성하는 IF함수
if(
select(
팀원목록[권한],[사번]=[_THISROW].[사번]="팀장"
),
"권한 있음",
"권한 없음"
)
설명:
- 팀원목록 테이블에 있는 사번에서 지금 입력하고 있는 사번과 동일한 사번을 찾아, 팀원목록 테이블의 해당 사번의 권한을 가져옵니다.
- 그 권한이 "관리자"일 경우 "권한 있음"를 출력합니다.
- 관리자가 아닐 경우 "권한 없음"출력합니다.
- ② "비고" 컬럼에 "팀장"일 경우 해당 "부서"를 표시하고 "팀원" 일 경우 "팀장에게 요청하세요."를 표시
if(
[_thisrow].[권한여부]="권한 있음"
select(
팀원목록[부서],
[사번]=[_thisrow].[사번]
),
"팀장에게 요청하세요."
)
설명:
- 지금 입력하고 있는 행의 "권한여부" 컬럼의 값이 "권한 있음"인지 판단합니다.
- 해당 값이 "권한 있음" 일 경우 팀원목록테이블에서 같은 사번을 찾아 해당 사번이 속한 부서를 출력합니다.
- 해당 값이 "권한 있음"이 아닐 때에는 "팀장에게 요청하세요."를 출력합니다.
5. IF 함수와 자주 함께 쓰이는 함수 (IFS, AND, OR, IN, ISBLANK)
- IFS: 조건이 여러 개일 때 해당 조건에 따른 출력값을 설정합니다.
(조건1, 조건 1이 참일 때 값, 조건 2, 조건 2가 참일 때 값...-조건과 조건에 따른 값은 쌍으로 입력합니다.)
표현 IFS(condition1, value1, [condition2, value2 ...]) - ISBLANK: 지정된 항목 값이 비어있는지를 판단합니다. 비었으면 TRUE, 값이 있으면 FALSE
표현 ISBLANK(value), 데이터 형식은 YES/NO - AND: 두 가지 이상의 조건이 참인지를 판단합니다. 한 가지라도 참이 아니면 FALSE로 판단합니다.
표현 AND(condition1, condition2, [condition3 ...]), 데이터 형식은 YES/NO - OR: 여러 가지 조건 중 하나가 참인지를 판단합니다.
표현: OR(condition1, condition2, [condition3 ...]), 데이터 형식은 YES/NO - IN: 첫 번째 값이 두 번째 인수(리스트 형식) 안에 포함되어 있는지를 판단합니다.
표현: IN(text-to-search-for, list-to-search) , 데이터 형식은 YES/NO - IFS 함수와 ISBLANK를 함께 사용한 예시
IFS(
ISBLANK([마감일]),
"스케쥴이 없습니다.",
(TODAY() > [마감일]),
"마감일 지났습니다.",
(TODAY() = [마감일]),
"오늘이 마감일입니다.",
(TODAY() = ([마감일] - 1)),
"내일이 마감일입니다.",
TRUE,
(([마감일] - TODAY()) & "일 전입니다.")
)
* 위의 예시에 대해 설명이 필요하신 경우 댓글로 문의해 주세요.
tip. IF 함수를 작성해야 할 때도 많지만 권한에 따라 컬럼이 보일지 여부, 필수 컬럼으로 할지 여부 등을 조건에 따라서 설정할 때 IF함수 안에 작성하는 "조건"과 동일하게 작성합니다. 즉 결과 값이 YES/NO 에 해당 하는 경우 모두 "조건"으로 작성하는 것으로 보실 수 있습니다. |
하나의 복잡한 앱을 만들 수도 있지만, 작은 단위의 업무에 활용할 수 있는 가벼운 앱을 빠르게 제작할 수 있는 것도 노 코드 툴 앱시트의 큰 장점이라고 생각합니다. 처음부터 복잡한 것을 시도해 보기보다는 작은 단위의 업무를 할 수 있는 앱을 만들고, 익숙해지면 해당 앱들을 연계해 하나의 앱을 구성하는 것도 앱시트를 잘 활용할 수 있는 방법으로 생각됩니다.
*해당 게시글은 앱시트 공식 사이트의 설명을 참조하여 작성하였습니다.
'Appsheet(앱시트) 활용하기' 카테고리의 다른 글
LINKTOVIEW()등 딥링크 (다른페이지 연결) 함수_앱시트 유용한 함수 10가지 (2) | 2023.10.15 |
---|---|
LIST()등 리스트 속성 함수_앱시트 유용한 함수 10가지 (2) | 2023.10.08 |
TODAY()등 날짜 계산_앱시트 유용한 함수 10가지 (0) | 2023.10.04 |
앱시트 유용한 함수 10가지 UNIQUEID (0) | 2023.10.03 |
앱시트App Sheet에서 자주 사용하는 함수 10가지 SELECT함수 (2) | 2023.10.02 |