레이블이 Excel_Word_PowerPoint인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Excel_Word_PowerPoint인 게시물을 표시합니다. 모든 게시물 표시

2025-02-22

엑셀 파일 크기 줄이기, 실전 노하우 완벽 정리

엑셀 파일 크기 줄이기, 실전 노하우 완벽 정리

가장 효과적인 방법! xlsb 형식으로 저장하기

엑셀의 파일 저장 기본 형식인 (*.xls, *xlsx)을 바이너리 파일(*.xlsb)로 변경하면 최소 10% ~ 최대 35% 까지 파일 용량을 압축 할 수 있습니다.


오빠두Tip : 엑셀은 기본적으로 XML 구조로 데이터를 관리하는데, XML 에는 태그와 같은 구조 정보가 함께 포함되어 다양한 프로그램과 호환성이 높은 장점 이 있습니다. 하지만 파일 용량이 다소 커지는 단점 도 있어서, 파일의 용량을 줄이는 것이 목적일 경우 파일을 바이너리(*.xlsb)로 저장하면 파일 크기를 쉽고 빠르게 압축할 수 있습니다.

방법은 아주 간단합니다! [파일] 탭 - [다른 이름으로 저장]에서 저장할 파일 형식으로  "Excel 바이너리 통합문서 (*.xlsb)"를 선택 하고 저장하면 끝입니다.

다른 이름으로 저장 → 바이너리 파일로 저장합니다.

예제 파일을 바이너리 형식으로 저장하면, 24MB → 14MB 로 약 40% 가량 압축 된 것을 알 수 있습니다.

바이너리 파일로 저장해서 파일 크기를 줄일 수 있습니다.

파일을 바이너리 형식(*.xlsb) 사용 시 주의사항과 장/단점 비교는 다음과 같습니다.

장점
1. 가장 쉽고 빠르게 파일의 크기를 줄일 수 있으며, 별도의 파일로 저장되므로 문제가 생길 경우 이전 파일로 쉽게 복구할 수 있습니다.
2. 바이너리 파일은 기존 엑셀 파일보다 읽기 및 쓰기 속도가 빠릅니다. 특히, 대용량 데이터에서 더욱 빠르게 동작 합니다.
3. VBA 매크로를 그대로 유지하여 사용할 수 있습니다.
1. XML 파일은 외부 프로그램과의 호환성이 좋은 반면, 바이너리 파일은 호환성이 다소 떨어질 수 있습니다.
2. 바이너리 파일은 파워쿼리/파워피벗을 지원하지 않습니다.

피벗테이블 원본 데이터 설정하기

피벗테이블을 사용한 엑셀 파일은 피벗테이블의 원본 데이터 설정을 변경해서 용량을 크게 압축할 수 있습니다.


엑셀에서 피벗테이블을 생성하면 화면에는 보이지 않는 '피벗 캐시'라는 데이터 복제본, 즉 임시 데이터가 피벗테이블과 연결됩니다. 그리고 피벗테이블은 원본데이터 대신 피벗 캐시에서 데이터를 읽어옵니다. 즉, 피벗테이블을 생성하면 원본 데이터 + 피벗캐시로 중복된 데이터가 만들어집니다.

피벗테이블을 생성하면 '피벗캐시'라는 임시데이터가 같이 생성됩니다.

'피벗캐시'는 피벗테이블의 슬라이서, 보고서연결 등 여러 피벗테이블의 효율적인 동작을 지원합니다. 하지만 피벗테이블을 단순 보고서 목적으로 사용한다면 피벗테이블의 원본 데이터 설정을 변경해서 파일 크기를 크게 압축 할 수 있습니다.


1. 원본데이터 시트를 유지하고 파일 압축하기 (권장)
  1. 피벗테이블을 우클릭 한 후, [피벗테이블 옵션] 으로 이동 합니다.
    '피벗테이블 옵션'으로 이동합니다.
  2. 새로운 창이 실행되면, [데이터] 탭에서  '파일 원본데이터 저장'을 체크 해제 하고  '파일을 열 때 데이터 새로고침' 을 체크 합니다. 이후 [확인] 버튼을 클릭해서 설정을 종료합니다.
    '데이터' 탭으로 이동한 뒤, 피벗테이블 설정을 변경합니다.
  3. 파일을 저장하면 파일의 크기가 압축된 것을 확인할 수 있습니다. 예제파일의 경우 기존 19MB → 14MB로 24% 가량 압축 된 것을 확인할 수 있습니다.
    피벗 테이블 캐시를 제거해서 파일 크기를 줄일 수 있습니다.
