Excel에서 첫 번째 / 마지막 양수 / 음수를 찾는 방법은 무엇입니까?
양수와 음수 값을 모두 포함하는 숫자 열로 작업할 때, 범위에서 첫 번째 또는 마지막 양수 또는 음수를 신속하게 찾아야 하는 경우가 많습니다. 이는 데이터 분석, 추세 감지 또는 대규모 데이터 세트에서 특정 항목을 식별하는 데 특히 유용할 수 있습니다. 대규모 데이터 세트의 경우 수동 검사는 비효율적이고 오류가 발생하기 쉽습니다. 다행히도 Excel에서는 수식이나 자동화를 통해 필요한 정확한 값을 추출할 수 있도록 이 작업을 간소화하는 여러 실용적인 방법을 제공합니다. 아래에서는 반복적이거나 대규모 작업에 이상적인 고급 접근 방식을 포함하여 다양한 시나리오에 적합한 여러 솔루션을 제공합니다.
첫 번째 / 마지막 양수 / 음수를 찾기 위한 VBA 매크로
배열 수식을 사용하여 첫 번째 양수 / 음수 찾기
일련의 값에서 첫 번째 양수 또는 음수를 추출하려면 Excel의 배열 수식을 사용할 수 있습니다. 이 방법은 추가 애드인이나 매크로가 제한된 환경에서 수식에 익숙한 사용자에게 적합하며, 중간 크기의 데이터 범위에 대한 빠른 해결책이 필요할 때 적합합니다. 배열 접근 방식은 소스 데이터가 변경되면 자동으로 업데이트되므로 동적 목록에 매우 적합합니다. 다음은 이를 구현하는 방법입니다:
1. 빈 셀을 선택하고, 다음과 같은 배열 수식을 입력하여 첫 번째 양수를 얻으세요:
=INDEX(A2:A18,MATCH(TRUE,A2:A18>0,0))
여기서 A2:A18은 검색하려는 데이터 목록을 나타냅니다. 이 수식은 해당 범위에서 0보다 큰 값을 가진 첫 번째 셀을 찾아 그 셀의 내용을 반환합니다. 다음 스크린샷을 참조하세요:
2. 수식을 입력한 후 Enter만 누르지 말고 Ctrl + Shift + Enter를 동시에 누릅니다. 이렇게 하면 배열 수식이 올바르게 실행되어 아래 예제에 표시된 대로 목록에서 첫 번째 양수가 반환됩니다:
팁: 첫 번째 음수를 검색하려면 다음 수식을 사용하세요 (입력 후에는 반드시 Ctrl + Shift + Enter를 누르세요):
=INDEX(A2:A18,MATCH(TRUE,A2:A18<0,0))
두 수식 모두 조건(양수는 >0
, 음수는 <0
)을 변경하면 원하는 숫자 유형을 타겟팅할 수 있습니다. 배열 수식은 빈 셀 참조를 지원하지 않으므로 일관된 결과를 위해 데이터 범위에 빈 셀이 포함되지 않도록 해야 합니다. 모든 숫자가 양수 또는 음수라면 수식이 오류를 반환할 수 있으므로 오류를 숨기고 사용자 정의 메시지를 표시하려면 IFERROR
함수를 추가하는 것을 고려하세요.
참고: 최신 버전의 Excel(Office 365 및 Excel 2021 이후)에서는 동적 배열 지원 덕분에 Ctrl + Shift + Enter를 사용할 필요가 없으며, 단순히 Enter만 눌러도 충분할 수 있습니다.
배열 수식을 사용하여 마지막 양수 / 음수 찾기
열에서 마지막 양수 또는 음수 값을 식별하려는 경우 다른 배열 수식을 사용할 수 있습니다. 이 접근 방식은 종료 추세를 빠르게 분석하거나 특정 유형의 가장 최근 데이터 포인트를 찾는 데 적합합니다. 이 방법은 데이터가 업데이트될 때마다 동적으로 반영되므로, 목록에 새 숫자를 주기적으로 추가하는 경우 특히 유용합니다.
1. 데이터 열 옆에 있는 빈 셀을 선택하고, 마지막 양수를 찾기 위한 다음과 같은 배열 수식을 입력하세요:
=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18))
이 공식은 LOOKUP
이 매우 큰 숫자에 대해 발견된 마지막 숫자 일치를 반환하는 동작을 활용하여 작동합니다. 여기서 IF($A$2:$A$18 >0, $A$2:$A$18)
는 양수만 필터링하고, LOOKUP
은 마지막 항목을 반환합니다. 다음 그림을 참조하세요:
2. Excel 버전이 동적 배열을 지원하지 않는 경우 Ctrl + Shift + Enter를 눌러 수식을 확인하세요. 결과는 아래 예제에 표시된 바와 같이 지정된 범위에서 마지막 양수 값을 보여줍니다:
마지막 음수를 반환하려면 다음 배열 수식을 사용하세요 (Ctrl + Shift + Enter와 함께 사용해야 함):
=LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 <0, $A$2:$A$18))
양수 또는 음수 값이 발견되지 않으면 수식은 오류(#N/A
)를 반환합니다. 이러한 경우를 우아하게 처리하려면 수식을 IFERROR
로 감싸세요. 예를 들어:
=IFERROR(LOOKUP(9.99999999999999E+307, IF($A$2:$A$18 >0, $A$2:$A$18)), "No match found")
범위에서 병합된 셀이나 결합된 텍스트/숫자 형식을 피해야 합니다. 이는 수식의 계산 결과를 방해할 수 있습니다. 이러한 방법을 사용하기 전에 항상 데이터 무결성을 확인하여 최대한의 정확도를 유지하세요.
첫 번째 / 마지막 양수 / 음수를 찾기 위한 VBA 매크로
여러 범위 또는 매우 큰 데이터 세트에서 첫 번째 또는 마지막 양수 또는 음수를 자주 찾아야 하는 경우 VBA 매크로로 이 작업을 자동화하면 시간을 크게 절약하고 수작업 오류를 줄일 수 있습니다. 이 솔루션을 통해 선택한 범위를 검색하고 필요한 값을 즉시 검색할 수 있어 배치 처리 또는 반복적인 분석 작업에 이상적입니다. VBA 접근 방식은 복잡한 기준 또는 맞춤형 워크플로우가 필요한 경우에 특히 유용하지만, Excel의 개발 도구에 대한 기본적인 이해가 필요합니다.
1. 개발 도구 > Visual Basic을 클릭하여 Microsoft Visual Basic for Applications 창을 엽니다. 그런 다음 VBA 편집기에서 삽입 > 모듈을 클릭하고 다음 코드를 새 모듈에 복사합니다:
Sub FindFirstOrLastPosNegNumber()
Dim rng As Range
Dim cell As Range
Dim result As Variant
Dim firstPos As Variant, firstNeg As Variant
Dim lastPos As Variant, lastNeg As Variant
Dim selType As String
On Error Resume Next
Set rng = Application.InputBox("Select the data range", "KutoolsforExcel", Selection.Address, Type:=8)
If rng Is Nothing Then Exit Sub
selType = Application.InputBox("Type 'FirstPos' for first positive, 'FirstNeg' for first negative, 'LastPos' for last positive, or 'LastNeg' for last negative:", "KutoolsforExcel", "FirstPos", Type:=2)
If selType = "" Then Exit Sub
firstPos = Empty
firstNeg = Empty
lastPos = Empty
lastNeg = Empty
' Find first positive and first negative
For Each cell In rng
If IsNumeric(cell.Value) Then
If firstPos = Empty And cell.Value > 0 Then
firstPos = cell.Value
End If
If firstNeg = Empty And cell.Value < 0 Then
firstNeg = cell.Value
End If
If cell.Value > 0 Then
lastPos = cell.Value
End If
If cell.Value < 0 Then
lastNeg = cell.Value
End If
End If
Next cell
Select Case UCase(selType)
Case "FIRSTPOS"
result = firstPos
Case "FIRSTNEG"
result = firstNeg
Case "LASTPOS"
result = lastPos
Case "LASTNEG"
result = lastNeg
Case Else
result = "Invalid input"
End Select
If IsEmpty(result) Then
MsgBox "No matching value found in the selected range.", vbInformation, "KutoolsforExcel"
Else
MsgBox "Result: " & result, vbInformation, "KutoolsforExcel"
End If
End Sub
2매크로를 실행하려면 F5 를 누르거나 (또는 실행 버튼을 클릭) 다음 단계를 따르세요:
- 대화 상자가 나타나 숫자 범위(A2:A18 등)를 선택하라는 메시지를 표시합니다.
- 다음으로 검색 유형을 입력합니다: 첫 번째 양수는 FirstPos, 첫 번째 음수는 FirstNeg, 마지막 양수는 LastPos, 마지막 음수는 LastNeg를 입력하세요 (대소문자 구분 없음).
- 선택을 입력하고 확인한 후 결과는 메시지 상자에 표시됩니다.
팁:
- 이 매크로는 사용자가 선택한 모든 연속적인 숫자 범위를 처리할 수 있어 데이터 레이아웃에서 유연성을 제공합니다.
- 지정된 유형이 범위 내 어떤 숫자와도 일치하지 않으면 오류 대신 알림이 표시됩니다.
- VBA 코드가 작동하려면 Excel에서 매크로가 활성화되었는지 확인하세요.
- 데이터에 숫자가 아닌 값이 포함된 경우 매크로는 처리 중 이를 무시합니다.
문제 해결 및 제안: 모든 솔루션에 대해 선택 항목이 의도한 범위를 포함하고 머리글이 포함되지 않았는지 항상 확인하세요. 큰 범위를 사용하는 경우, 특히 배열 수식이나 매크로를 사용할 때 계산 또는 성능 지연을 방지하기 위해 크기를 제한하는 것이 좋습니다.
이 작업을 자주 수행하거나 더 많은 사용자 정의가 필요한 경우 매크로에서 여러 기준을 결합하거나 더 쉬운 접근을 위해 전용 버튼을 만드는 것을 고려하세요. 새로운 VBA 스크립트를 시도하기 전에 항상 작업을 저장하고 프로그래밍 초보자라면 백업 복사본에서 테스트하세요.
관련 문서:
Excel에서 X보다 큰 첫 번째 / 마지막 값을 찾는 방법은 무엇입니까?
Excel에서 행에서 가장 높은 값을 찾고 열 머리글을 반환하는 방법은 무엇입니까?
Excel에서 가장 높은 값을 찾아 인접한 셀 값을 반환하는 방법은 무엇입니까?
Excel에서 기준에 따라 최대값 또는 최소값을 찾는 방법은 무엇입니까?
최고의 오피스 생산성 도구
🤖 | Kutools AI 도우미: 데이터 분석에 혁신을 가져옵니다. 방법: 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림(수식 없이) ... | |
슈퍼 LOOKUP: 다중 조건 VLOOKUP | 다중 값 VLOOKUP | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 빠르게 생성 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 지정한 수의 열 추가 | 열 이동 | 숨겨진 열의 표시 상태 전환 | 범위 및 열 비교 ... | |
추천 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리자 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵게/이탤릭/취소선 필터 등) ... | |
15대 주요 도구 세트: 12 가지 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 종류의 차트(간트 차트, ...) | 40+ 실용적 수식(생일을 기반으로 나이 계산, ...) | 19 가지 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12 가지 변환 도구(단어로 변환하기, 통화 변환, ...) | 7 가지 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 등 다양 |
Kutools for Excel과 함께 엑셀 능력을 한 단계 끌어 올리고, 이전에 없던 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능으로 생산성을 높이고 저장 시간을 단축합니다. 가장 필요한 기능을 바로 확인하려면 여기를 클릭하세요...
Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 더욱 간편하게 만듭니다
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화합니다.
- 새 창 대신 같은 창의 새로운 탭에서 여러 파일을 열고 생성할 수 있습니다.
- 생산성이50% 증가하며, 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 추가 기능. 한 번에 설치
Kutools for Office 제품군은 Excel, Word, Outlook, PowerPoint용 추가 기능과 Office Tab Pro를 한 번에 제공하여 Office 앱을 활용하는 팀에 최적입니다.





- 올인원 제품군 — Excel, Word, Outlook, PowerPoint 추가 기능 + Office Tab Pro
- 설치 한 번, 라이선스 한 번 — 몇 분 만에 손쉽게 설정(MSI 지원)
- 함께 사용할 때 더욱 효율적 — Office 앱 간 생산성 향상
- 30일 모든 기능 사용 가능 — 회원가입/카드 불필요
- 최고의 가성비 — 개별 추가 기능 구매 대비 절약