Excel

동일 열에서 날짜가 다른지 비교하기

별동산 2024. 1. 3. 08:36
반응형

동일 열 날짜 비교하기.xlsx
0.01MB

 

 

아래와 같이 A열에 입력된 날짜 중 다른 날짜가 있을 때 "날짜 다름"이라고 표시하고 싶다면 어떻게 해야 할까요?

 

1. 배열 수식 이용하기

동일 열이다 보니 엇갈리게 값(날짜)을 비교해야 합니다.

 

다시 말해 A2셀과 A3셀과 A3셀과 A4셀을 비교하는 식입니다.

그러면 2023-11-01이 2023-10-01과 다른지, 2023-10-01과 2023-11-01이 다른지 비교하므로

모두 True가 됩니다.

 

수식으로는 

=A2:A3=A3:A4

이 되는데,

셀 병합이 되어 있다 보니 이상한 결과가 나옵니다.

 

그래서 셀 병합을 푸니 False, False라고 나옵니다.

 

마이크로소프트 365 버전이라 수식을 C1셀에만 입력해도 C2셀까지 값이 표시되지

아니라면 C1셀과 C2셀을 선택하고, 수식 =A2:A3=A3:A4을 입력하고,

CSE(Ctrl + Shift + Enter 키를 눌러야 할 겁니다.

 

이런 식으로 날짜를 비교하면 됩니다.

 

이제 if 함수와 결합해서 다르다면 1, 같다면 0으로 표시해 보겠습니다.

=IF(A2:A3<>A3:A4,1,0)

 

같은지 비교할 때는 =을 사용하고, 다른지 비교할 때는 <>를 사용합니다.

 

그러면 줄별로 비교하므로 날짜가 다르다는 값을 한 번만 표시할 때는

Sum을 한 후 0보다 크다면 "날짜 다름"이라고 표시하고, 아니면 "날짜 같음"이라고 표시하면 됩니다.

=IF(SUM(IF(A2:A3<>A3:A4,1,0))>0,"날짜 다름","날짜 같음")

 

이때 >0는 없어도 됩니다. 왜냐하면 0보다 큰 숫자면 True이기 때문입니다.

=IF(SUM(IF(A2:A3<>A3:A4,1,0)),"날짜 다름","날짜 같음")

 

이제 셀 병합을 하고, 12행까지 있으므로, 첫 번째 범위는 11행까지, 두 번째 범위는 12행까지로 수정해 보겠습니다.

=IF(SUM(IF(A2:A11<>A3:A12,1,0)),"날짜 다름","날짜 같음")

 

그러면 아래와 같이 "날짜 다름"이라고 잘 표시됩니다.

 

 

2. SumProduct 이용하기

 

가. SumProduct 함수

이번에는 SumProduct함수를 이용해 보겠습니다.

 

SumProduct는 Product가 곱하기이므로 배열끼리 곱한 다음 합계를 구해주는 함수입니다.

구문은 =SUMPRODUCT(array1, [array2], [array3],...)입니다.

첫 번째 인수만 필수이고, 두 번째 인수부터는 대괄호 안에 있으므로 옵션입니다.

 

또한 배열이므로 배열 수식을 모두 적용할 수 있습니다.

 

나. SumProduct 함수를 이용해 구하기

 

(1) 1단계

C2셀에

=SUMPRODUCT(A2:A11<>A3:A12))

이라고 입력하면 

 

배열 수식 (A2:A11<>A3:A12)의 결과가 TRUE, FALSE 등으로서

True는 1이고, False는 0이므로 2가 나올 것 같은데 0이 나옵니다.

 

(2) 2단계

따라서, True를 1, False를 0이란 숫자로 바꿔주기 위해 *1을 추가해야 합니다.

따라서, 수식은 =SUMPRODUCT((A2:A11<>A3:A12)*1)이 됩니다.

원하는 값 2가 구해졌습니다.

 

주의해야 할 점은 비교 구문의 결괏값에 1을 곱해야 하므로 A2:A11<>A3:A12을 괄호로 감싸야한다는 점입니다.

 

(3) 3단계

이제 0보다 큰 경우만 "날짜 다름"이라고 표시해야 하므로

if함수를 사용해서

=IF(SUMPRODUCT((A2:A11<>A3:A12)*1),"날짜 다름","날짜 같음")

라고 입력하면 됩니다.

 

동일 열 날짜 비교하기(완성).xlsx
0.01MB

반응형