2. 원본 데이터 시트를 완전히 제거하기

피벗테이블의 원본 데이터가 입력된 시트를 완전히 삭제하면, 피벗 캐시의 원본 데이터를 저장하지 않는 방법보다 더욱 효과적으로 파일을 압축할 수 있습니다. 단, 원본데이터를 삭제하기 전에 반드시 '백업파일'을 저장 하도록 합니다.

  1. 피벗 테이블의 원본데이터가 작성된 시트를 우클릭 → [삭제]를 클릭 해서 시트를 삭제합니다.
    피벗테이블의 원본 데이터가 작성된 시트를 삭제합니다.
    오빠두Tip : 만약 전 단계에서 '원본 데이터 저장' 설정을 변경했다면, 기본 설정으로 변경 후 원본 데이터 시트를 삭제합니다.
  2. 원본 데이터 시트를 삭제하였으므로, [다른 이름 저장]에서 사본으로 파일을 저장 합니다.
  3. 파일을 저장 후 용량을 확인하면 기존 19MB →7MB로 약 60.7% 가량 파일이 압축 된 것을 확인할 수 있습니다.
    피벗테이블의 원본 데이터 시트를 삭제해서 파일 크기를 줄일 수 있습니다.

화질 이미지 압축하기

인터넷에서 다운로드 받은 고화질의 이미지를 압축 없이 그대로 엑셀 파일에 삽입하면, 파일의 용량이 급격히 커지는 문제가 발생합니다. 이러한 문제를 예방하기 위해서 엑셀에는 '이미지 압축' 기능이 기본으로 내장되어 있으며, TinyPNG 와 같은 무료 온라인 이미지 압축툴을 사용하면 품질은 유지한 상태로 이미지를 압축할 수 있습니다.

  1. 예제파일에서 압축할 그림을 선택한 후, [그림 서식] - [그림 압축] 으로 이동 합니다.
    그림 서식 - 그림 압축 옵션으로 이동합니다.
  2. [그림 압축] 대화상자가 실행되면 해상도를 전자메일(96ppi)로 변경 합니다. 나머지 그림도 동일한 해상도로 변경합니다.
    그림의 해상도를 전자메일 수준으로 변경합니다.
    오빠두Tip : 단, IMAGE 함수와 셀 안에 이미지로 첨부한 이미지는 항상 원본 해상도로 첨부되며 해상도를 변경할 수 없습니다.
  3. 파일을 저장한 후 용량을 확인하면 기존 19MB → 14MB로 약 23.4% 가량 압축 된 것을 확인할 수 있습니다. 줄어드는 용량은 첨부한 이미지가 많을 수록 증가합니다.
    첨부된 그림의 크기를 압축해서 파일의 크기를 줄일 수 있습니다.

불필요한 함수를 값으로 변경하기

만약 공유하는 파일이 최종본이라면 파일을 공유하기 전 불필요한 함수를 제거해서 파일 크기를 압축할 수 있습니다. 단, 함수를 값으로 변경하고 파일을 저장하면 기존에 사용하던 수식을 복구할 수 없으므로, 반드시 '복사본'으로 저장하는 것을 주의 합니다.

  1. 먼저 시트에 사용된 수식을 확인합니다. [수식] 탭 - [수식표시]를 클릭 하거나 단축키Ctrl+'(키보드 위쪽 숫자키 '1'의 왼쪽키)를 누르면 수식이 모두 표시됩니다.
    [수식 표시] 옵션을 활성화하면 시트에 사용된 수식을 표시할 수 있습니다.
  2. 또는 [홈] - [찾기 및 선택] - [이동옵션] 에서 '수식'을 선택 한 후, [확인] 을 누르면 시트에서 수식으로 작성된 모든 셀을 한 번에 선택할 수 있습니다.
    이동 옵션 - 수식을 선택해서 수식으로 작성된 범위만 한 번에 선택할 수 있습니다.
  3. 수식이 작성된 범위를 선택하고 Ctrl + C 로 복사한 후, Ctrl + Alt + V 로 선택하여 붙여넣기를 실행합니다. 선택하여 붙여넣기 대화상자가 실행되면 '값'을 선택하고 [확인] 버튼 을 클릭합니다.
    수식 범위를 복사 → 선택하여 붙여넣기에서 값 형태로 붙여넣습니다.
  4. 나머지 수식으로 작성된 범위도 모두 값으로 변경한 후, 파일을 복사본으로 저장 합니다.
  5. 저장된 파일의 용량을 확인하면 기존 19MB → 17MB로 압축된 것을 확인 할 수 있습니다.
    함수를 값으로 변경해서 파일 크기를 줄일 수 있습니다.

