nowornever

Excel 에서 문자 카운트 ! (콤마로 구분 되어있을 경우) 본문

Study

Excel 에서 문자 카운트 ! (콤마로 구분 되어있을 경우)

JohnnyKoo 2013. 5. 11. 15:24

엑셀을 사용하다 보면  문자를 세야(count) 할 경우가 생긴다.

나의 경우 Part List 에 Reference 가 자주 바뀌게 되는데 그럴 때마다 일일이 세다 보면 실수할 때가 종종 있다. 그리고 세는데 눈도 아프고.. 그래서 엑셀에서 문자를 카운트 할 수 있지 않을까 하여 폭풍 검색에 돌입했다. 역시 네이버에서 검색은 정말 어렵다.. 그래서 구글에서 영어로 검색을 했더니 유용한 커맨드를 알아냈다. 바로 LEN 함수이다.

LEN 함수는 shell 하나 혹은 여러 shell 의 range 를 정해주면 그 범위 안에서 문자열의 길이를 카운트하여 숫자로 내보내는 함수이다. 따라서

123AB가

가  A1  shell 에 있다면, =LEN(A1) 은 6 이 될 것이다. 이런 식으로는 나의 경우 PCB 의 reference 가 보통은 U1,U3 이런식이 될텐데 그렇다면

U1,U3

=LEN(A1) 은 5  가 되어버릴 것이다. 왜냐고 ? 중간에 있는 comma(콤마) 를 문자 하나로 인식하기 때문이다. 따라서 우리는 콤마를 뺀 문자열을 셀 필요가 있다.

그렇다고 실제로 콤마를 빼 버린다음에 LEN()을 해버린다면 U1U3 을 읽기 때문에 4가 되어버릴 것이다. 그런데 U1 U3 이렇게 중간에 스페이스가 한칸 있다면 5가 된다. 빈칸 하나도 문자로 인식한다는 소리다.

아 그럼 어쩌냐고? ㅎㅎㅎ 다음과 같은 비법이 있다.


자, 다시  A1 shell 에는 다음과 같이 되어있다고 하자

U1,U3

그렇다면 다음 커맨드를 한번 살펴보자.

=LEN(A1) - LEN(SUBSTITUE(A1,",","")) + 1

자 먼저, A1의 문자열의 길이는 5가 된다. 그런데 SUBSTITUE(A1,"B","C") 이 함수는 A1 안에 있는 B 문자를 C 로 바꾼다는 뜻이다. 그렇다면 이 shell 안에 있는 콤마를 모두 없애버린다는 말이 된다. 따옴표 안에 스페이스가 있어서는 안된다. 다시 말하지만 스페이스 한칸도 문자로 인식되기 때문이다. 따라서 따옴표를 연속으로 썼다는 것은 비운다는 말이다.

그럼 두번째 LEN 함수는 콤마를 뺀 나머지 문자열의 수를 읽게 된다. 그럼 계산은

5 - 4 + 1 = 2

뒤에 +1 은 단어가 2개면 중간에 콤마가 하나이니까 항상 1을 더해주면 되겠다.




'Study' 카테고리의 다른 글

추락해버리다.....ㅜㅜ  (0) 2013.05.15
Firefox 주소검색창 검색엔진 변경  (0) 2013.05.14
LED Shift ~  (0) 2013.05.08
2013 Quadcopter project  (0) 2013.05.08
CRC (Cyclic Redundancy Check) 32 program  (0) 2013.05.06