주차요금 계산 문제를 풀기 위해 hour(출차시간-입차시간), minute(출차시간-입차시간)으로 주차시간을 계산했던 후라이,
근무년수를 구해야 하는 문제에서 똑같이 year(오늘날짜-입사일자)를 하자 엉뚱한 수가 반환되는데!
예시. year( today() - 입사일자 ) = 1901 ???? 도깨비도 아니고 천년을 넘게 일을 해?!
똑같은 논리흐름인 것 같은데 왜 날짜는 안 되는 걸까?
엑셀에서 날짜는 각각 일련번호, serial number가 할당되어있다. (1900년 1월 1일부터 일련번호 1로 시작)
날짜의 표시형식을 날짜→일반으로 바꿔보면 해당 날짜의 일련번호를 확인할 수 있다.
사람의 입장에서 보기 편하라고 표면상 날짜의 형태로 보여주는 것이지 엑셀은 날짜를 일련번호를 통해 이해하고 계산한다.
그러므로
2024년 10월 8일
–) 2023년 10월 8일
1년 이 나오는 것이 아니라
각 날짜의 일련번호의 차에 해당하는 일련번호를 가진 날짜를 반환하는 것이다.
45573 (2024년 10월 8일)
–) 45207 (2023년 10월 8일)
366 (1900년 12월 31일)
기대 : year(2024년 10월 8일 - 2023년 10월 8일) = 1
실제 : year(2024년 10월 8일 - 2023년 10월 8일) = 1900
따라서 우리가 원하는 결과를 갖기 위해서는 각각의 날짜에 year()을 씌워 계산해야 한다.
year(2024년 10월 8일) - year(2023년 10월 8일) = 2024 - 2023 = 1
'컴퓨터' 카테고리의 다른 글
컴퓨터의 연산 속도 단위 (처리 시간 단위) 외우기 (0) | 2024.05.22 |
---|---|
[엑셀] 셀 이동 어떻게 하지? 엔터밖에 몰라😥 (+줄바꾸기 하고 싶어) (0) | 2024.05.20 |
KB? MB? 데이터 용량 단위 뭐가 더 큰데? (0) | 2024.05.19 |
OLE 란? (0) | 2024.05.13 |
[ Alt+Esc ] , [ Alt+Tab ] , [ Windows+Tab ] 차이 (0) | 2024.05.09 |