AI 해결 노트 · 2026-09-18 · 실측 2026-09-18

엑셀 수식이 계산되지 않을 때 — 텍스트 서식·앞따옴표·수동 계산을 하나씩 재현했습니다

한 줄로

수식이 안 먹는 경우 네 가지를 각각 만들어 놓고 증상과 복구 후 값을 재 봤습니다. 화면에 =A1+A2 라는 글자가 그대로 보인 두 경우는 그 칸이 수식으로 인정되지 않았고(텍스트 서식, 앞 작은따옴표), 숫자는 보이는데 값이 안 바뀐 경우는 계산 옵션이 수동이었습니다.

증상

실측 환경

항목
OSMicrosoft Windows 11 Home 10.0.26200 (build 26200)
PowerShell 7.6.6
엑셀Excel 16.0, build 20326
시험 파일빈 통합 문서를 새로 만들어 직접 넣은 값 (A1=10, A2=20)

각 경우마다 엑셀이 그 칸을 어떻게 보고 있는지 여섯 가지를 찍어 확인했습니다. 화면에 보이는 글자(.Text), 값(.Value2), 수식(.Formula), 수식으로 인정되는가(.HasFormula), 셀 서식(.NumberFormat), 앞에 붙은 글자(.PrefixCharacter)입니다.

네 가지를 하나씩 만들어 봤습니다

아래는 돌린 스크립트에서 설정 부분만 뽑은 것입니다. 실제로는 경우 3에서 수동으로 바꾼 뒤 A1을 100으로 고쳐 값이 안 따라오는 것을 확인했고, 경우 4는 계산 옵션을 자동으로 되돌리고 A1을 10으로 돌려놓은 상태에서 돌렸습니다.

$xl = New-Object -ComObject Excel.Application
$wb = $xl.Workbooks.Add()
$ws = $wb.Worksheets.Item(1)
$ws.Range("A1").Value2 = 10
$ws.Range("A2").Value2 = 20

# 경우1 — 셀 서식을 '텍스트'로 만들어 두고 수식을 넣는다
$ws.Range("B1").NumberFormat = "@"
$ws.Range("B1").Formula = "=A1+A2"

# 경우2 — 앞에 작은따옴표를 붙여서 넣는다
$ws.Range("B2").Value2 = "'=A1+A2"

# 경우3 — 계산 옵션을 수동으로 바꾼다 (-4135 = xlCalculationManual)
$ws.Range("B3").Formula = "=A1+A2"
$xl.Calculation = -4135

# 경우4 — 자기 칸을 가리키는 수식
$ws.Range("B4").Formula = "=B4+1"

결과 — 증상과 복구

경우화면에 보이는 것.HasFormula알아보는 표시복구 방법복구 후 값
1 · 셀 서식이 텍스트=A1+A2False.NumberFormat@서식을 일반으로 바꾼 뒤 수식을 다시 입력30
2 · 앞에 작은따옴표=A1+A2False.PrefixCharacter'수식을 다시 입력30
3 · 계산 옵션 수동30 (옛 값)True상태 표시줄에 「계산」한 번 계산시키거나 계산 옵션을 자동으로120
4 · 순환 참조0True.CircularReferenceB4자기 칸을 가리키지 않게 고침20

경우 1과 2는 화면에서 똑같이 보입니다. 둘 다 .Text=A1+A2 이고 .HasFormulaFalse 입니다. 구분은 셀 서식과 앞글자로 합니다.

경우1·경우2 는 수식이 글자로 왼쪽에 붙어 보이고, 정상인 칸만 30 이 오른쪽에 붙는다
경우1·경우2 는 수식이 글자로 왼쪽에 붙어 보이고, 정상인 칸만 30 이 오른쪽에 붙는다

글자로 들어간 칸은 왼쪽 맞춤, 계산된 숫자는 오른쪽 맞춤 으로 붙습니다. 맞춤을 손대지 않은 표라면 이것이 가장 빨리 눈에 띄는 표시입니다.

경우 1 — 서식만 되돌려서는 안 됩니다

셀 서식을 텍스트에서 일반으로 되돌린 직후에 다시 찍어 보면 이렇습니다.

[서식만 일반으로 바꾼 뒤] B1
    화면에 보이는 것(.Text)  = '=A1+A2'
    값(.Value2)              = '=A1+A2'
    수식인가(.HasFormula)    = False
    셀 서식(.NumberFormat)   = 'G/표준'

서식은 일반으로 바뀌었는데 여전히 글자입니다. 이미 글자로 들어간 값은 서식을 바꾼다고 수식으로 돌아오지 않습니다. 같은 수식을 한 번 더 넣어야 합니다.

[수식을 다시 넣은 뒤] B1
    화면에 보이는 것(.Text)  = '30'
    수식인가(.HasFormula)    = True

저희가 확인한 복구는 COM으로 .Formula 를 한 번 더 설정하는 것이었습니다. 화면에서 같은 일에 해당하는 조작으로는 그 칸을 누르고 F2 를 눌렀다가 그대로 Enter 를 치는 방법이 쓰입니다. 그 방법이 같은 결과를 내는지는 이번 시험에서 확인하지 않았습니다.