불필요한 시트 제거하기

만약 파일 안에 필요하지 않은 숨겨진 시트가 있다면 시트를 제거하여 파일 크기를 절약할 수 있습니다. ( 시트 제거 후, 반드시 사본으로 저장하는 것을 주의 하세요!)

  1. 파일의 시트 목록에서 아무 시트를 하나 우클릭합니다. 우클릭 메뉴에 [숨기기 취소] 옵션이 활성화 되어 있다면 숨겨진 시트가 있는 것 이므로 확인이 필요합니다.
    시트 우클릭 메뉴에 '숨기기 취소'가 활성화 되었다면, 숨겨진 시트가 있는 것 입니다.
  2. [숨기기 취소]를 선택해서 숨겨진 시트를 표시합니다.
  3. "2017-2019" 데이터는 이번 보고서에 필요하지 않으므로 시트를 제거합니다. 이후 파일을 저장합니다.
    숨겨진 시트를 표시한 후, 불필요하다면 시트를 삭제합니다.
  4. 파일 저장한 후 용량을 확인하면 기존 19MB → 16MB로 약 15.4% 가량 압축 된 것을 확인할 수 있습니다.
    불필요한 시트를 삭제해서 파일 크기를 줄일 수 있습니다.
  5. 바이너리 파일 저장과 피벗테이블 원본데이터 설정 등 모든 파일 압축 과정을 적용하면 최초 24MB → 4MB로 약 81%의 파일 용량을 압축 할 수 있습니다.
    파일 크기를 줄이는 모든 단계를 적용하면, 약 80% 이상의 크기를 압축할 수 있습니다.


2025-02-10

엑셀 URL 인코딩(encode) 및 디코딩(decode) 함수 excel function [VBA]

엑셀 URL 인코딩(encode) 및 디코딩(decode) 함수 excel function [VBA]
출처: https://cocosoft.kr/442 [코코소프트:티스토리]

안녕하세요. 오늘은 엑셀의 URL 인코딩과 디코딩 함수에 대해서 알아보겠습니다.
( excel url encode decode )


엑셀2013 부터는
ENCODEURL 함수
가 포함되어있습니다.

하지만 따로 decode함수는 없습니다. 그래서 사용자정의함수 설정을 해주어야합니다.

사용자 정의함수를 사용하기 위해서 VBA 를 켜줍시다.
단축키

Alt
+
F11

를 누르거나, 아래와 같이 리본메뉴를 추가해주면 됩니다.

1. VBA 실행 후 모듈추가

Alt
+
F11

를 누르거나 개발도구탭을 통해서 VBA 편집기로 접속해줍니다.

해당 엑셀파일 문서에서 다음과 같이 모듈을 추가해줍니다.


아래와 같이 입력하면 됩니다.

ENCODEURL 함수와 DECODEURL 함수입니다.


Markup

Function ENCODEURL(varText As Variant, Optional blnEncode = True)
Static objHtmlfile As Object
If objHtmlfile Is Nothing Then
Set objHtmlfile = CreateObject("htmlfile")
With objHtmlfile.parentWindow
.execScript "function encode(s) {return encodeURIComponent(s)}", "jscript"
End With
End If
If blnEncode Then
ENCODEURL = objHtmlfile.parentWindow.encode(varText)
End If
End Function

Function DECODEURL(varText As Variant, Optional blnEncode = True)
Static objHtmlfile As Object
If objHtmlfile Is Nothing Then
Set objHtmlfile = CreateObject("htmlfile")
With objHtmlfile.parentWindow
.execScript "function decode(s) {return decodeURIComponent(s)}", "jscript"
End With
End If
If blnEncode Then
DECODEURL = objHtmlfile.parentWindow.decode(varText)
End If
End Function


2. 사용예


2024-11-27

엑셀(EXCEL) 도형에 수식을 넣기, 셀값을 참조해서 도형에 텍스트 넣기

엑셀(EXCEL) 도형에 수식을 넣기, 셀값을 참조해서 도형에 텍스트 넣기 

*출처 : https://toast-story.tistory.com/64


