본문 바로가기

엑셀

엑셀 날짜 정렬 최근/과거 날짜 2개 추출 (CHOOSEROWS, FILTER 함수 활용)

반응형

 

 

데이터 분석에 있어 날짜 관리는 핵심입니다. 특히 엑셀을 이용한 대량 데이터 분석 시, 효율적인 날짜 정렬 및 특정 날짜 추출은 업무 생산성 향상에 필수적이죠. 이 포스팅에서는 엑셀의 CHOOSEROWS, FILTER 함수를 중심으로 최근/과거 날짜를 손쉽게 추출하는 방법을 알려드립니다. 실무에 바로 적용 가능한 꿀팁들, 기대하셔도 좋습니다!

1. CHOOSEROWS & FILTER 함수: 원하는 날짜만 쏙쏙!

CHOOSEROWS와 FILTER, 이 두 함수의 조합은 마치 찰떡궁합! 원하는 조건의 데이터만 추출하는 데 최적의 효율을 자랑합니다. 마치 핀셋으로 원하는 것만 쏙쏙 집어내는 느낌이랄까요? 판매 데이터에서 특정 제품의 최근 판매 날짜 2건을 추출하고 싶다면? 바로 이 콤비가 정답입니다.

1.1. FILTER 함수: 조건에 맞는 데이터 필터링

FILTER(범위, 조건) 형태로 사용하면 끝! 예를 들어 FILTER(A1:C100, A1:A100="제품A") 와 같이 입력하면 "제품A" 관련 데이터만 뽑아낼 수 있습니다. 간단하죠?

1.2. SORT 함수: 날짜 순서대로 정렬!

필터링된 데이터를 날짜 순서대로 정렬하려면? SORT(배열, 정렬 기준 열 번호, 정렬 순서) 함수를 활용하세요! SORT(FILTER(A1:C100, A1:A100="제품A"), 3, -1) 처럼 입력하면 3번째 열(날짜 열)을 기준으로 최신 날짜부터 착착 정렬됩니다. 여기서 -1은 내림차순, 1은 오름차순을 의미합니다. 참고로 날짜 열이 아닌 다른 기준으로 정렬하고 싶다면 해당 열 번호를 입력하면 됩니다.

1.3. CHOOSEROWS 함수: 최근/과거 날짜 추출하기

CHOOSEROWS(배열, 행 번호1, 행 번호2, ...) 함수는 정렬된 데이터에서 원하는 행만 쏙쏙 골라냅니다. CHOOSEROWS(SORT(FILTER(A1:C100, A1:A100="제품A"), 3, -1), 1, 2) 와 같이 입력하면 최근 2개의 데이터 행을 추출! 과거 날짜를 추출하고 싶다면 SORT 함수의 정렬 순서를 1(오름차순)로 바꾸고 CHOOSEROWS에서 마지막 행 번호들을 지정하면 됩니다. 응용하면 더 다양하게 활용할 수 있겠죠?!

2. INDEX & MATCH, LARGE/SMALL 함수: 조건부 최대/최소값 찾기

INDEX & MATCH와 LARGE/SMALL 함수의 조합은 특정 조건을 만족하는 최대/최소값을 찾아내는 데 특화되어 있습니다. 마치 데이터의 보물찾기 같달까요? 각 부서별 최근 프로젝트 완료일을 찾는 상황을 예로 들어볼게요.

2.1 IF 함수: 조건부 배열 생성

IF(조건, 참일 경우 값, 거짓일 경우 값) 함수를 사용하면 특정 부서에 해당하는 날짜 데이터만 포함하는 배열을 만들 수 있습니다. IF(A1:A100="영업부", C1:C100, "") 이렇게 입력하면 "영업부"가 아닌 행은 빈 문자열("")로 처리되어 LARGE/SMALL 함수에서 제외됩니다. 이는 마치 특정 부서의 데이터만 모아놓은 별도의 목록을 만드는 것과 같습니다.

2.2 LARGE/SMALL 함수: 최대/최소값 추출

LARGE(배열, k번째)/SMALL(배열, k번째) 함수는 배열에서 k번째로 큰/작은 값을 반환합니다. LARGE(IF(A1:A100="영업부", C1:C100, ""), 1)은 영업부의 가장 최근 날짜를, SMALL(IF(A1:A100="영업부", C1:C100, ""), 2)는 두 번째로 오래된 날짜를 반환하는 것이죠.

2.3 INDEX & MATCH 함수: 값 찾기

INDEX(범위, MATCH(찾을 값, 찾을 범위, 옵션)) 조합은 추출된 날짜에 해당하는 다른 정보(예: 프로젝트명)를 찾아줍니다. INDEX(B1:B100, MATCH(LARGE(IF(A1:A100="영업부", C1:C100, ""), 1), C1:C100, 0)) 와 같이 사용하면 최근 날짜에 해당하는 프로젝트명을 알 수 있습니다. 마치 숨겨진 보물을 찾아내는 기분이죠!

