스프레드 시트: 전각 문자가 섞여 있는 셀 표시하기

2025. 5. 15. 11:35IT&SW

어찌어찌하다가 셀에 전각 문자가 섞여 있는 경우 데이터로 처리할 때는 일반적인 반각 문자가 아니라서 오류의 원인이 되기도 한다. 데이터량이 많아지면 하나씩 찾아내는 것도 일이라서 눈으로 봤을 때 셀에 표시라도 되면 수정할 것인지 아닌지를 정하는데 도움이 된다. 하지만 전각문자를 찾는 함수가 없다.
결과적으로 조합된 조건부서식 함수는  =NOT(EXACT(시작셀), ASC(시작셀)))

전각 문자가 있다는 것을 알아내기 위한 고민. 함수가 그냥 있으면 되자나!!

전각 문자가 있는지 알아내는 방법

전각문자가 있는지 찾아내는 함수는 아쉽게도 없는 것 같다 (...있나?).
하지만 셀 내용을 반각 문자로 바꿔주는 ASC라는 함수는 있어서 이 함수를 이용할 방법을 고민고민. 

ASC 함수로 모든 셀을 다 반각으로 바꾸면 되지 않나?... 싶지만, 그냥 바꾸면 안 되는 경우이거나 해당 셀을 알아내는 것만 필요한 경우에는 셀의 색이라도 변하게 해서 작업자가 알려줘야 한다. 이 경우를 고민하다가...

우리는 보통 반각 문자를 사용한다. 만약 셀에 전각 문자가 섞여있다면 반각 문자로 바꿔서 바꾸기 전의 원래값과 비교했을 때 서로 다를 것이다.

1.셀의 원래값 2.셀 내용을 반각문자로 바꾼값 3.둘이 일치하는지 비교
반각문자 반각문자 같음 = 반각문자, 반각문자 
일부/전체 전각문자 반각문자 다름 = 일부/전체 전각문자, 반각문자

즉, 셀의 내용을 반각 문자로 바꿨는데 바꾸기 전과 비교해 보니 다를 경우 전각 문자가 해당 셀에 섞여 있다는 뜻이 된다.
이 방법을 사용하기 위해 반각 문자로 바꿔주는 것은 ASC, 비교하는 것은 EXACT 함수를 조합한다.

 

전각 문자를 반각 문자로 바꾸는 함수: ASC

윗 줄의 두 함수는 기본 역할이 다음과 같다.

  • ASC(셀 위치값) = 해당 셀의 내용을 반각 문자로 변환한다.
  • EXACT(A, B) = A와 B가 같으면 True, 다르면 false 값을 반환한다.
    • 예) EXACT(5, 5)의 결과는 true
    • 예) EXACT(2, 3)의 결과는 false
  1. 예) 현재값: A1.
  2. ASC(A1): 현재값 A1을 반각 문자로 바꾸기.
  3. EXACT(A1, ASC(A1)): 둘을 비교하기.

3번 함수의 결과는 1.과 2.를 비교해서 반각 문자로만 구성되었다면 True가 된다. 반대로 전각 문자가 섞여 있다면 false가 나온다.
'전각 문자가 있다면' 셀의 색을 바꿔라! 가 되어야 하므로 전각 문자가 있는 경우를 True로 바꾸기 위해 NOT으로 결과를 뒤집어 준다. 
그러면 필요한 함수는 아래처럼 되어야 한다.

  • NOT(EXACT(A1, ASC(A1)))

 이 함수를 조건부 서식(conditional formatting) > 사용자 지정 (custom formula is)에서 범위를 지정하고, 수식 부분에 넣고 색상을 지정해 주면 된다.

범위는 D4부터 X컬럼 전체로 설정한 경우의 모습.

 

반응형