빈 값 vs 빈 문자열("")

empty vs empty string("")

1. Sheets 기본 제공 수식(built-in Sheets formula) 몇 가지로 비교한다.
  • ISBLANK() : 참조된 셀이 비어 있는지 여부를 확인
  • TYPE() : 함수에 제출된 데이터 유형과 연관된 숫자를 반환(1: 숫자, 2: 텍스트, ...)
  • COUNTA() : 데이터 집합에서 값의 개수를 반환
  • EXACT() : 두 문자열이 동일한지 확인
  • EQ() : 지정된 두 개의 값이 같으면 'TRUE'를, 같지 않으면 'FALSE'를 반환
  • TOCOL() : 셀의 배열 또는 범위를 단일 열로 변환, TOCOL은 값을 스캔
  • QUERY() : 데이터에서 Google Visualization API 검색 언어로 검색을 실행
  • FILTER() : 지정된 조건을 충족하는 열 또는 행만 반환하여 원본 범위의 필터링 버전을 반환
  • IFERROR() : 첫 번째 인수가 오류 값이 아니면 첫 번째 인수를 반환하고, 오류 값이면 두 번째 인수가 있는 경우 두 번째 인수를 반환하고, 두 번째 인수가 없는 경우 비워 둠
  • IF() : 논리 표현식이 'TRUE'인 경우 특정 값을 반환하고 'FALSE'인 경우 다른 값을 반환
2. IFERROR(,) 또는 IF(,,) 함수로 빈 값(empty) 반환하기
식=IFERROR(NA(), "e")   반환: "e"
식=IFERROR(NA(),    )   반환: 빈 값
식=IFERROR( , )         반환: 빈 값

식=IF(TRUE, 1, 0)   반환: 1
식=IF(TRUE,  , 0)   반환: 빈 값
식=IF(FALSE, , 0)   반환: 0
식=IF(FALSE, ,  )   반환: 빈 값
식=IF( , , )        반환: 빈 값
3. ISBLANK() 결과
식=HSTACK("", "")                          반환: {"", ""}
식=ARRAYFORMULA(ISBLANK(HSTACK("", "")))   반환: {FALSE, FALSE}

식=HSTACK(IFERROR(,), IF(,,))                          반환: {빈 값, 빈 값}
식=ARRAYFORMULA(ISBLANK(HSTACK(IFERROR(,), IF(,,))))   반환: {TRUE, TRUE}
4. TYPE() 결과
식=HSTACK("", "")                                  반환: {"", ""}
식=MAP(HSTACK("", ""), LAMBDA(curr, TYPE(curr)))   반환: {2, 2}

식=HSTACK(IFERROR(,), IF(,,))                                  반환: {빈 값, 빈 값}
식=MAP(HSTACK(IFERROR(,), IF(,,)), LAMBDA(curr, TYPE(curr)))   반환: {1, 1}
5. COUNTA() 결과
식=HSTACK("", "")           반환: {"", ""}
식=COUNTA(HSTACK("", ""))   반환: 2

식=HSTACK(IFERROR(,), IF(,,))           반환: {빈 값, 빈 값}
식=COUNTA(HSTACK(IFERROR(,), IF(,,)))   반환: 0
6. EXACT() 결과
식=HSTACK("", "")                                                    반환: {"", ""}
식=HSTACK(IFERROR(,), IF(,,))                                        반환: {빈 값, 빈 값}
식=ARRAYFORMULA(EXACT(HSTACK("", ""), HSTACK(IFERROR(,), IF(,,))))   반환: {TRUE, TRUE}
7. EQ() 결과
식=HSTACK("", "")                                                 반환: {"", ""}
식=HSTACK(IFERROR(,), IF(,,))                                     반환: {빈 값, 빈 값}
식=ARRAYFORMULA(EQ(HSTACK("", ""), HSTACK(IFERROR(,), IF(,,))))   반환: {TRUE, TRUE}
8. TOCOL() 결과
식=HSTACK("", "")                   반환: {"", ""}
식=TOCOL(HSTACK("", ""), 1, TRUE)   반환: {"" ; ""}

식=HSTACK(IFERROR(,), IF(,,))                   반환: {빈 값, 빈 값}
식=TOCOL(HSTACK(IFERROR(,), IF(,,)), 1, TRUE)   반환: #REF! Error
9. QUERY() 결과
식=VSTACK("", "")                                       반환: {"" ; ""}
식=QUERY(VSTACK("", ""), "where Col1 is not null", 0)   반환: #NA Error

식=VSTACK(IFERROR(,), IF(,,))                                       반환: {빈 값 ; 빈 값}
식=QUERY(VSTACK(IFERROR(,), IF(,,)), "where Col1 is not null", 0)   반환: #NA Error
10. FILTER() 결과
식=HSTACK("", "")                                   반환: {"", ""}
식=FILTER(HSTACK("", ""), ISBLANK(HSTACK("", ""))   반환: #NA Error

식=HSTACK(IFERROR(,), IF(,,))                                                반환: {빈 값, 빈 값}
식=FILTER(HSTACK(IFERROR(,), IF(,,)), ISBLANK(HSTACK(IFERROR(,), IF(,,))))   반환: {빈 값, 빈 값}
11. 정리
  : Sheets 기본 제공 수식(built-in Sheets formula)에 따라 빈 값과 빈 문자열("")은 같은 듯, 다른 듯. 하지만, 엄격히 서로 다르며 목적에 따라 반드시 구분하여 사용(적용)하지 않으면 예기치 않은 결과를 초래한다.

예제시트를 열려면 여기를 클릭하여 파일을 연다. '메뉴 > 파일 > 사본 만들기'를 클릭한다.(In the menu, click File > Make a copy)
예제시트에 액세스할 수 없는 경우 여기를 마우스 오른쪽 버튼으로 클릭하고 '시크릿 창에서 링크 열기' 선택.

Comments