드디어 한 바퀴 돌았어요, Google Sheets 읽기부터 다시 쓰기까지
지난 편에서는 Google Sheets에서 읽어온 데이터 중 상태가 완료인 항목만 True 쪽으로 넘기고, 제목과 상태처럼 필요한 값만 다시 정리해봤습니다.
여기까지 오니 워크플로우가 꽤 길어졌어요.
Manual Trigger → Google Sheets → IF → Set
처음에는 두 노드만 연결해도 신기했는데, 이제는 외부 데이터를 읽고, 조건을 판단하고, 필요한 값만 정리하는 데까지 왔습니다.
그런데 여기서 또 하나 궁금해졌어요.
“n8n 안에서 처리한 결과를 다시 Google Sheets에 써볼 수 있을까?”
이번에는 처음으로 읽기만 하던 시트에 n8n이 직접 값을 기록하게 해보기로 했습니다.
디지털 장난감 23편 핵심
Google Sheets에서 데이터를 읽고, IF로 조건을 나누고,
필요한 값만 정리한 뒤 처리 결과를 다시 Google Sheets에 기록해보는 첫 Write 테스트입니다.
Google Sheets에서 읽은 데이터를 n8n으로 처리한 뒤 완료된 항목에 처리완료 값을 다시 기록했습니다.
출처: 독타의 디지털 장난감
지금까지는 Google Sheets에서 가져오기만 했어요
20편에서 처음 Google Sheets를 연결했을 때는 시트에 있는 값을 n8n으로 가져오는 게 목표였습니다. 번호, 제목, 상태가 들어 있는 세 줄을 읽어왔고, 21편에서는 그 상태값을 기준으로 True와 False로 나눴습니다.
22편에서는 True 쪽에 노드를 하나 더 붙여서 완료된 데이터만 남기고, 제목과 상태만 정리했어요.
즉, 지금까지 Google Sheets는 계속 데이터를 주는 쪽이었습니다. 이번에는 반대로 n8n이 Google Sheets에 값을 써보게 하려고 합니다.
테스트용으로 결과를 기록할 열을 하나 만들었어요
기존 시트에는 번호, 제목, 상태 이렇게 세 개의 열이 있었습니다. 이번에는 오른쪽에 새 열 하나를 추가했습니다.
이름은 처리결과라고 해봤어요.
처음에는 비어 있는 상태입니다.
| 번호 | 제목 | 상태 | 처리결과 |
|---|---|---|---|
| 1 | Docker 설치 | 완료 | |
| 2 | n8n 설치 | 완료 | |
| 3 | 첫 워크플로우 | 진행중 |
n8n이 다시 값을 기록할 수 있도록 처리결과 열을 새로 만들고 비어 있는 상태를 먼저 확인했습니다.
이번 목표는 아주 단순했어요.
완료된 데이터에는 처리완료라는 값을 써보자.
진행중인 항목은 그대로 두고요.
Google Sheets 노드를 하나 더 붙였어요
22편의 마지막 구조는 이렇게 끝났습니다.
Manual Trigger → Google Sheets → IF → Set
이번에는 Set 뒤에 Google Sheets 노드를 하나 더 추가했습니다.
처음 Google Sheets 노드를 붙였을 때는 데이터를 읽는 용도였는데, 이번에는 쓰는 용도로 사용하려는 거였어요.
같은 Google Sheets 노드라도 작업 방식에 따라 역할이 달라질 수 있다는 게 조금 재미있었습니다. 이번에는 시트의 특정 행에 값을 업데이트하는 쪽으로 설정해봤어요.
어떤 행에 써야 할지가 중요했어요
여기서 처음 조금 생각할 게 생겼습니다.
완료된 데이터가 두 개 있다고 해도, 아무 행에나 값을 써버리면 안 되잖아요.
Docker 설치는 원래 1번 행에, n8n 설치는 2번 행에 있으니까, 각 항목이 원래 있던 행을 찾아서 그 줄의 처리결과 열에 값을 써야 했습니다.
완료된 데이터가 원래 있던 행의 처리결과 열에 값을 쓰도록 Google Sheets 쓰기 노드를 설정했습니다.
이 부분에서 느낀 건, 데이터를 읽는 것보다 쓰는 게 조금 더 조심스럽다는 거였어요.
읽기는 잘못해도 결과만 이상하게 나오면 되는데, 쓰기는 실제 시트 내용이 바뀌니까요.
그래서 테스트용 시트로 먼저 해보길 잘했다는 생각이 들었습니다.
처리결과에 값을 하나 넣어봤어요
이번에는 복잡한 문장 대신 정말 단순하게 했습니다.
완료된 항목에는 처리완료 이렇게만 기록하기로 했어요.
IF에서 True로 통과한 데이터만 다음으로 넘어오고 있었기 때문에, 완료된 두 항목만 Google Sheets 쓰기 노드까지 도착해야 했습니다.
진행중인 데이터는 False 쪽에서 멈춰 있으니까 이 단계까지 오지 않는 구조였어요.
이번 흐름
- Google Sheets에서 3행 읽기
- IF에서 완료 2개 / 진행중 1개 분기
- True 쪽 데이터만 Set으로 정리
- 완료된 2개 항목에만
처리완료기록
실행하기 전에 조금 긴장됐어요
지금까지는 n8n 화면 안에서만 데이터가 움직였습니다.
이번에는 실제 Google Sheets 내용이 바뀌는 작업이었어요.
그래서 실행 버튼을 누르기 전에 시트를 한 번 더 확인했습니다.
처리결과 열은 비어 있었고, 상태값은 완료 두 개, 진행중 하나 그대로였어요.
이제 실행해봤습니다.
정말 Google Sheets 값이 바뀌었어요
워크플로우 실행이 끝난 뒤 다시 Google Sheets를 열어봤어요.
그리고 처음 만든 처리결과 열을 확인했습니다.
완료 상태인 두 행에만 처리완료가 기록되고 진행중인 항목은 그대로 비어 있는 것을 확인했습니다.
- Docker 설치 → 처리완료
- n8n 설치 → 처리완료
- 첫 워크플로우 → 진행중 / 처리결과 비어 있음
원하던 그대로였어요.
처음으로 n8n이 Google Sheets의 값을 직접 바꿨습니다.
이 장면은 생각보다 꽤 의미가 있었습니다.
20편에서는 시트에서 n8n으로 데이터가 들어왔고, 이번에는 n8n에서 다시 시트로 결과가 돌아갔으니까요.
읽기와 쓰기가 연결되니까 느낌이 달랐어요
지금까지 하나씩 했던 걸 연결해보면 이렇게 됩니다.
Google Sheets 읽기 → IF 판단 → 필요한 값 정리 → Google Sheets 쓰기
이제야 뭔가 한 바퀴 도는 느낌이 들었어요.
외부 데이터를 가져와서, n8n 안에서 처리하고, 다시 외부 서비스에 결과를 남기는 구조입니다.
자동화라고 하면 막연하게 복잡한 시스템을 생각했는데, 이렇게 보니 결국은 이런 흐름들이 이어지는 거였어요.
작은 테스트지만 실제 업무에도 쓸 수 있을 것 같았어요
이번에는 처리완료라는 글자 하나만 썼습니다.
그런데 실제 블로그 자동화를 생각해보면 훨씬 다양하게 활용할 수 있을 것 같아요.
- 초안 생성 완료
- 이미지 준비 완료
- 검수 대기
- 발행 완료
- 오류 발생
이런 상태를 n8n이 자동으로 기록할 수도 있겠죠.
사람이 매번 시트를 열고 상태를 바꾸지 않아도, 워크플로우가 끝난 뒤 자동으로 기록한다면 작업 관리가 훨씬 편해질 것 같았습니다.
처음으로 데이터가 왕복했어요
지금까지 흐름을 다시 보면 이렇습니다.
Google Sheets → n8n → Google Sheets
처음으로 데이터가 한쪽 방향이 아니라 왕복했습니다.
아직 아주 단순한 테스트예요. 완료 여부를 보고 처리완료를 쓰는 정도니까요.
그래도 이 구조가 되면 나중에 블로그 자동화에서도
시트에서 작업 읽기 → 자동 처리 → 결과 다시 기록
같은 흐름을 만들 수 있을 것 같았습니다.
이제 n8n이 단순히 데이터를 읽는 도구가 아니라, 실제로 외부 서비스의 상태를 바꿀 수 있는 도구처럼 느껴지기 시작했어요.
※ 본 글은 X MINI N100 Debian Docker 환경에서 n8n으로 Google Sheets 읽기부터 쓰기까지 테스트해본 개인적인 경험을 기록한 글입니다. Google Sheets 연동과 쓰기 방식은 버전과 설정에 따라 달라질 수 있으며, 실제 운영 시에는 테스트용 시트에서 먼저 확인한 뒤 적용하는 것이 좋습니다.
'트러블 슈팅 노트' 카테고리의 다른 글
| True 쪽에 노드를 하나 더 붙였어요. 완료된 데이터만 다음 작업으로 넘겨봤습니다. (0) | 2026.10.15 |
|---|---|
| 읽어오기만 하던 n8n이 조건을 따지기 시작했어요, IF 노드 첫 사용 (0) | 2026.10.14 |
| 노드 두 개 다음은 Google Sheets였어요. n8n 첫 외부 연결 성공. (0) | 2026.10.09 |
| 노드 두 개를 연결했더니 움직였어요. n8n 첫 워크 플로우 성공. (0) | 2026.10.08 |
| 드디어 n8n이 떴어요. Debian Docker에서 localhost:5678 접속 성공. (0) | 2026.10.07 |