엑셀에서 셀에 텍스트를 넣어도 되지만, 표라는게 가끔 장애가 되고는 합니다.
도형에 텍스트를 넣으면 표현에 유리합니다. 여기에 자동으로 숫자 몇개가 알아서 변경되면 편리할 수도 있겠네요.
자주쓰는 기능은 아니지만 도형에 수식을 넣는 방법을 알아보겠습니다.

1. 도형에 수식 넣기

① 텍스트가 없는 빈 도형을 선택합니다.
텍스트가 있는 도형에 수식을 넣으면 어차피 없어집니다.
빈 도형을 사용하는 것이 적합합니다.


② 수식창에서 = 를 입력하고 셀을 선택합니다.

도형을 선택한 상태에서 수식창을 마우스로 선택하고 =을 입력합니다.
이렇게 하면 강제로 셀과 그림이 연결됩니다.

이제 그림에는 텍스트를 입력하지 마시고 셀에 값을 변경합니다.


2. 수식을 넣기

도형에 "=셀주소"를 입력할 수 있다고해서 평범하게 함수를 사용할 수 있는 것은 아닙니다.

오로지 셀주소만 넣을 수 있습니다.

따라서 수식은 연결된 셀에 입력해야 합니다.


3. 여러가지 값을 넣는 & 연산자 활용하기

도형에 숫자 하나만 넣으면 너무 허전합니다.

여러 개의 문자와 숫자를 입력할 수 있어야 한 개 셀에 여러개의 값을 참조 가능하게 해주는 &를 사용합니다.

아래 예시를 보시면 바로 알 수 있습니다.

이건 &와 "" 연산자, TEXT 함수까지 3개의 기능이 합쳐진 콤비네이션이죠.


4. CHAR 함수 활용해서 줄 바꾸기 입력

CHAR 함수까지 활용하면 이제 제대로 꾸밀수 있습니다.
우선 CHAR 함수는 ANSI 코드 문자를 불러냅니다.

CHAR(숫자) : Window 운영체제 기준으로 ANSI 코드의 값을 출력합니다.(맥에서는 맥 문자코드가 출력됩니다.)
이 글은 Window 기준으로 작성하고 있습니다.

입력할 대상은 CHAR(09) : 가로 탭,  CHAR(10) : 줄 바꾸기 입니다.

이제 입력할 대상을 다 모였습니다.

이렇게 입력하면 앞으로는 이 박스는 알아서 값이 변합니다.


하지만 보시는 것처럼 수식이 상당히 깁니다. 이럼 실수할 여지도 많고요.
=B12&" : "&TEXT(C12,"YY-MM-DD")&CHAR(10)&B13&" : "&C13&CHAR(10)&E12&" : "&F12&CHAR(10)&IF(F12>=C13,"달성","미달성")

자주 사용할 만한 기능은 안되지만 유용한 기능입니다.



엑셀 수식으로 줄 바꾸기, 한 줄 띄우기 CHAR 함수 !

엑셀 수식으로 줄 바꾸기, 한 줄 띄우기 CHAR 함수 !



엑셀 수식으로 줄 띄우기 (줄 바꾸기) 를 알려드리겠습니다.

일반적으로 그냥 셀 내부에서 줄 띄우기를 하시려면
Alt + Enter 를 하면 셀 내부에서 한 줄이 띄워지게 됩니다.

하지만 많은 양의 데이터를 셀을 조합해서
한 줄 띄우기를 할 때는 어떻게 하면 좋을까요 !


저는 A7, B7, C7, D7 을

수식을 이용해서 한 셀에 써 보도록 할게요.

=A7&CHAR(10)&B7&CHAR(10)&C7&CHAR(10)&D7

이렇게 수식을 써 주시면 됩니다.

CHAR(10) 이 부분이 셀 내부에서
한 줄을 띄워주는 역할을 하는 부분입니다.

그런데 이미지를 보니까 줄이 안띄워져 있네요?? 왜죠????

한 가지 단계가 더 남았습니다 !

바로 홈 메뉴에 있는 텍스트 줄 바꿈 아이콘을
눌러주셔야 줄이 바뀌게 되는데요 !

짜잔 ~

셀 내부에서 텍스트 줄 바꾸기가 완료됐네요 !

어렵지 않아요 ^^

2024-11-14

구글 스프레스드시트로 블로그 사이트맵 관리 & 주소 디코딩

구글 스프레스드시트로 블로그 사이트맵 관리 & 주소 디코딩


