자유 그리고 경험

[Google spreadsheet]자동화하기_윗줄 식 아랫줄에 복사_1편 본문

기술

[Google spreadsheet]자동화하기_윗줄 식 아랫줄에 복사_1편

배아줄기세포 2021. 11. 13. 23:49
반응형

엑셀을 쓰다가, 입력해 놓은 자료를 실시간으로 보면서 편집할 일이 많아지면서 구글스프레드 시트로 자연스럽게 넘어가게 되었습니다. 물론 요즘은 엑셀도 온라인 뷰어를 제공하지만, 결정적으로 온라인상에서는 매크로 편집을 할 수 없습니다.  여기서 등장하는 꿀팁

엑셀을 구매가 부담된다면 현재 온라인에서 엑셀을 무료로 이용할 수 있다.
(단, 매크로 편집은 못함)

구글스프레드 시트 매크로에서 좋은점은 VBA가 아닌 웹개발자들에게 익숙하고, 좀 더 유연한 Javascript기반의 언어가 쓰인다는 것입니다. 기존 엑셀 VBA개발자 분들에게는 언어를 하나 더 배워야해서 귀찮을 수도 있겠지만, 개발자에게 끝없는 공부는 숙명 아니겠습니까. 허허허🤣

 

평화롭게 기본 기능을 이용하던 중, 이번에 필요에 의해 구글 스프레드시트에서 첫 매크로를 개발하게 되어 공유하게 되었습니다. 첫 개발인 만큼 많이 복잡하지 않은 작업이라 저처럼 첫 스프레드시트 자동화를 하시는 분들에게 도움이 될 것이라고 생각합니다.


목표

요즘 공모주에 빠져서 관련 있는 리츠공모, 나아가 실권주까지 청약을 하고 있었습니다.

투자를 하기전에 예상 대략적인 손익을 파악해보는 것은 필수이기에, 스프레드시트로 계산을 하고 있었습니다. 그런데 이것이 본업에 치여 청약일에 닥쳐서 새로운 계산을 만들려고 하면, 아이패드에서 입력이 너무 불편했습니다.

컴퓨터에서는 옆으로 쭉 선택하고, 드래그만 하면 바로 아래행으로 식이 복사되는 동작인데 말이에요.

 

그 간단한 윗 식을 아래 식으로 복사(해서 삽입)하기를 자동화하는 것이 이번 목표였습니다.

추가로, 그림에서 보이는 것과 같이 +버튼을 추가해 버튼을 누를 때마다 관련 식이 추가(=버튼을 누를 때마다 매크로가 실행)되게 하고 싶습니다.

구글 스프레드시트 개발 목표
구글 스프레드 시트 첫 개발 목표

첫 단계, 매크로 녹화로 코드 베끼기

구글 스프레드시트에서도, 엑셀에서와 같이 매크로 녹화 기능을 제공합니다.

 

[Excel]매크로 기록 활용 예제(with 상대참조로 )

다른 매체들에서 매크로 관련 글들을 쓰면서, 자동화를 위한 VBA 초보자들이나, VBA를 당장 어려운 분들은 반복 작업을 위해 매크로 녹화를 활용할 수 있다고 많이 소개드려왔습니다. 또, 매크로

valentine92.tistory.com

어찌보면 이번에는 구글버전 매크로 기록 활용 예제가 되겠네요.

엄청나게 간단해 보이쥬?

저는 이 간단한 식을 아래행에 복사하는 것을 녹화해보겠습니다.

[확장프로그램]-[매크로]-[매크로 기록] 클릭!

구글 스프레드시트 매크로 기록 하는 법
순서대로 클릭!

클릭하면 다음과 같은 창이 아래에 떠 있는 것을 확인할 수 있습니다.

구글 스프레드 시트 매크로 기록 화면
매크로 기록 중...

이제부터 하는 동작들을 구글이 코드로 만들어 기록합니다.

 

이제 우리가 해주려고 했던

  1. 선택했던 행 복사하기
  2. 선택한 행 아래에 행 삽입하기
  3. 삽입한 행에 복사한 행 붙여넣기

를 하겠습니다.

google spreadsheet 매크로 녹화중
녹화중이니 실수 없게 하라긋~

여기서 주의할 점은 녹화 전에 1번 행의 셀을 클릭하고 녹화 시작을 하는 것입니다. 

그래야 상대참조가 1번행을 기준으로 2번행(1행의 바로 아래행) 을 추가하는 것으로 기록되고, 실행시 바로 아래행이 추가 되는 식으로 우리가 의도했던 상대적 위치를 기준으로 동작합니다.

 

모든 동작이 완료되었으면 [저장]클릭

 

새 매크로 이름 정하기

