KutoolsforOffice— 하나의 솔루션, 다섯 가지 강력한 도구。적은 노력으로 더 큰 성과。

Excel 에서 행을 삽입하거나 삭제할 때 항상 위쪽 셀의 값을 가져오는 방법은 무엇인가요?

작성자Xiaoyang수정 날짜

Excel 에서 바로 위 셀의 값을 참조하는 것은 누적 합계 생성, 월별 비교 또는 워크시트가 변경됨에 따라 데이터 일관성을 유지하기 위한 일반적인 요구사항입니다。 일반적으로=D5와 같은 간단한 수식으로 위쪽 셀을 참조할 수 있지만, 이 방법에는 한계가 있습니다。 예를 들어 행을 삽입하거나 행 삭제하면 수식이 새롭게 생긴 '바로 위‘ 셀을 기대대로 참조하지 못할 수 있습니다。 아래 그림에서 볼 수 있듯이, 위쪽에 새 행을 삽입하면 연속성이 끊기거나 원래 셀을 계속 참조하게 되어 위치 조정이 제대로 이루어지지 않을 수 있습니다。

Excel에서 행을 삽입한 후 위쪽 셀에 대한 참조가 깨지는 모습을 보여주는 스크린샷

이 문제를 해결하고 행을 삽입하거나 행 삭제한 후에도 항상 바로 위 셀의 값을 가져오도록 하려면 여러 가지 방법을 사용할 수 있습니다。 각 방법은 워크시트의 복잡성, 자동 업데이트 여부, 수동 수식 사용 여부, VBA/매크로 사용 가능성 등에 따라 서로 다른 장단점을 가집니다。

목차:


파란색 오른쪽 화살표 말풍선행을 삽입하거나 삭제할 때 항상 위쪽 셀의 값을 가져오는 방법

매크로나 복잡한 설정 없이 이 문제를 간단히 해결하려면 행 구조가 어떻게 변경되더라도 항상 바로 위 셀을 동적으로 참조하는 수식을 사용할 수 있습니다. 이 수식은 Excel 의INDIRECTADDRESS함수를 활용하여 삽입이나 삭제로 인해 행이 이동하더라도 항상 '바로 위‘ 셀을 추적합니다。 따라서 목록 상단이나 중간에 자주 새 데이터를 추가하는 등 행 구조를 자주 수정하는 워크시트에 특히 적합합니다。

항상 위쪽 셀의 값을 가져오려는 셀(예: B5 를 참조하려는 B6 셀)에 다음 수식을 직접 입력하세요。

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))

수식 입력 후Enter키를 누르세요。 그러면 현재 셀에 바로 위 셀의 값이 즉시 표시됩니다(아래 그림 참조)。

Excel에서 INDIRECT 및 ADDRESS 함수를 사용하여 위쪽 셀을 참조하는 수식을 보여주는 스크린샷

이제 수식 셀 위쪽 어디에 새 행을 삽입하더라도 수식이 다시 계산되어 항상 새롭게 생긴 위쪽 셀의 값을 표시합니다。 이렇게 하면 행을 삽입하거나 삭제하더라도 수식이 항상 최신 상태를 유지합니다。 다음 스크린샷을 참고하세요。

Excel에서 행을 삽입한 후에도 올바른 셀 참조가 유지되는 모습을 보여주는 스크린샷

매개변수 설명 및 팁:

  • 이 수식은 현재 수식이 입력된 셀 바로 위에 있는 셀의 값을 가져옵니다. 따라서 B6 셀에 이 수식을 사용하면 항상 B5 의 값을 반영하며, 위쪽에 행을 삽입하거나 삭제하더라도 그 관계가 유지됩니다。
  • 데이터의 첫 번째 행(예: A1)에 이 수식을 사용하면 존재하지 않는 행에서 데이터를 가져오려고 하여#REF!오류가 발생할 수 있습니다。 이를 방지하려면 다음과 같이 오류 처리를 추가하여 첫 번째 행에서는 공백을 표시하도록 할 수 있습니다。=IF(ROW()=1,"",INDIRECT(ADDRESS(ROW()-1,COLUMN())))
  • 다음 사항을 유의하세요。INDIRECT함수는 비휘발성(volatile) 함수이므로 워크시트가 매우 크고 이 함수를 과도하게 사용할 경우 계산 속도가 느려질 수 있습니다。
  • 이 수식은 워크시트 구조가 어떻게 변경되더라도 행 위치와의 엄격한 관계를 유지하고자 할 때 효과적으로 작동합니다。

문제 해결 및 요약 제안:
행을 삽입하거나 삭제한 후 수식이 예상대로 업데이트되지 않으면 해당 수식이 의도한 셀에 정확히 입력되었는지 확인하세요。 또한 절대 참조(예: $A$1)는 정적이므로 사용하지 마세요。 첫 번째 행에서#REF!오류가 발생하면 앞서 언급한 조건부 수식을 사용하는 것을 고려하세요。 더 고급 자동화가 필요하거나 단순 참조가 아닌 값을 복사하려는 경우 아래의 VBA 이벤트 기반 매크로 솔루션을 참조하여 동적이고 코드 기반의 접근법을 적용할 수 있습니다。


파란색 오른쪽 화살표 말풍선 VBA 이벤트 기반 매크로를 사용하여 위쪽 셀의 값을 자동으로 업데이트합니다(항상 동적임)