여러 블로그를 운영하게 되면 그것들을 체계적으로 관리하는 방법도 준비해야 합니다. 

그 중에 가장 기본은 내가 작성한 콘텐츠들을 한 눈에 볼 수 있게 해 주는 사이트맵을 관리하는 것이죠. 여러 블로그에 산발적으로 적어놓은 콘텐츠들 주소를 모아서 보면 조금이라도 관리가 편해집니다.

목차

구글 스프레드시트 사이트맵 관리

사이트맵 XML파일을 엑셀로 관리해 보기 위해 며칠 간 열심히 검색을 해 봤는데, 블로그주소만 입력하면 사이트맵을 알아서 긁어오는 솔루션이 마음에 드는게 없더군요.

꼭 사이트맵을 사용하지 않아도 내 블로그 글들을 모아보는 방법은 있긴 합니다. RSS 피드를 자동으로 업데이트 해서 보여주는 솔루션인 Feeder 또는 Feedly를 이용하면 내 블로그들의 최신 콘텐츠들을 볼 수 있습니다. 관련 내용은 아래 링크에서 확인 가능합니다.


고수의 향기가 전혀 느껴지지 않는 서브 블로그들이지만, 따로 관리하는 구글 계정 등으로 feedly를 등록해 놓고 내 사이트만 모두 모아놓으면 피드를 모아서 보여주는 곳에서 알아서 업데이트를 해 주긴 합니다.

이 방식도 괜찮다고 생각하지만, 저는 엑셀 테이블 방식으로 제 글들을 모아서 보여주고, 구글 서치콘솔에 제대로 등록은 되어 있는지 여부도 함께 체크해 볼 수 있도록 테이블을 만들고 싶었습니다.

찾아보니 아주 쉽게 사이트맵을 구글 스프레드시트(엑셀)로 볼 수 있는 솔루션을 누가 만들어 놓았더군요. 그럼 어떻게 하면 되는지 차근차근 따라와 보세요.

구글 스프레드시트 확장프로그램 설치

가장 먼저 해야 할 것은 구글 스프레드 시트에 '확장 프로그램'을 하나 설치해야 합니다. 생각보다 유용해 보이는 기능이 정말 많은데, 우선은 사이트맵 처리가 가장 우선이므로 해당 기능을 해 주는 것을 설치하는 것입니다. 전체 과정은 아래와 같습니다.

1. 확장 프로그램 설치 클릭
2. 부가기능 설치하기
3. sitemap 으로 검색해서 'keywords in Sheets' 설치
4. 구글 권한 확인 승인 후 설치 완료

확장 프로그램의 설치는 구글 스프레드시트를 사용하는 구글 계정에 필요한 권한 승인만 해 주면 바로 설치가 됩니다. 설치는 누구나 클릭 몇 번이면 하는 완전 초보 수준입니다.

 

1. 확장프로그램 설치

구글 스프레드시트의 메뉴 중 우측 도움말 옆에 있는 '확장 프로그램' 설치로 들어갑니다.

 

2. 부가기능 설치하기

부가기능 설치하기를 클릭하면 새로운 창이 하나 뜹니다. 그곳에서 다음 단계를 진행합니다.


3. 사이트맵이라고 검색해서 나오는 부가기능 설치

sitemap이라고 검색을 하면 2022년 8월 기준으로 4개의 부가기능이 나옵니다. 그 중에 위에서 표시한 것과 같이 'Keywords in Sheets'를 클릭합니다.  구글 스프레드시트라고 글을 쓰고 있지만 영어로는 Sheets 로만 사용합니다. 핸드폰 앱에서는 '스프레드시트'로 되어 있습니다.

이 부가기능은 PC에서만 사용이 됩니다. 이 기능을 설치핸 계정이라고 해도 모바일앱에서는 기능이 작동하지 않습니다. (어차피 보기가 너무 힘들기 때문에 모바일에서 볼 일도 없습니다.)

 

4. 설치창이 뜨게 되고 설치를 합니다.

설치 버튼을 누르고 안내되는 것에 따라 설치를 마치면 됩니다.

 

5. 설치확인

설치가 된 것을 '확장 프로그램'을 눌러서 확인할 수 있습니다.

스프레드시트에 사이트맵 불러오기

이제 확장프로그램을 설치함으로써, 우리는 sitemap이라는 새로운 함수를 쓸 수 있습니다. 입력값은 아주 심플합니다. 사이트맵 주소만 있으면 됩니다.

