구글 스프레드시트 선행 공백 제거되는 문제 해결 방법

구글 스프레드시트 선행 공백 (Leading space)을 포함한 텍스트를 붙여넣기 하면 선행 공백이 제거되는 문제가 있다.

들여쓰기가 있어야 가독성이 있는 SQL 구문 등을 구글 스프레드시트에 자주 붙여넣기 하는데, 들여쓰기한 선행 공백이 모두 제거되어 가독성이 나빠지는 현상이다.

1. 구글 스프레드시트 선행 공백 제거되는 문제

다음과 같은 SQL을 복사하여,

SELECT x, y
  FROM (SELECT 1 AS x, true AS y UNION ALL
        SELECT 9, true UNION ALL
        SELECT NULL, false)
 ORDER BY x NULLS LAST;

+------+-------+
| x    | y     |
+------+-------+
| 1    | true  |
| 9    | true  |
| NULL | false |
+------+-------+

(출처: https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax?hl=ko#order_by_clause)

구글 스프레드시트에 붙여 넣으면 다음과 같이 선행 공백이 모두 제거된다.

구글 스프레드시트에 붙여넣기한 SQL: 선행 공백 제거됨
구글 스프레드시트에 붙여넣기한 SQL: 선행 공백 제거됨

2. 구글 스프레드시트 선행 공백 유지하는 방법

편집기에서 각 행 첫 번째 문자로 ‘(작은따옴표(=홑 따옴표), single quotation)를 추가하고 구글 스프레드시트에 붙여넣기 하면 선행공백이 제거되지 않고 유지된다.

예를 들어, Notepad++에서 다음과 같은 텍스트가 있을 때,

Notepad++ SQL Text 예시
Notepad++ SQL Text 예시

첫번째 행, 첫번째 열에 커서를 두고, Alt + C 키를 누르거나 “편집 > 열 모드…” 메뉴를 실행하여 ‘(작은따옴표(=홑따옴표), single quotation) 문자를 입력 후 Enter 키를 누르면 다음과 같이 각 행 첫 번째 문자로 추가된다.

Notepad++ SQL Text: 첫번째 열에 작은따옴표 추가 예시
Notepad++ SQL Text: 첫번째 열에 작은따옴표 추가 예시

이제 위 Text를 복사하여 구글 스프레드시트에 붙여넣기 하면 다음과 같이 선행 공백이 잘 유지된다.

구글 스프레드시트에 붙여넣기한 SQL: 선행 공백 유지됨
구글 스프레드시트에 붙여넣기한 SQL: 선행 공백 유지됨

작은따옴표는 그냥 봐서는 보이지 않으나, 셀을 클릭하면 윗부분 입력줄에는 나타난다.

구글 스프레드시트에 붙여넣기한 SQL: 입력창에는 작은따옴표가 나타남
구글 스프레드시트에 붙여넣기한 SQL: 입력창에는 작은따옴표가 나타남

하지만, 이 상태에서 구글 스프레드시트의 Text를 복사하여 다른 곳에 붙여넣기 해도 작은따옴표는 제외되고, 원래 텍스트대로 선행 공백을 포함하여 붙여 넣어진다. 작은따옴표는 선행 공백을 유지하는 용도 외에 다른 문제는 없어 보인다.

한동안 이 문제가 신경 쓰여서 구글링했는데도 찾지 못하다가, 문득 엑셀에서 텍스트 서식을 지정하는 작은따옴표를 추가해 보면 어떨까 하여 시도해봤다가 문제가 깨끗하게 해결됐다.

참고로, DBeaver에서는 다음 과정으로 실행하면 된다.

  1. Alt + Shift + A 키로 열 편집모드로 전환
  2. Shift + 화살표 키를 이용하여 첫번째 열을 선택하고 작은따옴표를 입력후
  3. 다시 Alt + Shift + A를 눌러 일반 편집모드로 전환
  4. 텍스트를 복사하여 구글 스프레드시트에 붙여넣기

이 방법은 컬럼 모드 편집을 지원하는 텍스트 편집기는 모두 적용할 수 있다. 편집기에 따라서 단축키 또는 메뉴 기능이 조금씩 다를 수는 있으나 첫번째 열에 작은따옴표를 추가할 수 있으면 된다.

SQL, Python 등의 소스코드를 구글 스프레드시트에 입력할 경우에 들여쓰기를 유지할 수 있는 방법에 대해 살펴봤다. 다른 방법이 있으면 댓글로 알려주기 바란다.

* Summary in English: How to keep leading space in Google Spreadsheets.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

ko_KR한국어