구글 시트, 동료 수정은 남기고 잘못 덮어쓴 값만 복구하기

어제 버전에는 찾던 데이터가 있지만, 그 뒤로 다른 탭에도 새 입력이 쌓였다. 파일 전체를 되돌리지 않고 필요한 부분만 가져올 수 있을까?

구글 시트, 동료 수정은 남기고 잘못 덮어쓴 값만 복구하기
세 줄 요약
  • 어제 단가는 맞지만 오늘 동료가 고친 수량도 남겨야 한다면, 어제 파일 전체로 돌아가는 대신 단가만 가져오는 방법이 맞다. 버전 기록에서 어제 자료의 사본을 만들면 공유 중인 최신 파일을 그대로 두고 복구할 값을 찾을 수 있다.
  • 찾은 단가를 현재 주문표에 옮길 때는 과거 주문 탭을 현재 파일 안에 비교용으로 복사해 둔다. 그러면 한 파일 안에서 주문을 나란히 확인하고, 잘못 덮은 단가 셀만 ‘값만 붙여넣기’로 고칠 수 있어 같은 행의 수량과 금액 수식을 남길 수 있다.
  • 주문 순서가 바뀌었다면 어제의 2행이 오늘도 같은 주문이라는 보장은 없다. 주문 번호로 단가를 맞춘 뒤, 수량이 4개로 고쳐진 주문과 새 주문이 그대로 있는지, 재고 탭의 입고와 금액 계산식도 남았는지 확인한다.

구글 시트에서 잘못 덮어쓴 값만 복구하려면 현재 파일은 그대로 두고 과거 버전을 별도 사본으로 연다. 사본에서 찾은 값을 현재 표의 같은 주문에 옮기면, 그 뒤에 다른 사람이 입력한 수량이나 새 주문까지 되돌리지 않아도 된다. 단, 어느 값이 실수였는지는 사람이 비교해서 정해야 한다. 버전 기록이 정상 수정과 잘못된 수정을 자동으로 골라 합쳐 주지는 않는다.

Google 커뮤니티의 실제 질문도 여러 시트 중 한 탭만 이전 상태로 되돌리고 나머지 탭은 유지할 수 있는지를 묻는다. 아래 절차는 데스크톱 브라우저에서 편집 권한으로 여는 Google 스프레드시트 파일 기준이다. 복구 대상은 과거 버전에 남아 있는 입력값이며, 주문표는 위치와 계산을 비교하기 위한 설명용 예제다.

한 탭만 고치는데 파일 전체를 복원하면

파일 아래의 ‘주문’, ‘재고’, ‘배송’ 탭은 서로 다른 파일이 아니다. 버전 기록에서 이전 시점을 복원하는 동작은 스프레드시트 파일의 버전을 현재 버전으로 만드는 것이다. 지금 주문 탭을 보고 있다는 이유로 주문 탭에만 적용되는 복원 버튼으로 해석하면 안 된다. Google의 공동 작업 안내도 이전 ‘파일’ 버전을 선택해 활성 버전으로 만드는 절차를 설명한다.

오전 9시에는 단가가 정상이었고, 10시에 재고 담당자가 입고 수량을 추가했으며, 11시에 주문 단가를 실수로 덮어썼다고 하자. 9시 버전으로 파일 전체를 되돌리면 주문 단가와 함께 재고 탭도 당시 상태가 된다. 원하는 결과는 9시의 단가와 11시 현재의 재고를 함께 갖는 것이므로, 전체 복원보다 필요한 값을 가져오는 작업이 맞는다.

한 탭 안에서도 같은 구분이 필요하다. 주문 담당자가 10시에 수량을 제대로 고쳤다면 그 행 전체를 9시 자료로 교체해서는 안 된다. 바꿀 대상은 잘못된 단가 셀이고, 같은 행의 수량은 남겨야 한다. 작업 전에 ‘복구할 주문 번호와 열’, ‘유지할 수정’을 적어 두면 붙여넣을 범위를 정할 수 있다.