사이트맵 함수의 사용법은 아주 심플합니다.

=sitemap("불러올 사이트맵 주소")

이것만 입력하면 됩니다. 저는 여러 블로그로 확장까지 염두에 두고 있는 것이므로 사이트맵 주소값을 넣는 셀을 따로 만들고 해당 주소를 입력값으로 넣게 구조를 만들었습니다. (그래봐야 행 2개입니다.)

 

1. 사이트맵 주소를 넣고

   


2. 사이트맵 함수로 위 주소를 넣어주면

사이트맵 주소를 만들어 놓고, 해당 사이트맵을 읽어오게 하면 잠시 로딩을 한 이후 바로 불러들인 값들이 바로 나오게 됩니다. 아래와 같이 제 블로그의 사이트맵에 등록된 모든 URL이 세로로 붙게 됩니다.

 

3. 사이트맵 로딩 완료

하지만 위 이미지에서 볼 수 있듯이, 알 수 없는 문자들이 가득합니다. 이것은 한글로 된 주소가 있을 경우 URL이 인코딩이 되어서 그렇습니다. 

이 상태로 관리해도 아무 문제는 없습니다. 저렇게 인코딩 된 상태로 한글 주소가 보이는 아주 신기한 능력이 있으신 분도 있으실지도요?

 

4. 암호같이 인코딩된 한글 URL

하지만 대부분은 그런 능력이 없습니다. 그래서 우리는 컴퓨터만 이해하고 있는 인코딩된 URL을 디코딩해서 한글로 바꿔줄 필요가 있습니다. 이제 3단계로 가는 것이죠.

인코딩된 한글 URL 디코딩하기

제 블로그의 글주소는 숫자를 사용하고 있지만 카테고리는 한글로 만들어 놓았기 때문에 카테고리 URL들이 모두 인코딩 된 상태입니다.

이것은 아주 쉽게 디코딩 할 수 있습니다. 아래 URL 디코더/인코더 사이트를 통해서 바로 변환이 가능합니다.


엑셀과 구글 스프레드시트에는 한글로 된 URL을 인코딩 시켜주는 함수 ENCODEURL은 있습니다만, 거꾸로 만들어주는 DECODEURL 함수는 없습니다. 제 글을 보고 마이크로소프트와 구글에서는 해당 함수도 만들어주시기를 건의드립니다.

위에 링크로 넣은 사이트에 한글이 깨진 URL이 들어간 셀을 쭉 긁어서 복사를 합니다. 셀로 되어 있는 값이지만, 그냥 붙여넣기를 하면 알아서 줄바꿈 된 텍스트로 들어갑니다.

 

인코딩된 URL을 붙여넣기

위와 같이 인코딩된 것을 구글 스프레드시트에서 그냥 복사(CTRL+C)하고 붙여넣기(CTRL+V)를 했습니다. 우리는 이것을 '디코드' 시켜야 합니다. 그래야 우리 눈에도 한글로 보이는 주소로 바뀝니다.

아래에 있는 버튼 중 뭘 눌러야 하는지 알겠죠? 'Decode' 버튼을 눌러줍니다.

 

URL이 한글로 디코드 되었음

URL이 이제 우리가 알 수 있는 한글로 디코딩 되었습니다. 이제 디코딩 된 것을 아까 봤던 구글 스프레드시트로 옮겨주면 모든 과정이 끝납니다.

 

전체를 복사하고

CTRL+A를 눌러서 전체선택을 해 주고 복사를 합니다. 엑셀에는 알아서 자동으로 행이 떨어지도록 붙으니까 그냥 복사하면 됩니다.

 


인코딩된 URL 옆에 붙여넣기

편의상 아까 인코딩된 주소로 된 것은 그대로 그 옆의 열에 디코딩 된 주소를 붙여줍니다. 이렇게 하면 내 사이트에 있는 글들의 제목을 일목요연하게 볼 수 있게 됩니다.

여러 블로그가 있다면, 위와 같은 과정으로 각 블로그마다 사이트맵을 불러와서 주소를 관리를 해 주면 될 것입니다. 블로그마다 하나의 시트로 하든, 한 시트에 모든 블로그를 넣든 그것은 하시는 분 마음이겠지요.

저도 일단 여기까지만 만들어 놓은 상황이라, 이후 효율적인 관리 방법이 생각나면 다시 노하우 공유로 돌아오겠습니다.



