나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 조삿갓 (choga21)

추천:  2
파일:     한2로_개선.xlsm (17.9KB) 조회:  2079
제목:   [RE]한글 로마자 표현
     
  엑셀 : 2016

한글을 로마자로 표현하고 싶습니다.
과거 질문해서 답변 받았는데, 너무 오래된거라 검색이 안됩니다.

한글 > 로마자로 표현
원본이 한글123, 한글abc 한글)  << 이렇게 된 글자는 변환이 안돼요.

고수님 첨부파일 올려드립니다.


==============[네옹이님 글에 대한 답변입니다]==============

첨부파일 참고 바랍니다.

원리: 유니코드에서 한글은 AC00부터 D7A3까지 총 11,172바이트를 차지합니다.
변환할 글자가 위 범위에 있는 경우만 로마자 변환 루틴을 돌고
위 범위를 벗어나면 그냥 그 글자를 그대로 출력해주면 되겠지요.

아울러, 코드를 살펴보니 몇 군데 비효율성이 눈에 띄어 수정하였습니다.

1) 굳이 반복루프가 필요하지 않고 순차 처리를 해도 되는 부분을
   반복루프를 돌면서 IF ELSE 구문을 썼네요.
   그냥 초성-중성-종성을 차례로 코딩하는 것이
   코딩도 효율적이고 실행 속도도 개선됩니다.

2) 21(중성의 개수), 28(종성의 개수), 21 * 28(초성 코드 시작점)
   등 반복루프 안에서 자주 사용되는 상수 값들은
   반복루프에 진입하기 전에 미리 계산해 두고
   상수 또는 변수로 미리 정의해 두면 속도를 개선할 수 있습니다.
 
[불량 게시물 신고]  
네옹이감사합니다.
종성의 갓 gas 대신 gat으로만 해결하면 거의 완벽하네요.
많은 도움이 되었습니다.
11-02 (00:19)
삭제 ■신고
        
  

작성일 : 2017-10-29(21:47)
최종수정일 : 2017-10-29(21:47)
 


 ◎ 관련글

  제 목   작성자   날짜
한글 로마자 표현 네옹이 2017-10-29
[RE]한글 로마자 표현 조삿갓 2017-10-29