절대 참조와 혼합 참조
달러 기호 하나로, 복사한 수식이 B1의 세율을 계속 바라볼지 아래 빈 셀로 미끄러질지가 정해집니다.
채우기 한 번에 세금 열이 망가지는 이유
문제부터 하나 내겠습니다. 세율 10%가 B1에, 가격 네 개가 A4부터 A7까지 들어 있습니다. B4에 =A4*B1을 쓰면 2가 나오고, 이 값은 맞습니다. 그런데 이 수식을 B7까지 끌어 내려 채우면 B5에는 0, B6에는 #VALUE!, B7에는 25가 찍힙니다. 다음 문단을 읽기 전에 세 칸이 왜 틀렸는지 먼저 짐작해 보세요. 답이 셋 다 다르다는 데 실마리가 있습니다.
B5를 눌러 수식을 보면 =A5*B2로 바뀌어 있습니다. 아래로 채우면 평범한 참조는 전부 한 행씩 내려갑니다. 가격 참조가 A4에서 A5로 내려간 것은 원하던 일입니다. 문제는 세율 참조도 B1에서 B2로 따라 내려갔다는 데 있습니다. B2는 빈칸이고, 곱셈에서 빈칸은 0으로 칩니다. 그래서 B5에는 아무 경고 없이 0이 나옵니다. B6은 B3을 곱하는데, B3에는 「Tax」라는 제목 글자가 들어 있습니다. Microsoft의 #VALUE! 오류 안내에도 +나 * 같은 연산은 텍스트가 든 칸을 계산하지 못할 수 있다고 적혀 있습니다. B7은 첫 번째 세금 결과가 든 B4를 곱해서 12.5 × 2 = 25가 됩니다. 그럴듯해 보여서 셋 가운데 가장 알아채기 어렵습니다. 채우기 한 번에 틀린 답이 세 가지로 나왔고, 그중 오류 표시가 뜬 칸은 하나뿐입니다.
고치려면 B1은 움직이면 안 된다고 스프레드시트에 알려 줘야 합니다. 주소의 한 부분 앞에 달러 기호($)를 붙이면 그 부분이 고정됩니다. $B$1은 열과 행을 둘 다 고정한 주소이고, 이런 참조를 절대 참조라고 합니다. 수식이 어디로 옮겨 가든 $B$1은 언제나 B1을 가리킵니다. 첫 세금을 =A4*$B$1로 쓰고 아래로 채우면 =A5*$B$1, =A6*$B$1처럼 이어집니다. Microsoft 안내의 예에서도 =$B$4*$C$4는 D4에서 D5로 복사해도 한 글자도 바뀌지 않습니다. 여기서 $는 돈과 상관이 없습니다. 고정한다는 표시일 뿐입니다.
세율을 칸 하나에 따로 두면 얻는 것이 하나 더 있습니다. 세율이 10%에서 12%로 바뀌면 B1만 고치면 되고, 모든 행이 한꺼번에 다시 계산됩니다. 수식마다 *0.1을 직접 써 넣었다면 복사본을 하나하나 찾아 고쳐야 하고, 하나라도 놓치면 멀쩡해 보이는 틀린 숫자가 남습니다. 집에서 쓰는 가계부도 마찬가지입니다(지어낸 예입니다). 한 끼 급식비 단가를 F1에 한 번 적어 두고 =B3*$F$1처럼 가리키면, 단가가 오른 달에는 F1 한 칸만 바꾸면 됩니다. 세율, 한도, 환율, 단가처럼 바뀔 수 있는 값은 시트 위쪽에 이름을 붙여 따로 두고, 수식에서는 절대 참조로 가리키세요.
끌어서 돌리고, 휠이나 두 손가락으로 확대하세요.
행만, 또는 열만 고정하기
한 부분만 고정할 수도 있습니다. A$1은 행이 고정되고 열은 움직입니다. $A1은 반대로 열이 고정되고 행이 움직입니다. Microsoft 안내의 표는 네 가지 모양을 각각 아래로 두 칸, 오른쪽으로 두 칸 복사한 결과를 보여 줍니다. $A$1은 그대로 $A$1이고, A$1은 C$1, $A1은 $A3, A1은 C3이 됩니다. 이 기호를 손으로 칠 일은 많지 않습니다. 수식을 고치는 중에 참조 위에 커서를 두고 F4를 누르면 누를 때마다 A1, $A$1, A$1, $A1 순서로 바뀌다가 다시 A1로 돌아옵니다. 구글 단축키 목록에도 Sheets에서 같은 일을 하는 키가 F4로, Mac 키보드에서는 Fn+F4로 나와 있습니다.
| 참조 | 열 | 행 | 아래 2칸, 오른쪽 2칸 복사 |
|---|---|---|---|
| A1 | 움직임 | 움직임 | C3 |
| $A$1 | 고정 | 고정 | $A$1 |
| A$1 | 움직임 | 고정 | C$1 |
| $A1 | 고정 | 움직임 | $A3 |
혼합 참조가 제값을 하는 곳은 위쪽과 옆쪽에 입력값이 하나씩 늘어선 격자입니다. 곱셈표가 대표적입니다. 초등학교에서 외운 구구단 표를 떠올리면 모양이 바로 잡힙니다. B1:F1에 1부터 5까지, A2:A6에도 1부터 5까지 넣고 B2에 =B$1*$A2를 씁니다. 이 수식을 F2까지 옆으로, F6까지 아래로 채워 보세요. 스물다섯 개 복사본이 모두 위쪽 숫자는 1행에서, 옆쪽 숫자는 A열에서 읽어 오기 때문에 수식 하나로 표 전체가 맞게 채워집니다. 표가 10×10으로 커져도 B2에 쓴 수식 하나를 그대로 채우기만 하면 됩니다.
끌어서 돌리고, 휠이나 두 손가락으로 확대하세요.
- $ 없이 =A4*B1을 아래로 채우기 세율 참조가 가격과 함께 B2, B3, B4로 내려가서, 세금 세 개 대신 0, #VALUE!, 엉뚱한 25가 나옵니다.
- $를 엉뚱한 쪽에 붙이기: 아래로 채울 때 =A4*B$1은 되지만 =A4*$B1은 안 됩니다. $B1은 열만 고정하므로 행은 여전히 내려갑니다. 수식을 어느 방향으로 복사할지 먼저 정하고, 그 방향으로 움직이는 부분을 고정하세요. 아래로 채울 때는 행, 옆으로 채울 때는 열입니다.
- 수식마다 *0.1을 직접 써 넣기 세율이 바뀌기 전까지는 문제가 없습니다. 바뀌는 순간 복사본을 모두 찾아 고쳐야 하고, 놓친 칸은 여전히 멀쩡해 보입니다.
- Google Sheets에서 수식 밖에서 F4를 누르고 $가 붙기를 기다리기 F4가 참조 모양을 바꾸는 것은 수식을 입력하는 동안뿐입니다. 그 밖에서는 다시 실행 키 가운데 하나입니다. 수식 입력줄 안에서 커서를 참조 위에 둔 채로 누르세요.
- =A4*$B$1을 한 행 아래로 복사합니다. 무엇이 될까요?
- 수식 입력줄에서 커서가 A1 위에 있을 때 F4를 한 번 누릅니다. A1은 무엇이 될까요?
- 한 번 더 F4를 누르면 무엇이 될까요?
- =A$1을 아래로 두 칸, 오른쪽으로 두 칸 복사합니다. 무엇이 될까요?
- =$A1을 아래로 두 칸, 오른쪽으로 두 칸 복사합니다. 무엇이 될까요?
- B2의 =B$1*$A2를 C3으로 복사합니다. 무엇이 될까요?
- 그 곱셈표에서 =E$1*$A5의 값은 얼마일까요?
- B1에 10%, B4에 =A4*B1이 있습니다. B4를 B7까지 채우면 무엇이 잘못될까요?
- 세율 참조가 B1에서 미끄러져 B5는 0이 되고 그 아래 행도 틀린다
- 모든 행에 #REF!가 나온다
- 모든 행에 같은 가격이 나온다
- 아무 문제 없다
- 행은 고정하고 열은 움직이게 하는 참조는 어느 것일까요?
- A$1
- $A1
- $A$1
- A1
- Mac의 Google Sheets에서 참조 형태를 바꾸는 키는 무엇일까요?
- Fn+F4
- Ctrl+D
- Ctrl+~
- Shift+F2
- $는 바로 뒤 부분을 고정합니다. $A$1은 둘 다, A$1은 행, $A1은 열입니다.
- 모든 행이 함께 쓰는 입력 셀 하나에는 $B$1을 씁니다.
- F4는 A1, $A$1, A$1, $A1을 돌아가며 바꿉니다(Mac의 Google Sheets는 Fn+F4).
- 혼합 참조를 쓰면 수식 하나로 격자 전체를 채울 수 있습니다.
이 과정의 출처 (19)
- Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
- Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
- Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
- Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
- Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
- Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
- Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
- Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
- Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
- Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
- Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
- Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
- Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
- Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
- Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
- Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
- Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
- Ablebits (IF without value_if_false returns FALSE)
- Spreadsheet Class (Sheets circular dependency shows #REF!)
확인한 날: 2026-10-19