경우 2 — 작은따옴표는 화면에 안 보입니다

'=A1+A2 를 넣은 칸은 서식이 G/표준 으로 멀쩡한데도 계산되지 않았습니다. 앞에 붙은 작은따옴표는 .Text 에 들어 있지 않았고 .PrefixCharacter 에만 ' 로 남았습니다. 화면에 보이는 글자는 경우 1과 똑같았다는 뜻입니다. 이 칸도 수식을 다시 넣으니 30이 나왔고 .PrefixCharacter 가 비었습니다.

경우 3 — 숫자는 보이는데 안 바뀝니다

=A1+A2 가 30을 내고 있는 상태에서 계산 옵션을 수동으로 바꾼 뒤 A1을 10에서 100으로 고쳤습니다. 120이 되어야 하는데 30 그대로였습니다.

계산 옵션이 수동이면 B1 을 100 으로 바꿔도 아래 합계는 30 그대로다. 상태 표시줄에 「계산」이 떠 있다
계산 옵션이 수동이면 B1 을 100 으로 바꿔도 아래 합계는 30 그대로다. 상태 표시줄에 「계산」이 떠 있다

왼쪽 아래 상태 표시줄을 보시면 「준비」 옆에 「계산」 이라는 글자가 하나 더 떠 있습니다. 계산할 것이 밀려 있다는 표시입니다. 복구 후 캡처에서는 이 글자가 사라졌습니다.

복구는 두 가지입니다.

  1. 한 번만 계산 — COM으로는 $xl.Calculate(). 부르고 나니 120으로 바뀌었습니다. 화면에서 여기에 해당하는 키는 F9 인데, 키를 눌러서 확인하지는 못했습니다.
  2. 계속 자동으로 — COM으로는 $xl.Calculation = -4105. A1을 7로 바꾼 뒤 이 값을 자동으로 되돌리자 27이 됐습니다.
복구한 뒤 — 세 칸 모두 120 이 되고 상태 표시줄의 「계산」이 사라졌다
복구한 뒤 — 세 칸 모두 120 이 되고 상태 표시줄의 「계산」이 사라졌다

남이 보낸 파일 하나가 다른 파일까지 멈춥니다

계산 옵션은 파일마다 따로 걸리지 않습니다. 확인해 봤습니다. 계산 옵션을 수동으로 둔 채 저장한 파일과 자동으로 둔 채 저장한 파일을 하나씩 만들고, 새 엑셀에서 여는 순서를 바꿔 가며 Application.Calculation 을 읽었습니다.

먼저 연 파일그때 계산 옵션이어서 연 파일그 뒤 계산 옵션
수동으로 저장한 파일수동(-4135)자동으로 저장한 파일수동(-4135) 그대로
자동으로 저장한 파일자동(-4105)수동으로 저장한 파일자동(-4105) 그대로

두 순서 모두, 먼저 연 파일의 설정이 뒤에 연 파일에까지 그대로 갔습니다. 수동 파일을 먼저 연 상태에서 자동으로 저장한 파일을 열고 그 파일의 A1을 100으로 고쳐 봤더니, 합계 칸은 3에 멈춘 채 102로 바뀌지 않았습니다. 멀쩡하던 내 파일이 갑자기 계산을 멈췄다면 그날 먼저 연 파일을 의심하시면 됩니다. 저희가 확인한 범위는 같은 엑셀 안에서 연 통합 문서 두 개까지입니다.

경우 4 — 순환 참조

B4=B4+1 을 넣었습니다. 값은 0 이 됐고 .HasFormulaTrue 였습니다. 수식이긴 한데 계산이 안 된 것입니다. 시트의 .CircularReference 를 읽으니 B4 가 나왔습니다. 자기 칸을 가리키지 않는 =A1*2 로 고치니 20이 됐습니다.

저희는 COM에서 대화상자를 끄고 돌렸기 때문에 화면 경고는 보지 않았습니다.

어디부터 보면 되나

  1. 그 칸이 왼쪽·오른쪽 어느 쪽에 붙어 있는지 봅니다. 저희 캡처에서는 글자로 들어간 칸이 왼쪽, 계산된 숫자가 오른쪽이었습니다. 맞춤을 손댄 표에서는 이 표시가 통하지 않으니 참고로만 쓰시고 서식과 함께 보셔야 합니다.
  2. 그 칸의 셀 서식이 「텍스트」인지 봅니다. 저희 경우 1의 칸은 .NumberFormat@ 였고 .HasFormulaFalse 였습니다.
  3. 서식이 일반인데도 글자로 남는 경우를 저희는 두 가지 봤습니다. 서식만 바꾸고 수식을 다시 넣지 않은 경우(경우 1)와 앞에 작은따옴표가 붙은 경우(경우 2)입니다. 둘 다 고치는 법은 수식을 다시 넣는 것으로 같습니다.
  4. 숫자는 나오는데 안 바뀌면 상태 표시줄에 「계산」이 있는지 봅니다 → 경우 3.
  5. 0이 나오면 그 수식이 자기 칸을 포함하고 있지 않은지 봅니다 → 경우 4.

실패한 것

확인하지 않은 것

함께 보기