복구 중인 셀에 다른 사람이 계속 입력하면 비교하던 현재 값도 달라진다. 해당 주문을 고치는 동안 그 셀의 입력을 잠시 멈추기로 담당자와 맞추고, 현재 버전에는 ‘단가 복구 전’처럼 이름을 붙여 둔다. 파일 → 버전 기록 → 현재 버전 이름 지정에서 이름을 입력한다. 복구 뒤에는 이 버전과 비교해 새 주문이나 정상 수량까지 바뀌지 않았는지 확인한다.

값이 남아 있는 버전의 사본 만들기

파일 → 버전 기록 → 버전 기록 보기에서 잘못 덮어쓰기 전 시점을 찾는다. 날짜와 작성자만 보고 결정하지 말고, 복구할 주문 번호와 단가가 실제로 들어 있는지 확인한다. 묶인 버전은 펼쳐 보고, 변경되지 않은 행이 숨겨져 있다면 오른쪽 아래의 ‘Show unmodified rows’를 눌러 표시한다. 버전 기록 도움말에는 이전 버전을 별도 파일로 복사하는 방법이 있다.

  1. 버전 목록에서 필요한 값이 남아 있는 시점을 선택한다.
  2. 해당 버전의 더보기 메뉴에서 ‘사본 만들기’(Make a copy)를 선택한다.
  3. ‘주문_복구자료_09시’처럼 현재 업무 파일과 구별되는 이름과 저장 위치를 정한다.
  4. 생성한 사본에서 필요한 탭과 주문을 다시 확인한다. 공유 링크로 쓰던 현재 파일도 별도로 열어 둔다.

여기서 과거 사본은 값을 찾아 읽는 자료이고, 현재 파일은 복구 결과를 반영할 곳이다. 창 두 개가 비슷하게 보이더라도 파일 이름을 보고 역할을 구분한다. 과거 사본에서 단가를 고친 뒤 작업이 끝났다고 생각하면 동료가 사용하는 원래 파일에는 아무 수정도 반영되지 않는다.

문제가 생긴 셀 하나의 이전 입력을 찾을 때는 마우스 오른쪽 버튼의 수정 기록도 단서가 된다. 다만 셀별 기록에는 행·열 추가나 삭제, 서식, 수식에 따른 변화가 모두 나타나는 것은 아니다. 셀이 없어졌거나 주변 구조까지 바뀌었다면 파일의 과거 버전을 열어 해당 주문이 있었는지 확인하는 쪽이 맞다.

앞뒤 버전을 살펴도 해당 단가를 찾지 못했다면 견적서나 주문 원본과 대조한다. 옆 주문의 단가가 같아 보인다는 이유로 그 숫자를 복구값으로 채우지는 않는다. 같은 상품이라도 주문 당시 합의한 가격이 다를 수 있다.

과거 시트를 현재 파일의 비교용 탭으로 가져오기

과거 사본에서 필요한 시트 탭 옆의 화살표를 누르고 ‘다음으로 복사’(Copy to)에서 기존 스프레드시트를 선택한다. 목적지는 동료들이 쓰는 현재 파일이다. Google의 시트 복사 안내에 있는 이 기능으로 과거 주문 탭을 현재 파일 안에 별도 탭으로 가져온다.

가져온 탭은 ‘비교용_주문_09시’처럼 이름을 바꾸고, 현재 주문 탭은 그대로 둔다. 현재 탭을 삭제한 뒤 옛 탭의 이름을 ‘주문’으로 바꾸는 방식은 이 절차에 포함되지 않는다. 지금 복구하려는 것은 잘못된 입력값 몇 개이므로 원래 탭과 그 안의 계산식까지 갈아 끼울 이유가 없다.

중간에 탭을 하나 더 두는 이유는 붙여넣기의 범위에도 있다. Google의 선택하여 붙여넣기 안내는 이 기능이 하나의 스프레드시트 안에서만 작동하며, 별도 파일을 연 두 브라우저 탭 사이에서는 사용할 수 없다고 설명한다. 현재 파일 안에 과거 탭을 가져오면 비교용 탭에서 업무 탭으로 값만 옮기는 작업을 같은 파일 안에서 할 수 있다.

