엑셀 상대참조·절대참조·혼합참조 완전 정리
자동채우기할 때 참조가 따라 움직이면 상대참조, $ 로 고정하면 절대참조, 행이나 열 하나만 고정하면 혼합참조입니다. F4 로 전환합니다.
수식을 자동채우기 했는데 결과가 어긋나거나 #VALUE! 가 뜬다면, 거의 참조 방식을 잘못 잡은 것입니다. 세 가지 방식의 차이만 알면 그 자리에서 해결됩니다.
5초 요약
| 방식 | 표기 | 자동채우기하면 |
|---|---|---|
| 상대참조 | A1 |
참조하는 셀도 같이 이동 (엑셀 기본값) |
| 절대참조 | $A$1 |
어느 방향이든 항상 고정 |
| 혼합참조 | $A1 · A$1 |
행이나 열 하나만 고정 |

$ 를 직접 칠 필요 없습니다. 수식 편집 중 셀 주소에 커서를 두고 F4 를 누르면 A1 → $A$1 → A$1 → $A1 순으로 돌아갑니다.1. 상대참조 — 기본값
엑셀은 별도 표시가 없으면 상대참조로 봅니다. 수식이 아래로 내려가면 참조하는 셀도 같은 만큼 내려갑니다.
단가 × 수량으로 첫 행의 매출을 구한 뒤 —

셀 오른쪽 아래에서 커서가 검은 십자가로 바뀌면 아래로 끕니다.

참조가 함께 내려가면서 각 행의 매출이 계산됩니다. 같은 계산을 여러 줄에 반복할 때 쓰는 것이 상대참조입니다.

2. 절대참조 — 고정해야 할 때
이번엔 매출에 적립율을 곱해 적립금을 구해 보겠습니다. 적립율은 한 셀에만 적혀 있습니다.

그대로 자동채우기 하면 #VALUE! 오류가 나거나 엉뚱한 값이 나옵니다.

오류 난 셀을 눌러 수식을 보면 원인이 드러납니다. 적립율을 가리키던 참조가 함께 아래로 내려가 빈 셀이나 글자를 가리키고 있습니다.

적립율 셀에 커서를 두고 F4 를 한 번 누르면 $ 가 붙어 절대참조가 됩니다.

이제 자동채우기해도 적립율은 고정되어 모든 행이 올바르게 계산됩니다.

3. $ 기호가 뜻하는 것
$ 는 바로 뒤에 오는 것을 고정합니다. 알파벳 앞이면 열, 숫자 앞이면 행입니다.
| 표기 | 고정되는 것 | 움직이는 것 |
|---|---|---|
$A$1 |
열과 행 모두 | 없음 — 상하좌우 어디로 채워도 고정 |
$A1 |
열 (A 고정) | 아래로 채우면 행 번호가 1→2→3 |
A$1 |
행 (1 고정) | 옆으로 채우면 열이 A→B→C |
4. 혼합참조 활용 — SUMIF 한 번에 채우기
제품별 월별 판매 내역에서 제품별 매출 합계를 SUMIF 로 구해 보겠습니다.
=SUMIF(조건범위, 조건, 합계범위)
아무 표시 없이 입력하면 —

자동채우기할 때 세 인수가 모두 밀려 값이 틀어집니다.

인수마다 어느 방향으로 움직여야 하는지를 따져 참조 방식을 정합니다.
| 인수 | 움직여야 하나 | 참조 방식 |
|---|---|---|
| 조건범위 | 어느 쪽으로도 안 됨 | 절대참조 $B$19:$B$23 |
| 조건 | 위아래로만 | 열절대참조 $B19 |
| 합계범위 | 좌우로만 | 행절대참조 C$19:C$23 |

이렇게 잡으면 수식 하나를 상하좌우로 한 번에 채워도 전부 올바르게 계산됩니다.
$ 를 붙입니다.
참고 문서
- 혼합참조와 확장범위 사용법 — 오빠두엑셀
- 상대 참조와 절대 참조 간 전환 — Microsoft 지원
엑셀 혼합참조와 확장범위 사용법 총정리
행과 열 중 하나만 $로 고정하는 것이 혼합참조이며, 시작점만 절대참조한 $A$1:A1 형태로 자동채우기하면 범위가 한 칸씩 늘어나는 확장범위가 됩니다.
엑셀 피벗테이블 기본 레이아웃 설정 방법
원하는 형태로 다듬은 피벗테이블을 [파일] - [옵션] - [데이터] - [기본 레이아웃 편집]에서 가져오면, 이후 만드는 피벗테이블에 그 설정이 자동 적용됩니다.
보이는 셀만 복사 붙여넣기 가장 쉬운 방법
범위를 선택한 뒤 Alt + ; 를 한 번 누르면 숨겨진 셀은 제외되고 보이는 셀만 선택되어, 그대로 복사·붙여넣기할 수 있습니다.
절대참조한 서식에 대해 궁금한 점이 있어 댓글 남깁니다.
절대참조를 이용하여 SUM 함수를 작성하였는데,
여기에 제일 처음 시작하는 열에 추가를 하게 되면 절대참조가 한줄 밀려버리게 됩니다.
혹시 이렇게 참조가 시작되는 첫줄이 추가 되어도 수식이 변동이 없도록 하는 방법이 없을까요?
만약 행/열을 추가해도 변하지 않는 참조를 하시려면 INDIRECT 함수를 사용하시면 됩니다.
위와 같이 함수를 입력해보시겠어요?
답변이 도움이 되셨길 바랍니다.
감사합니다.
찾기 및 바꾸기를 사용해보시겠어요?
찾을내용:B
바꿀내용 : $B$
이렇게 변경해보세요.