구글 스프레스드시트로 블로그 사이트맵 관리 & 주소 디코딩


여러 블로그를 운영하게 되면 그것들을 체계적으로 관리하는 방법도 준비해야 합니다. 

그 중에 가장 기본은 내가 작성한 콘텐츠들을 한 눈에 볼 수 있게 해 주는 사이트맵을 관리하는 것이죠. 여러 블로그에 산발적으로 적어놓은 콘텐츠들 주소를 모아서 보면 조금이라도 관리가 편해집니다.

목차

구글 스프레드시트 사이트맵 관리

사이트맵 XML파일을 엑셀로 관리해 보기 위해 며칠 간 열심히 검색을 해 봤는데, 블로그주소만 입력하면 사이트맵을 알아서 긁어오는 솔루션이 마음에 드는게 없더군요.

꼭 사이트맵을 사용하지 않아도 내 블로그 글들을 모아보는 방법은 있긴 합니다. RSS 피드를 자동으로 업데이트 해서 보여주는 솔루션인 Feeder 또는 Feedly를 이용하면 내 블로그들의 최신 콘텐츠들을 볼 수 있습니다. 관련 내용은 아래 링크에서 확인 가능합니다.


고수의 향기가 전혀 느껴지지 않는 서브 블로그들이지만, 따로 관리하는 구글 계정 등으로 feedly를 등록해 놓고 내 사이트만 모두 모아놓으면 피드를 모아서 보여주는 곳에서 알아서 업데이트를 해 주긴 합니다.

이 방식도 괜찮다고 생각하지만, 저는 엑셀 테이블 방식으로 제 글들을 모아서 보여주고, 구글 서치콘솔에 제대로 등록은 되어 있는지 여부도 함께 체크해 볼 수 있도록 테이블을 만들고 싶었습니다.

찾아보니 아주 쉽게 사이트맵을 구글 스프레드시트(엑셀)로 볼 수 있는 솔루션을 누가 만들어 놓았더군요. 그럼 어떻게 하면 되는지 차근차근 따라와 보세요.

구글 스프레드시트 확장프로그램 설치

가장 먼저 해야 할 것은 구글 스프레드 시트에 '확장 프로그램'을 하나 설치해야 합니다. 생각보다 유용해 보이는 기능이 정말 많은데, 우선은 사이트맵 처리가 가장 우선이므로 해당 기능을 해 주는 것을 설치하는 것입니다. 전체 과정은 아래와 같습니다.

1. 확장 프로그램 설치 클릭
2. 부가기능 설치하기
3. sitemap 으로 검색해서 'keywords in Sheets' 설치
4. 구글 권한 확인 승인 후 설치 완료

확장 프로그램의 설치는 구글 스프레드시트를 사용하는 구글 계정에 필요한 권한 승인만 해 주면 바로 설치가 됩니다. 설치는 누구나 클릭 몇 번이면 하는 완전 초보 수준입니다.

 

1. 확장프로그램 설치

구글 스프레드시트의 메뉴 중 우측 도움말 옆에 있는 '확장 프로그램' 설치로 들어갑니다.

 

2. 부가기능 설치하기

부가기능 설치하기를 클릭하면 새로운 창이 하나 뜹니다. 그곳에서 다음 단계를 진행합니다.


3. 사이트맵이라고 검색해서 나오는 부가기능 설치

sitemap이라고 검색을 하면 2022년 8월 기준으로 4개의 부가기능이 나옵니다. 그 중에 위에서 표시한 것과 같이 'Keywords in Sheets'를 클릭합니다.  구글 스프레드시트라고 글을 쓰고 있지만 영어로는 Sheets 로만 사용합니다. 핸드폰 앱에서는 '스프레드시트'로 되어 있습니다.

이 부가기능은 PC에서만 사용이 됩니다. 이 기능을 설치핸 계정이라고 해도 모바일앱에서는 기능이 작동하지 않습니다. (어차피 보기가 너무 힘들기 때문에 모바일에서 볼 일도 없습니다.)

 

4. 설치창이 뜨게 되고 설치를 합니다.

설치 버튼을 누르고 안내되는 것에 따라 설치를 마치면 됩니다.

 

5. 설치확인

설치가 된 것을 '확장 프로그램'을 눌러서 확인할 수 있습니다.

스프레드시트에 사이트맵 불러오기

이제 확장프로그램을 설치함으로써, 우리는 sitemap이라는 새로운 함수를 쓸 수 있습니다. 입력값은 아주 심플합니다. 사이트맵 주소만 있으면 됩니다.