비교용 탭을 가져왔다고 바로 전체 범위를 복사하지 않는다. 먼저 원본 사본과 비교용 탭에서 필요한 입력값이 같은지 확인한다. 수식으로 채워진 셀은 다른 탭의 참조를 포함할 수 있으므로 아래의 수식 절차로 따로 다룬다. 여기서 복구할 단가는 직접 입력한 숫자이며, 원래 사본과 비교용 탭에서 각각 100원·200원인지 확인하고 진행한다.

비교가 끝날 때까지 과거 사본 파일도 남겨 둔다. 현재 파일에 가져온 탭은 작업하다가 수정할 수 있으므로, 잘못 붙인 값의 출처를 다시 읽을 곳이 필요하다. 여러 옛 시트를 한꺼번에 가져오지 않고 복구할 입력값이 있는 탭부터 고르면 현재 업무 탭과 비교 자료를 구별하기 쉽다.

행 순서가 달라진 주문 두 건 복구하기

다음 예제에서 A열은 주문 ID, B열은 수량, C열은 단가, D열은 금액이다. D2에는 =B2*C2가 들어 있고 아래 행도 자기 행의 수량과 단가를 곱한다. 오전 9시에는 두 주문만 있었으며 R-101이 2행, R-102가 3행이었다.

09시 시트 행A: 주문 IDB: 수량C: 단가D: 금액
2R-1012100원200원
3R-1023200원600원

11시 현재는 행 순서가 바뀌었고, R-102의 수량은 정상적으로 4개로 수정됐다. 새 주문 R-103도 추가됐다. 실수는 기존 두 주문의 단가가 0으로 덮인 것뿐이라고 정한다. 0이 언제나 오류라는 뜻이 아니라 이 예제에서 확인한 오류 범위다.

현재 시트 행주문 ID수량현재 단가복구할 단가복구 후 금액
2R-10240원200원800원
3R-10120원100원200원
4R-1031300원그대로 유지300원

비교용 탭의 C2:C3를 현재 탭의 C2:C3에 그대로 붙이면 100원·200원 순서로 들어간다. 현재 첫 주문은 R-102이므로 두 단가가 서로 바뀐다. 과거 2행과 현재 2행이 같은 주문이라는 전제를 먼저 버려야 한다. 행이 정렬되거나 중간에 추가됐다면 주문 번호로 위치를 다시 찾는다.

  1. 비교용 탭에서 R-102의 C열 값 200을 복사한다. 현재 주문 탭에서 R-102가 있는 2행인지 확인한다.
  2. 현재 C2에 편집 → 선택하여 붙여넣기 → 값만 붙여넣기를 한다. B2의 수량 4와 D2의 계산식은 선택하지 않는다.
  3. 같은 방식으로 비교용 탭의 R-101 단가 100을 현재 C3에 붙인다.
  4. R-103의 C4는 손대지 않는다. 과거 자료에 없다는 이유로 신규 주문을 비우거나 삭제하지 않는다.

브라우저에서 붙여넣기 메뉴가 작동하지 않으면 키보드 단축키를 쓴다. Windows에서는 Ctrl+C로 복사한 뒤 같은 파일 안에서 Ctrl+Shift+V로 값만 붙여넣기를 할 수 있다. 주문을 찾을 때는 찾기 및 바꾸기의 ‘셀 내용 전체 일치’를 이용하면 R-10과 R-101처럼 일부 문자열이 겹치는 항목을 구별할 수 있다. 검색만 사용하고 주문 ID 자체를 바꾸지는 않는다.

