논리/엑셀 프로그래밍

16진수 비트 뒤집기 (11001111 -> 11110011)

섬그늘 2008. 11. 14. 13:20

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=hwoZOrvqsghW+Y2wUafSJuL3Y5nEaubA

 

 

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

1

 

 

 

 

 

 

1

2

4

8

1

2

4

8

 

 

 

 

 

 

0

48

2

0x3f

3

f

3

15

 

0

0

1

1

1

1

1

1

15

12

f

c

0xfc

 

a

97

3

0x98

9

8

9

8

 

1

0

0

1

1

0

0

0

1

9

1

9

0x19

 

b

98

4

0xa7

a

7

10

7

 

1

0

1

0

0

1

1

1

14

5

e

5

0xe5

 

c

99

 

B2 =MID($A2,3,1)
C2 =MID($A2,4,1)
D2 =IF(ISNUMBER(VALUE(B2)),B2,CODE(B2)-87)
E2 =IF(ISNUMBER(VALUE(C2)),C2,CODE(C2)-87)
G2 =MOD(QUOTIENT($D2,2^(4-COLUMN(A$5))),2)
K2 =MOD(QUOTIENT($E2,2^(4-COLUMN(A$5))),2)
O2 =SUMPRODUCT(K2:N2,K$1:N$1)
P2 =SUMPRODUCT(G2:J2,G$1:J$1)
Q2 =IF(O2>9,CHAR(87+O2),O2)
R2 =IF(P2>9,CHAR(87+P2),P2)
S2 ="0x"&Q2&R2

 

G2 잡아 J2까지, K2 잡아 N2까지 오른쪽으로 드래그 복사, B2:S2 잡아 아래로 드래그 복사하면 표가 완성됩니다. (U:V열은 code함수값을 보이기 위한 참조용이고 실전에서는 필요 없습니다.)