새매크로의 이름과, 단축키 숫자를 지정해줍니다.  -> [저장]

친절한 구글, 애드센스 승인 빨리 부탁드려요

매크로가 저장됐다고 나오고 스크립트 수정도 할 수 있네요, 이 금방 사라지는 버스를 놓치셨다면 

[확장프로그램]-[Apps Script]를 클릭해 코드를 구경할 수 있습니다.

구글 스프레드시트 스크립트 보기
기록된 스크립트 구경가기

구글이 기록해준 코드가 샬라샬라 적혀있네요

구글 스프레드시트 앱 스크립트 코드
알아서 해주는 구글 스프레드시트 매크로 기록기

이 코드를 지금 해석까지 할 필요는 없습니다. 이런식으로 기록되는구나~ 하고 실행하러 가봅시다.

매크로 실행

이제 다시 시트로 돌아와서 2번행의 셀을 선택하고

단축키 Ctrl+Alt+Shift+1이나,

[확장프로그램]-[매크로]에 들어가면 발견되는 내가 만든 매크로를 클릭해서 매크로를 실행해줍니다.

내가 만든 매크로 IS HERE!!

권한 허용

그런데 뭔가 권한이 필요하다고 합니다. [계속]

권한이 필요합니다. 일단 계속

엑셀의 경우에도 매크로는 뭔가 코드를 넣어서 실행하는 것이기 때문에 보안 이슈가 있을 수 있습니다. 스프레드시트도 마찬가지입니다. 하지만 지금 실행하려는 매크로는 우리가 만드는 것이기 때문에 그냥 프리패스를 부여해줍시다.

계정 선택

계정을 선택하라고 하네요. [선택]

허용~

매크로 시트에서 제 계정 접근하려고 한다고 합니다. 제가 만든 스프레드시트를 앱으로 간주하고, 그 시트가 하려는 일을 허용하는 과정이라고 생각됩니다. [허용]

 

뭔가 진행이 되더니 실행이 완료됩니다.

실행 완료!

3번째 행에 새로운 열이 복사되어 붙여넣어졌습니다.

혹시 실행이 되지 않았다면 2행의 셀을 선택하고 한번 더 실행해보세요. 위와 같은 그림이 나왔다면 성공입니다!

이어서 1행, 2행, 3행을 선택하고 첫 자동화를 누려보세요~

 

여기서 포인트는, 식을 복사.붙여넣기를 했을 때, 3번 행에서는 A1+B1(C1의 식) 이 아니라 A3+B3 으로 행에 맞게 자동으로 참조가 바뀌어서 식이 들어가 있다는 것입니다. 대단하죠?

 

구글 스프레드시트 자동으로 식 바꿈
똑똑한 구글 스프레드시트

이건 매크로를 만드는 동작 중 복사, 붙여넣기를 할 때부터 구글이 알아서 식을 바꿔주기 때문에 가능했습니다. 이것을 미리 확인했기 때문에 별다른 특별한 코딩이 필요 없었습니다.

(매크로를 만들기 전에 복사 붙여넣기를 해보시면 자동 식 바뀜을 확인할 수 있습니다.)


지금까지 구글 스프레드시트에서 매크로를 만들고 실행해보았습니다.

버튼에 넣고 다듬는 것까지 한 포스팅에 가려고 했으나 1.글이 길어지고, 2.조회수를 높히고 싶은 관계로 나눠서 포스팅 하도록 하겠습니다. (중간에 네트워크 에러로 원고 절반을 날리기도 했습니다 ㅠ🤬내 겨땀눈물)

 

'버튼에 매크로 입히기', '매크로 코드분석' , '매크로 다듬기' 로 4부작이 될 것 같습니다.

 

티스토리에서 시도하는 첫 연재 포스팅이기도 하네요

다음 포스팅에서 만나요~

 

2편 - 버튼에 매크로 입히기

 

[Google spreadsheet]자동화하기_윗줄 식 아랫줄에 복사_2편

지난번, 많은 분들께서 관심과 사랑을 주셨..다면 좋았을 것 같은 글 [Google spreadsheet]자동화하기_윗줄 식 고대로 복사_1편 엑셀을 쓰다가, 입력해 놓은 자료를 실시간으로 보면서 편집할 일이 많

valentine92.tistory.com

 

3편 - 매크로 코드 분석

 

[Google spreadsheet]자동화하기_윗줄 식 아랫줄에 복사_3편

연속 연재중인 예제와 함께하는 구글스프레드시트 매크로 만들기 3편입니다. 1편 [Google spreadsheet]자동화하기_윗줄 식 아랫줄에 복사_1편 엑셀을 쓰다가, 입력해 놓은 자료를 실시간으로 보면서

valentine92.tistory.com

반응형
Comments