이전 강좌에서 상대 참조를 자동 채우기하면, 만들어진 모든 셀은 자기 자신을 기준으로 참조 대상 셀을 상대적인 위치로 찾아서 참조하므로 참조의 대상이 바뀌게 된다는 것을 확인했습니다. 모르는 얘기라면 이전 강좌 확인 후 돌아와 주세요.
이번에도 동일한 질문으로 시작하겠습니다.
"C,D,E열 각 셀의 값을 B열의 셀 값으로 채우고 싶다"라는 것입니다.
일단은 2행만 자동 채우기 하겠습니다.
- 일단 작업할 셀(C2)을 클릭하여 선택합니다.
- 수식 입력줄에 "="을 입력하여 시작합니다.
- 참조할 대상 셀(B2)을 클릭합니다. 수식 입력줄에 "B2"가 자동 작성됩니다. 이때 키보드 상단의 기능키 중 F4키를 누릅니다. "=B2"에서 "=$B$2"로 바뀝니다.
ENTER로 셀을 완성합니다. => C2셀이 완성되고 C3셀이 준비됩니다.
- 완성된 C2셀을 다시 클릭하여 자동 채우기 대상을 선택합니다.
- 셀의 우측 하단에서 완성하고자 하는 열의 끝(E2) 셀까지 클릭 드래그합니다. => C2:E2이 자동 채워집니다.
결과는 물론 1000입니다. 변한 게 없죠. 그럼 이전과 다른 점을 다시 생각해 보겠습니다.
다른 점이라곤 ❸번 단계에서 F4키를 누른 것 밖에 없습니다.
그리고 F4를 눌렸을때 "$"의 표시가 B앞에, 2앞에 생기는 것을 확인하셨을 겁니다. 여기서 "B2"의 의미는 참조 대상 셀의 위치라는 것은 이미 알고 있는 사항입니다.
"$"가 붙었다고 위치가 바뀌는 것은 아닙니다. 위치는 여전히 "B2"입니다. 이제 문제는 "$"가 무엇이냐는 것입니다.
셀의 위치는 열에 해당하는 알파벳과 행에 해당하는 숫자로 구분됩니다. 열과 행이 만나는 지점이 셀이 위치죠.
그리고 지금 생긴 "$"는 위치와는 상관없으며 단순히 "고정"한다는 의미입니다. 지금처럼 알파벳 앞에 "$"는 열의 고정을, 숫자 앞에 "$"는 행의 고정을 뜻합니다.
자동 채우기를 하기 전에 완성한 C2셀만 보자면 "=B2"이건 "=$B$2"이건 고정의 의미는 필요 없습니다. 그냥 "B2"셀의 값을 참조한다는 것에는 변화가 없죠.
문제는 자동 채우기에서 생깁니다.
일반적인 상대 참조 후 자동 채우기는 참조하는 셀(C2, 참조 대상 B2)이 우측으로 한 칸 이동하면(D2, 참조 대상 C2) 참조 대상이 되는 셀도 우측으로 한 칸 이동(B2→C2)하게 됩니다. 참조 하는 셀과 참조 대상 셀이 모두 같이 알파뱃이 증가하는 것이 되죠.
행으로도 원리는 같지만, 숫자가 증가하겠죠. 참조하는 셀(C2, 참조 대상 B2)이 아래로 한 칸 이동하면(C3, 참조 대상 B3) 참조 대상이 되는 셀도 아래로 한 칸 이동(B2→B3)하게 됩니다. 참조하는 셀과 참조 대상 셀이 모두 같이 숫자가 증가하는 것이죠. 이것이 참조의 원리였고 그래서 결국 자기 자신을 기준으로 참조 대상 셀을 상대적인 위치로 찾아가는 결과가 되어버린 것입니다.
그런데 "$"는 고정을 의미한다고 했습니다. 원래 바뀌어야 하는 알파벳과 숫자를 바뀌지 않게 고정하겠다는 것이죠.
수식을 확인해 보겠습니다.
수식 탭 > 수식 표시 버튼을 그림의 순으로 클릭합니다.
"$"는 위치의 의미가 없으니까 무시하셔도 됩니다. 참조 대상 셀의 위치는 결국 모두 B2란 것이죠. 열이든 행이든 증가할 수 없게 고정했으니 자동 채우기를 해도 참조 대상의 위치가 바뀔 수 없게 된 것입니다.
그럼, 이전처럼 수식에 +1을 추가해서 확인해 보겠습니다.
일단 리본 메뉴에서 "수식 표시" 버튼을 눌러 원래의 보기 상태로 돌아와 주세요. 그리고 수식을 수정하겠습니다.
- 자동 채우기를 할 대상 셀(C2)을 다시 클릭하여 선택합니다. => 현재 수식 =$B$2
- 수식 입력줄에서 작성된 수식에 "+1"를 추가 입력한 후 ENTER를 눌러 완성합니다. => =$B$2+1
- 선택 셀이 C3으로 바뀌었으므로 다시 자동 채우기를 할 대상 셀(C2)을 클릭하여 선택합니다.
- E2셀까지 자동 채우기 진행합니다.
결과 C2,D2,E2 모두 B2셀 값에 +1을 한 1001값이 완성됩니다.
지금처럼 "$"의 표시가 열과 행인 알파벳과 숫자 앞에 모두 표시되게 하여 참조 대상 셀을 움직이지 못하게 하는 참조의 방식을 "절대 참조"라 합니다.
절대 참조 : 참조 대상 셀의 열과 행을 고정하여 자동 채우기 시 동일 셀만 참조
그럼, 문제가 해결된 것일까요?
열의 자동 채우기는 진행했지만, 아직 행의 자동 채우기를 진행한 상태는 아니죠. 행의 자동 채우기를 진행하겠습니다.
- 자동 채우기를 할 모든 대상 셀(C2:E2)을 드래그 선택합니다.
- 행으로 자동 채우기를 진행해야 하니 선택한 셀의 우측 하단에서 완성할 셀(E6)까지 클릭 드래그합니다.
결과 문제는 해결되지 않습니다. C3:E3은 2001, C4:E4는 3001, C5:E5는 4001, C6:E6은 5001이 나와야 하지만, 모두 1001로 만들어집니다.
당연한 결과입니다. 참조 대상 위치는 "B2"이고 행과 열을 모두 "$"로 고정했으므로 자동 채우기를 하더라도 모두 "B2"셀의 값인 1000에 +1을 한 결과가 됩니다.
절대 참조 역시 해결책이 아닙니다.