셀 주소가 바뀌어도 끄떡없는 구글시트의 마법
안녕하세요 여러분!
구글시트를 사용하다 보면 셀을 복사하거나, 시트를 분리하면서 참조가 엉켜버려 애를 먹은 적 있으신가요?
저도 처음엔 이럴 때마다 일일이 다시 수정하느라 시간을 허비하곤 했어요.
하지만 다행히도 구글시트에는 이런 상황을 유연하게 해결할 수 있는 INDIRECT와 OFFSET 함수가 있어요.
오늘은 이 두 함수를 통해 동적으로 셀을 참조하고, 변화에 강한 시트를 설계하는 방법을 함께 배워보려고 해요.
INDIRECT 함수란?
INDIRECT 함수는 문자열로 작성된 셀 주소를
실제 셀 참조로 바꿔주는 함수예요.
쉽게 말해, “문자열을 셀 주소처럼 인식하게 해주는 마법”이죠.
예를 들어, =INDIRECT("A1")
이라고 입력하면
해당 셀은 A1에 입력된 값을 불러오게 돼요.
특히 셀 주소가 유동적인 상황에서 굉장히 유용하게 쓰여요.
시트 이름을 동적으로 연결하거나, 복수 셀을 반복 참조할 때도 탁월하죠.
OFFSET 함수란?
OFFSET 함수는 특정 기준 셀에서
지정된 행과 열만큼 떨어진 위치의 셀이나 영역을 참조하는 함수예요.
“현재 위치에서 얼마나 이동하느냐”를 기준으로 한다는 게 핵심이에요.
함수 형태 | 설명 |
---|---|
=OFFSET(A1, 2, 1) |
A1 기준으로 아래로 2행, 오른쪽으로 1열 이동한 셀 참조 |
=OFFSET(B2, 0, 0, 3, 2) |
B2에서 시작해 3행 2열 영역 참조 |
특정 위치를 기준으로 데이터 범위를 자동으로 확장하거나
동적인 표 생성이 필요한 경우에 굉장히 유용해요.
동적 참조의 개념 이해
동적 참조란 셀 위치나 구조가 바뀌더라도 참조가 자동으로 따라가는 구조를 말해요.
고정된 셀 참조($A$1)은 변하지 않지만, INDIRECT나 OFFSET은 사용자 입력이나 로직에 따라 참조 범위를 바꿀 수 있어요.
예를 들어, 월별 시트 이름이 1월, 2월, 3월일 때
INDIRECT 함수로 사용자가 입력한 월에 따라 자동으로 참조할 수 있어요.
OFFSET 함수는 반복되는 행별 데이터를 기준으로 몇 번째 데이터인지에 따라 셀 위치를 유동적으로 잡을 수 있어요.
이런 동적 참조 개념을 잘 익혀두면
복잡한 자동화 시트, 템플릿, 통계 관리에 있어 훨씬 유연하고 강력한 시트를 설계할 수 있어요.
실무 예제로 배우는 활용법
이제 실제 업무에서 자주 쓰이는 사례로 INDIRECT와 OFFSET의 활용법을 익혀볼게요.
1. 월별 데이터 자동 집계
각 월마다 시트를 만들어 1월
, 2월
, 3월
등으로 이름을 지정해뒀다면,
INDIRECT 함수를 이용해 사용자가 선택한 월에 따라 데이터를 자동 집계할 수 있어요.
=INDIRECT("'" & A1 & "'!B2")
위 함수는 A1 셀에 입력된 시트 이름(예: 1월)에 따라 해당 시트의 B2 값을 참조합니다.
시트가 많을수록 이 방식은 빛을 발하죠!
2. 표에서 유동적인 셀 참조
OFFSET을 사용하면 특정 기준 셀에서 몇 행, 몇 열 떨어진 위치를 쉽게 참조할 수 있어요.
예를 들어, 매월 실적이 B2부터 세로로 나열돼 있다면,
=OFFSET(B2, A1, 0)
A1에 입력된 숫자만큼 아래로 이동해 해당 실적을 자동으로 참조할 수 있어요.
스크롤에 따라 셀이 바뀌는 자동화 보고서 등에서 유용하게 쓰인답니다.
INDIRECT vs OFFSET 사용 비교
두 함수 모두 동적으로 셀을 참조할 수 있다는 공통점이 있지만,
작동 방식에는 큰 차이가 있어요.
다음 표에서 비교해볼게요.
구분 | INDIRECT | OFFSET |
---|---|---|
기준 방식 | 문자열 기반 주소 참조 | 기준 셀 기준 상대 위치 |
시트 간 참조 | 가능 (동적 시트 참조) | 불가능 (동일 시트 내 사용) |
속도/성능 | 느릴 수 있음 | 더 빠르고 효율적 |
유지보수성 | 텍스트 기반이라 구조 변경에 강함 | 셀 구조 변화 시 오류 발생 가능 |
요약하자면, INDIRECT는 유연성과 확장성이 뛰어나고,
OFFSET은 속도와 간편함이 장점이에요.
상황에 따라 적절히 선택해서 활용해보세요!
자주 묻는 질문(FAQ)
❓ INDIRECT 함수는 다른 시트도 참조할 수 있나요?
네! 시트 이름을 문자열로 만들어 참조하면, 다른 시트의 셀도 불러올 수 있어요. 예: =INDIRECT("'1월'!B2")
❓ OFFSET은 시트 이름을 바꾸면 오류가 나나요?
OFFSET은 기준 셀 기반으로만 작동해서, 시트를 변경하면 참조가 깨질 수 있어요. 동일 시트 내에서 사용하는 것이 안전해요.
❓ INDIRECT 함수는 왜 느리다고 하나요?
INDIRECT는 계산 때마다 문자열을 다시 해석해야 해서 대량의 데이터에선 속도가 느려질 수 있어요.
❓ OFFSET 함수에서 참조 범위를 늘릴 수 있나요?
네! OFFSET은 행, 열 수를 지정할 수 있어 범위를 넓히거나 동적으로 테이블을 구성할 수 있어요.
❓ 두 함수를 같이 사용할 수 있나요?
가능합니다! 예를 들어, OFFSET으로 위치를 구한 후 INDIRECT로 참조 문자열을 만들어 사용하는 방식도 가능해요.
❓ INDIRECT 함수로 조건부 서식도 사용할 수 있나요?
네! 셀 참조를 동적으로 만들 수 있으므로 조건부 서식에도 활용할 수 있어요. 다만 적용 범위를 정확히 설정해야 해요.
마무리하며
오늘 소개해드린 INDIRECT와 OFFSET 함수, 처음엔 조금 헷갈릴 수 있지만
막상 써보면 정말 강력하고 편리한 도구랍니다.
반복 작업을 줄이고 싶다거나, 셀 구조가 자주 바뀌는 시트를 관리하고 싶다면
이 두 함수는 필수로 익혀두셔야 해요.
처음부터 완벽할 필요는 없어요.
한 줄씩 적용해보다 보면 어느 순간 나만의 자동화 시트를 만들고 있는 자신을 발견하게 될 거예요 😊
이 글이 여러분의 구글시트 실력 향상에 작은 도움이 되셨다면 정말 기쁠 것 같아요.
혹시 궁금하신 점이나 사용 중 겪는 어려움이 있다면
댓글이나 메시지로 편하게 알려주세요! 같이 배우고, 나누는 공간이 되었으면 해요.
오늘도 스마트하게 업무하세요! 늘 응원합니다 💪
'Information > 구글 스프레드시트' 카테고리의 다른 글
구글시트 TEXTJOIN + FILTER로 자동 보고서 작성하는 꿀팁 (0) | 2025.04.11 |
---|---|
구글 시트 함수 조합으로 자동화 시스템 만들기 (0) | 2025.04.10 |
구글시트 ISBLANK, ISERROR 등 조건 함수로 오류 없는 시트 만들기 (0) | 2025.04.08 |
구글시트 TRANSPOSE로 가로 ↔ 세로 한 번에 변환 (0) | 2025.04.07 |
구글시트 REGEX 함수로 문자 정리 자동화하는 방법 (1) | 2025.04.06 |