사이트맵 함수의 사용법은 아주 심플합니다.

=sitemap("불러올 사이트맵 주소")

이것만 입력하면 됩니다. 저는 여러 블로그로 확장까지 염두에 두고 있는 것이므로 사이트맵 주소값을 넣는 셀을 따로 만들고 해당 주소를 입력값으로 넣게 구조를 만들었습니다. (그래봐야 행 2개입니다.)

 

1. 사이트맵 주소를 넣고

   


2. 사이트맵 함수로 위 주소를 넣어주면

사이트맵 주소를 만들어 놓고, 해당 사이트맵을 읽어오게 하면 잠시 로딩을 한 이후 바로 불러들인 값들이 바로 나오게 됩니다. 아래와 같이 제 블로그의 사이트맵에 등록된 모든 URL이 세로로 붙게 됩니다.

 

3. 사이트맵 로딩 완료

하지만 위 이미지에서 볼 수 있듯이, 알 수 없는 문자들이 가득합니다. 이것은 한글로 된 주소가 있을 경우 URL이 인코딩이 되어서 그렇습니다. 

이 상태로 관리해도 아무 문제는 없습니다. 저렇게 인코딩 된 상태로 한글 주소가 보이는 아주 신기한 능력이 있으신 분도 있으실지도요?

 

4. 암호같이 인코딩된 한글 URL

하지만 대부분은 그런 능력이 없습니다. 그래서 우리는 컴퓨터만 이해하고 있는 인코딩된 URL을 디코딩해서 한글로 바꿔줄 필요가 있습니다. 이제 3단계로 가는 것이죠.

인코딩된 한글 URL 디코딩하기

제 블로그의 글주소는 숫자를 사용하고 있지만 카테고리는 한글로 만들어 놓았기 때문에 카테고리 URL들이 모두 인코딩 된 상태입니다.

이것은 아주 쉽게 디코딩 할 수 있습니다. 아래 URL 디코더/인코더 사이트를 통해서 바로 변환이 가능합니다.


엑셀과 구글 스프레드시트에는 한글로 된 URL을 인코딩 시켜주는 함수 ENCODEURL은 있습니다만, 거꾸로 만들어주는 DECODEURL 함수는 없습니다. 제 글을 보고 마이크로소프트와 구글에서는 해당 함수도 만들어주시기를 건의드립니다.

위에 링크로 넣은 사이트에 한글이 깨진 URL이 들어간 셀을 쭉 긁어서 복사를 합니다. 셀로 되어 있는 값이지만, 그냥 붙여넣기를 하면 알아서 줄바꿈 된 텍스트로 들어갑니다.

 

인코딩된 URL을 붙여넣기

위와 같이 인코딩된 것을 구글 스프레드시트에서 그냥 복사(CTRL+C)하고 붙여넣기(CTRL+V)를 했습니다. 우리는 이것을 '디코드' 시켜야 합니다. 그래야 우리 눈에도 한글로 보이는 주소로 바뀝니다.

아래에 있는 버튼 중 뭘 눌러야 하는지 알겠죠? 'Decode' 버튼을 눌러줍니다.

 

URL이 한글로 디코드 되었음

URL이 이제 우리가 알 수 있는 한글로 디코딩 되었습니다. 이제 디코딩 된 것을 아까 봤던 구글 스프레드시트로 옮겨주면 모든 과정이 끝납니다.

 

전체를 복사하고

CTRL+A를 눌러서 전체선택을 해 주고 복사를 합니다. 엑셀에는 알아서 자동으로 행이 떨어지도록 붙으니까 그냥 복사하면 됩니다.

 


인코딩된 URL 옆에 붙여넣기

편의상 아까 인코딩된 주소로 된 것은 그대로 그 옆의 열에 디코딩 된 주소를 붙여줍니다. 이렇게 하면 내 사이트에 있는 글들의 제목을 일목요연하게 볼 수 있게 됩니다.

여러 블로그가 있다면, 위와 같은 과정으로 각 블로그마다 사이트맵을 불러와서 주소를 관리를 해 주면 될 것입니다. 블로그마다 하나의 시트로 하든, 한 시트에 모든 블로그를 넣든 그것은 하시는 분 마음이겠지요.

저도 일단 여기까지만 만들어 놓은 상황이라, 이후 효율적인 관리 방법이 생각나면 다시 노하우 공유로 돌아오겠습니다.