삽입이나 삭제와 무관하게 항상 위쪽 셀의 값을 자동으로 업데이트하고, 수식을 복사하지 않고도 이를 관리하려는 경우 이벤트 기반 VBA 매크로를 사용하는 것이 효과적입니다。 이 방법은 매크로 사용에 익숙한 사용자에게 적합하며, 특정 셀이나 범위를 선택하거나 값을 변경할 때마다 대상 셀을 자동으로 위쪽 셀의 값과 동일하게 설정하여 워크시트가 어떻게 변경되더라도 데이터 입력의 일관성을 보장합니다。 특히 각 새 행에 고정된 패턴이나 기본값을 설정하려는 템플릿에서 유용합니다。

Worksheet_Change 이벤트를 사용하여 다음과 같이 설정할 수 있습니다。

1.이 기능을 적용할 워크시트 탭을 마우스 오른쪽 버튼으로 클릭하고코드 보기를 선택하세요。 그러면 Microsoft Visual Basic for Applications 편집기가 해당 워크시트 모듈을 열어줍니다。

2.다음 VBA 코드를 워크시트 모듈 창에 복사하여 붙여넣으세요。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim WatchRange As Range
    On Error Resume Next
    ' Set the range you want to monitor (for example, B2:B100)
    Set WatchRange = Intersect(Target, Me.Range("B2:B100"))
    
    If Not WatchRange Is Nothing Then
        Application.EnableEvents = False
        Dim cell As Range
        
        For Each cell In WatchRange
            ' Avoid the first row, or adjust as needed
            If cell.Row > 1 Then
                cell.Value = Me.Cells(cell.Row - 1, cell.Column).Value
            End If
        Next cell
        
        Application.EnableEvents = True
    End If
End Sub

매개변수 참고사항:다음 코드의"B2:B100"부분을 원하는 동작 범위로 바꾸세요()Me.Range("B2:B100"))。 전체 열(예:"B:B")로 지정할 수도 있지만, 범위를 좁히면 성능이 향상되고 의도치 않은 덮어쓰기를 방지할 수 있습니다。

3.VBA 편집기를 닫으세요. 이제 제한된 범위 내에서 셀이 변경되거나 행이 삽입되거나 워크시트가 업데이트될 때마다 해당 셀이 자동으로 위쪽 셀의 값을 반영합니다. 예를 들어 5 행에 새 행을 삽입하면 그 지점부터 열 B 의 모든 모니터링 셀이 새 위치에서 바로 위 셀의 값을 가져옵니다。

  • 주의: 이 코드는 모니터링 범위 내의 수동으로 값 입력을 덮어씁니다。 수식이 포함된 셀이 있거나 원래 입력값을 보존해야 하는 경우 신중하게 사용하세요。
  • 향후에도 이 VBA 매크로를 워크북에서 계속 사용하려면 파일을 매크로 사용 워크북(。xlsm)으로 저장해야 합니다。
  • 이 이벤트 코드는 매크로가 붙여진 워크시트 모듈에서만 작동합니다(각 시트 모듈에 코드를 추가하지 않는 한 모든 시트에서 작동하지 않음)。
  • 값 변경 시가 아니라 셀 선택 시 업데이트를 실행하려면 다음과 같은 로직으로Worksheet_SelectionChange이벤트를 사용할 수 있습니다。

문제 해결 및 요약 제안:
VBA 스크립트를 복사한 후에도 작동하지 않으면 워크북에서 매크로가 활성화되어 있고 코드가 올바른 시트 모듈(표준 모듈이 아님)에 붙여넣어졌는지 확인하세요. 오류가 발생하거나 Excel 이 멈추는 경우 Application.EnableEvents 가 자동 셀 변경 전에 False 로 설정되고 이후 True 로 재설정되었는지 확인하여 재귀 루프를 방지하세요。 더 정교한 제어나 고급 동작이 필요한 경우 데이터 구조에 맞춰 맞춤형 스크립팅을 고려하세요。


최고의 Office 생산성 도구

🤖KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행   |  코드 생성|  사용자 지정 수식 생성  |  데이터 분석 및 차트 생성|  향상된 함수 호출
인기 기능:찾기, 강조 표시 또는 중복 표시   |  빈 행 삭제   |  데이터 손실 없이 열 결합 또는 셀 제거   |  공식을 사용하지 않는 반올림...
슈퍼 LOOKUP:다중 조건 VLookup  |  다중 값 VLookup  |   여러 시트에서 VLookup   |   퍼지 매치....
고급 드롭다운 목록:드롭다운 목록 빠르게 생성   |  종속형 드롭다운 목록   |  다중 선택 드롭다운 목록....
열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교...
주요 기능:그리드 포커스   |  디자인 보기   |향상된 수식 표시줄   | 워크북 및 시트 관리자   |  자원 라이브러리(자동 텍스트)|  날짜 선택기   |  워크시트 병합  |  암호화/셀 해독   | 목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。
상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)|   50+차트유형(간트 차트, ...)|   40+ 실용적인수식(생일을 기준으로 나이 계산, ...)|   19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)|   12 변환도구(단어로 변환하기,환율 변환, ...)|   7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능
Kutools 를 선호하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 및 40+개 이상의 언어를 지원합니다!

Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。


Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다

  • Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
  • 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!

모든 Kutools 애드인。 하나의 설치 프로그램

Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。

ExcelWordOutlookTabsPowerPoint
  • 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
  • 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
  • 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
  • 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
  • 최고의 가성비— 개별 애드인 구매 대비 절약