Excel

Cell의 속성을 알려주는 Cell 함수 (2)

별동산 2023. 5. 1. 08:41
반응형

다른 것은 아래 글을 읽어 보면 알 수 있으므로 생략하고,

https://lsw3210.tistory.com/entry/Cell%EC%9D%98-%EC%86%8D%EC%84%B1%EC%9D%84-%EC%95%8C%EB%A0%A4%EC%A3%BC%EB%8A%94-Cell-%ED%95%A8%EC%88%98-1 

 

아래 네 가지만 다뤄보겠습니다.

 

나. "type"

빈 셀인 경우 b(lank), 텍스트인 경우는 l(etter), 숫자, 날짜, 참과 거짓 값인 경우 v(alue)가 반환됩니다.

 

다. "contents"

참조 영역의 맨 왼쪽 위 셀의 값을 반환합니다.

 

① 단일 셀을 지정한 경우

참조로 단일 셀을 지정하는 경우는 그 셀의 값을 반환합니다.

 

A4셀이 수식이더라도 값을 반환합니다.

 

② 범위를 지정한 경우

범위의 맨 왼쪽 맨 위, 다시 말해 해당 영역의 A1셀에 해당하는 값을 반환합니다.

 

A4셀에서 C6셀까지 범위를 지정할 경우 맨 왼쪽 위 셀은 A4셀이므로 A4셀의 값이 136이 반환됩니다.

 

 

라. "filename"

 

① 파일을 저장하지 않은 경우

파일을 저장하지 않은 경우는 =CELL("filename")이라고 수식을 입력해도 '통합문서'라고 표시되지 않고, 공백이 반환됩니다.

 

Len함수로 확인해 보면 길이가 0입니다.

 

② 파일을 저장한 경우

그러나, 파일을 저장했다고 바로 파일명이 반환되지 않고,

 

A10셀에서 F2키를 누른 다음 엔터 키를 누르거나, 수식 입력줄을 마우스로 클릭해서 커서를 넣은 다음 엔터 키를 눌러야 비로소 파일명이 반환됩니다.

 

B10셀에 값이 있어서 파일명이 모두 보이지 않으므로

B10셀의 값을 Del키로 지우면

 

파일명뿐만 아니라 폴더명과 시트명까지 결합돼 반환됩니다.

 

따라서, 파일명만 추출하려면

찾을 문자의 위치를 구해주는 find함수와 문자열을 원하는 길이만큼 잘라주는 Mid함수를 이용해 구해야 합니다.

 

파일명 앞에 [가 있고, 끝에 ]가 있으므로 이것을 이용하면 됩니다.

Mid함수의 구문의 mid(참조, 시작 위치, 문자 개수)이고,

Find함수의 구문은 find(찾을 문자열, 찾을 위치, [시작 위치])이므로

수식은 아래와 같습니다.

=MID(A10,FIND("[",A10)+1,FIND("]",A10)-FIND("[",A10)-1)

 

FIND("[",A10)는 A10셀에서 [의 위치이고,

FIND("]",A10)는 ]의 위치입니다.

 

그런데 파일명은 [ 하나 다음부터 시작하고(FIND("[",A10)+1), 문자 개수이므로 ]가 있는 위치에서 [의 위치를 뺀 다음 다시 1을 빼야(FIND("]",A10)-FIND("[",A10)-1) 합니다.

 

마. "width"

열의 너비와 열 너비 수정 여부를 배열형태로 반환합니다.

 

① 열 너비를 변경하지 않은 경우

A13셀에 =CELL("width",A1)라고 입력하면

 

A13셀에는 열이 너비인 8, B13셀에는 열 너비를 수정했는지 여부로 수정하지 않았으므로 True가 반환됩니다.

A13셀과 B13셀 주변에 파란색 선이 얇게 쳐져서 배열인 것을 알 수 있습니다.

 

② 열 너비를 변경한 경우

A열과 B열 사이의 경계선을 더블 클릭해서 A열의 너비를 자동 조절하면

열은 filename 정보에 맞게 넓어졌는데, filename과 마찬가지로 바로 반영되지 않고,

 

수식 입력줄을 마우스로 클릭한 다음 엔터 키를 쳐야 열 너비가 43, 열 너비가 수정됐으므로 False가 반환됩니다.

 

A열에서 마우스 오른쪽 버튼을 누른 후 열 너비 메뉴를 눌러 확인해 보니 42.88로 표시됩니다. 

 

홈 탭에서 자릿수 늘림 명령을 눌러도 여전히 43입니다. 따라서, 정수로 반올림됐다는 것을 알 수 있습니다.

 

③ 열 너비를 기본 값으로 변경한 경우

A열의 열 너비를 기본 값인 8,38로 바꿔도 여전히 False입니다.

 

설명에는 열 너비가 기본값인 경우 True를 반환한다고 되어 있는데 이상합니다. 수정여부가 맞습니다.

 

cell함수 사용 예2.xlsx
0.01MB

반응형