3. 동적 데이터 추출: 드롭다운 메뉴 활용

데이터 유효성 검사를 통해 드롭다운 메뉴를 만들면 사용자가 조건을 선택하여 데이터를 동적으로 추출할 수 있습니다. 드롭다운 메뉴에서 "영업부", "마케팅부" 등 부서를 선택하면 해당 부서의 최근 날짜 데이터가 자동으로 업데이트! INDIRECT 함수를 활용하면 드롭다운 메뉴에서 선택된 값을 기반으로 범위를 동적으로 변경할 수 있습니다. 마치 마법처럼 말이죠!

3.1. 데이터 유효성 검사: 드롭다운 메뉴 만들기

데이터 탭의 '데이터 유효성 검사' 기능을 사용하여 드롭다운 메뉴를 생성합니다. '제한 대상'을 '목록'으로 선택하고 '원본'에 부서 목록을 입력하거나 셀 범위를 지정합니다. 이렇게 하면 선택한 셀에 드롭다운 메뉴가 생성됩니다.

3.2. INDIRECT 함수: 동적 범위 설정

INDIRECT 함수는 텍스트 문자열을 셀 참조로 변환합니다. 예를 들어 드롭다운 메뉴가 있는 셀이 D1이고, 부서별 데이터가 있는 범위가 "영업부데이터", "마케팅부데이터"와 같이 이름 정의되어 있다면, INDIRECT(D1&"데이터") 와 같이 사용하여 선택된 부서에 해당하는 범위를 동적으로 참조할 수 있습니다.

3.3. 함수 조합: 동적 데이터 추출

앞서 설명한 FILTER, SORT, CHOOSEROWS 함수와 INDIRECT 함수를 조합하여 드롭다운 메뉴에서 선택한 부서의 최근 날짜 데이터를 동적으로 추출할 수 있습니다. 예를 들어 CHOOSEROWS(SORT(FILTER(INDIRECT(D1&"데이터"), 3, -1), 1, 2) 와 같이 사용하면 D1 셀에서 선택한 부서의 최근 2개 날짜 데이터가 추출됩니다.

4. 실무 활용 팁: 에러 처리 및 성능 최적화

실무에서는 에러 처리와 성능 최적화는 필수! 몇 가지 꿀팁을 알려드릴게요.

4.1 IFERROR 함수: 에러 값 처리

IFERROR(값, 에러 발생 시 값) 함수는 #N/A, #VALUE! 같은 에러 발생 시 0 또는 빈 문자열("")을 표시하여 가독성을 높여줍니다. 마치 데이터의 오류를 깔끔하게 정리하는 것과 같죠.

4.2 AGGREGATE 함수: 에러 값 무시

AGGREGATE 함수(Excel 2010 이상)는 LARGE, SMALL 함수와 유사하지만 에러 값을 무시하고 계산합니다. IF 함수 없이도 조건부 최대/최소값을 효율적으로 추출할 수 있다는 장점이 있습니다.

4.3 보조 열 활용: 계산 속도 향상

복잡한 조건부 계산식을 여러 번 반복해야 한다면, 보조 열에 중간 계산 결과를 저장하여 계산 속도를 높일 수 있습니다. 마치 복잡한 요리 과정을 단계별로 나누어 효율적으로 진행하는 것과 같습니다.

4.4 LET 함수 활용 (Excel 365 이상): 복잡한 수식 간소화

LET 함수를 사용하면 복잡한 수식 내에서 중복 계산을 피하고, 이름을 지정하여 수식을 더 읽기 쉽게 만들 수 있습니다. 긴 수식을 여러 부분으로 나누어 관리하고 재사용성을 높일 수 있는 강력한 기능입니다.

4.5 필터 기능 활용: 간단한 정렬 및 필터링

엑셀의 기본 기능인 필터 기능을 활용하여 날짜를 기준으로 데이터를 정렬하고, 특정 조건에 맞는 데이터만 표시할 수 있습니다. 복잡한 함수를 사용하지 않고도 간단한 정렬 및 필터링 작업을 수행할 수 있는 좋은 방법입니다.

이처럼 CHOOSEROWS, FILTER, INDEX & MATCH, LARGE/SMALL 등 다양한 함수들을 조합하면 엑셀에서 날짜 데이터를 자유자재로 다룰 수 있습니다. 제공된 정보와 팁들을 실무에 적용하여 데이터 분석 능력을 한 단계 업그레이드해보세요! 궁금한 점이나 추가 팁이 있다면 언제든 댓글로 남겨주세요! ^^! 더욱 풍성하고 유익한 정보로 찾아뵙겠습니다!

 

반응형