주문 번호가 중복된다면 상품 코드나 주문 내역 번호까지 함께 비교한다. 같은 주문 안에 여러 품목이 있는데 주문 번호 하나로 첫 행만 골라 붙이면 다른 상품의 가격을 옮길 수 있다. 원본에 없는 고유 번호를 임의로 만들어 과거와 현재의 같은 기록이라고 취급하지 말고, 두 자료에서 동일성을 확인할 수 있는 열 조합을 찾는다.

복구할 셀에 수식이 있었다면

위 예제는 단가 C열에 입력한 숫자만 복구한다. 금액 D열은 계속 수량과 단가를 곱해야 하므로 값 붙여넣기의 대상이 아니다. 과거 금액 600원을 현재 R-102의 D2에 붙이면 수량이 4개가 됐는데도 600원이 남고, 이후 수량을 바꿔도 계산되지 않는다.

지워진 것이 D2의 수식이라면 현재 표의 열 배치를 확인하고 =B2*C2를 복구한다. 같은 파일 안의 선택하여 붙여넣기에는 수식만 옮기는 옵션도 있지만, 과거 자료의 행·열 위치가 현재와 같은지 먼저 읽어야 한다. 값만 복구할 때와 계산 동작을 되살릴 때는 붙여넣을 내용이 다르다.

단가 자체가 다른 탭의 가격표를 읽는 수식이라면 더 확인할 것이 있다. 과거 주문 탭 하나를 옮긴 결과를 당시의 확정 단가라고 간주하지 않는다. 수식이 참조하는 탭과 셀을 과거 사본에서 함께 읽고, 현재 가격표로 계산해야 하는지 당시 확정 가격을 남겨야 하는지 구분한다. 과거 파일의 수식은 저장된 견적서처럼 당시 출력 숫자를 보존한 자료와 같은 것으로 취급할 수 없다.

복구 후에도 계속 계산해야 하는 주문표에는 현재 구조에 맞는 수식을 둔다. 이미 발주가 확정돼 당시 단가를 고정해야 하는 기록이라면 그 값을 확인할 수 있는 주문 원본을 근거로 숫자를 입력한다. 화면에 같은 200이 보이더라도 셀의 내용이 숫자인지 수식인지에 따라 다음 가격표 수정 때 결과가 달라진다.

동료의 수정과 새 주문이 남았는지 확인하기

예제의 올바른 금액 합계는 1,300원이다. R-102의 800원, R-101의 200원, R-103의 300원을 더한 값이다. 과거 행 순서대로 단가를 잘못 붙이면 400원·400원·300원으로 합계가 1,100원이 된다. 합계만 맞추려 하지 말고 각 주문의 수량과 단가를 함께 읽는다.

복구 확인에는 바뀌지 않아야 할 값도 포함한다. R-102 수량은 4개, 새 주문 R-103은 4행에 남아 있어야 한다. D2:D4는 여전히 각 행의 곱셈 수식이어야 하며, 재고 탭에서 동료가 추가한 입고 자료도 그대로여야 한다. 이 항목을 비교하면 단가 두 개를 고치려다 행 전체나 파일 전체를 되돌렸는지 확인할 수 있다.

작업이 끝나면 현재 버전에 ‘R-101·R-102 단가 복구 후’처럼 범위를 드러내는 이름을 붙인다. 복구 근거로 쓴 파일과 시각을 팀의 기존 작업 기록에 남기고 비교용 탭은 업무 입력 탭과 구별해 둔다. 임시 탭을 정리할 때는 현재 계산식이 그 탭을 참조하도록 바뀌지 않았는지 먼저 확인한다.

수량만 바꾸는 담당자가 단가까지 덮어쓰지 않도록 데이터 → 시트 및 범위 보호에서 C열의 편집자를 단가 담당자로 제한할 수 있다. D열의 계산식도 별도 범위로 지정해 수식 담당자가 편집하도록 정한다. ‘수정할 때 경고 표시’만 선택하면 사용자는 경고를 확인하고 계속 수정할 수 있다. 실제 편집을 제한하려면 편집자 제한을 선택하고, 수량을 입력해야 하는 B열은 그 범위에서 제외한다.