[스프레드시트] 엑셀 CREAN 함수 - 아스키코드를 제거해보자
아스키코드란?
ANSI (American National Standards Institute,미국 규격 협회) 에서 숫자를통해 문자로변환하여 표현하기위한 일종의 약속, 표준 코드를 만들어 특정 문자열로 사용하고자하는 일종의 약속체계입니다.
아스키코드표
현재는 해당 코드체계를 사용하고있으며 아래와 같이 사용되고있습니다.
0000000 |
NUL |
0100000 |
Space |
1000000 |
@ |
1100000 |
` |
0000001 |
SOH (Start of Heading) |
0100001 |
! |
1000001 |
A |
1100001 |
a |
0000010 |
STX (Start of Text) |
0100010 |
“ |
1000010 |
B |
1100010 |
b |
0000011 |
ETX (End of Text) |
0100011 |
# |
1000011 |
C |
1100011 |
c |
0000100 |
EOT (End of Transmission) |
0100100 |
$ |
1000100 |
D |
1100100 |
d |
0000101 |
ENQ (Enquiry) |
0100101 |
% |
1000101 |
E |
1100101 |
e |
0000110 |
ACK (Acknowledge) |
0100110 |
& |
1000110 |
F |
1100110 |
f |
0000111 |
BEL (Bell) |
0100111 |
‘ |
1000111 |
G |
1100111 |
g |
0001000 |
BS (Backspace) |
0101000 |
( |
1001000 |
H |
1101000 |
h |
0001001 |
HT (Horizontal Tabulation) |
0101001 |
) |
1001001 |
I |
1101001 |
i |
0001010 |
LF (Line Feed) |
0101010 |
* |
1001010 |
J |
1101010 |
j |
0001011 |
VT (Vertical Tabulation) |
0101011 |
+ |
1001011 |
K |
1101011 |
k |
0001100 |
FF (Form Feed) |
0101100 |
, |
1001100 |
L |
1101100 |
l |
0001101 |
CR (Carriage Return) |
0101101 |
- |
1001101 |
M |
1101101 |
m |
0001110 |
SO (Shift Out) |
0101110 |
. |
1001110 |
N |
1101110 |
n |
0001111 |
SI (Shift In) |
0101111 |
/ |
1001111 |
O |
1101111 |
o |
0010000 |
DLE (Data Link Escape) |
0110000 |
0 |
1010000 |
P |
1110000 |
p |
0010001 |
DC1 (Device Control 1) |
0110001 |
1 |
1010001 |
Q |
1110001 |
q |
0010010 |
DC2 (Device Control 2) |
0110010 |
2 |
1010010 |
R |
1110010 |
r |
0010011 |
DC3 (Device Control 3) |
0110011 |
3 |
1010011 |
S |
1110011 |
s |
0010100 |
DC4 (Device Control 4) |
0110100 |
4 |
1010100 |
T |
1110100 |
t |
0010101 |
NAK (Negative Acknowledge) |
0110101 |
5 |
1010101 |
U |
1110101 |
u |
0010110 |
SYN (Synchronous Idle) |
0110110 |
6 |
1010110 |
V |
1110110 |
v |
0010111 |
ETB (End of Transmission Block) |
0110111 |
7 |
1010111 |
W |
1110111 |
w |
0011000 |
CAN (Cancel) |
0111000 |
8 |
1011000 |
X |
1111000 |
x |
0011001 |
EM (End of Medium) |
0111001 |
9 |
1011001 |
Y |
1111001 |
y |
0011010 |
SUB (Substitute) |
0111010 |
: |
1011010 |
Z |
1111010 |
z |
0011011 |
ESC (Escape) |
0111011 |
; |
1011011 |
[ |
1111011 |
{ |
0011100 |
FS (File Separator) |
0111100 |
< |
1011100 |
\ |
1111100 |
| |
0011101 |
GS (Group Separator) |
0111101 |
= |
1011101 |
] |
1111101 |
} |
0011110 |
RS (Record Separator) |
0111110 |
> |
1011110 |
^ |
1111110 |
~ |
0011111 |
US (Unit Separator) |
0111111 |
? |
1011111 |
_ |
1111111 |
DEL |
아스키코드의 한계
아스키코드는 7비트의 이진수 조합으로 만들어져 총 128개의 부호만 출력이 가능할 뿐, 각 나라의 언어를 표현하기에는 제약이 생기게때문에, 이 때문에 "유니코드" 라는 코드체계가 나와 각 언어별 정의된 코드표가 나왔습니다.
▶ 유니코드 확인하러가기
[스프레드시트] 엑셀 CODE 함수 - 문자열을 유니코드값으로 변환해보자
이번시간에는 문자열을 유니코드값으로 변경하는 CODE 함수에 대해서 알아보도록 하겠습니다 유니코드란..? 유니코드란 전세계의 언어를 하나의 코드로 정의하여 하나의 고유의값으로 칭하는 코드를 말합니다. 전..
crone.tistory.com
자 서론이 길었습니다 위에서 설명드린 아스키코드를 실제 엑셀 함수를통해 제거하는 함수인 "CLEAN" 이라는 함수를 사용해도록 하겠습니다
위의 스프레드시트창에서, A열에 아스키코드(부호) 가 입력되어있는 데이터를 입력하고, B열에는 CLEAN함수를 사용하여 아스키코드(부호)를 삭제한 데이터만 반환받아 값을 확인해보도록 하겠습니다
위와같이 A1열에는 crone.tiystory.com crone.tiystory.com 이라는 값이 입력되어있습니다, 물론 띄어쓰기(엔터키값) 이 입력되어있는상태입니다.
이때 여기서 사용되는겁니다, 데이터가 한개인경우에는 금방 찾아 없앨수있겠지만 방대한 양의 데이터의경우 엔터키값을 일일히 찾아 지울수 없습니다..
자 B열에는 CLEAN함수를 대입하여 사용해보겠습니다
=clean(A1)
위와 같이 입력후.
위와같이 엔터키값을 제외하고 값이 연속으로 이어지게됩니다.
꼭, 엔터키값이 아니라도 아스키코드란에 정의된 값들중 부호 라면 무엇이든 제거가됩니다.
주로 NULL값을 찾아내거나, 엔터키값, 탭, 백스페이스, 삭제(딜리트) 값을 찾아낼때 사용하게됩니다.