=TODAY
date A date B date C
날짜 B를 계산하는 수식이 필요합니다.
즉, 날짜 A와 =TODAY 사이에 1년 이상이 지났고 날짜 C가 비어 있으면 날짜 B는 =TODAY와 동일하고, 그렇지 않으면 날짜는 날짜 A에 1을 더한 것과 같습니다. 년도.
나는 다음과 같은 수식을 만들었습니다.
=IF(AND(DATEDIF(date A,$date $B,"Y") >= 1, ISBLANK(date C)), TODAY(), DATE(YEAR(date A)+1,MONTH(date A),DAY(date A)))
하지만 날짜 A와 TODAY의 차이가 1년 이상인 경우에는 작동하지 않는 것 같습니다.
답변1
참고: 저는 영국에 있으므로 제 답변에는 dd/mm/yyyy 형식의 날짜가 사용됩니다.
가정해 봅시다:
date a
셀에 있고 A1
date b
셀에 있고 B1
셀
date c
에 있습니다.C1
31/02/2015
그런 다음 셀에 넣고 셀에 A1
넣으면 공식이 저에게 효과적이라고 가정해 보겠습니다 .=IF(AND(DATEDIF(A1,TODAY(),"Y")>=1,ISBLANK(C1)),TODAY(),DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)))
A2
@Máté Juhász가 의견에서 말했듯이 cell 에 무언가가 있으면 문제가 발생합니다 C1
. 이 경우 A1의 날짜에 1년을 추가하여 오늘 날짜인 2016년 2월 9일 대신 2016년 2월 31일이 됩니다.
셀 C1
에 공백을 넣으면 공백으로 보일 수 있지만 Excel에서는 공백을 데이터로 간주합니다. 따라서 안전을 위해 공백을 공백으로 포함하여 셀이 인간에게 공백으로 표시되는지 확인하려면 논리적 테스트를 =OR(ISBLANK(C1),C1=" ")
셀의 최종 수식을 다음 B1
과 같이 변경해야 합니다.=IF(AND(DATEDIF(A1,TODAY(),"Y")>=1,OR(ISBLANK(C1),C1=" ")),TODAY(),DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)))
=OR(ISBLANK(C1),C1=" ")
수식 길이를 6자로 줄이는 것 외에 기능적 차이가 없는 의 대안은 주석 =OR(C1="",C1=" ")
에서 제안된 대안을 사용하는 것입니다 B1
.=IF(AND(DATEDIF(A1,TODAY(),"Y")>=1,OR(C1="",C1=" ")),TODAY(),DATE(YEAR(A1)+1,MONTH(A1),DAY(A1)))