컴퓨터/엑셀 2008. 12. 10. 10:05

[엑셀] 기념일 계산하기

지금까지 상대좌표니 절대좌표니 하는 이상한 강의를 하느라 머리가 많이 아팠죠?

쉬어가는 페이지라는 생각으로 기념일 계산하기를 만들어 보겠습니다.

기념일 계산에는 두가지가 있을 수 있겠네요.

  • 특정일로부터 오늘이 며칠이나 지났는지.
  • 특정일이 오늘로부터 며칠이나 남았는지.

오늘 같이 보게될 함수는 NOW() / Value() 등의 함수입니다.

먼저 알아도 그만 몰라도 그만인 컴퓨터의 날자 체계입니다.
관심없으신 분은 다음으로 넘어가도 좋습니다.

컴퓨터에서 2008년 6월 8일을 어떻게 저장할까요? (투루노와 라라루의 결혼기념일입니다. ^^*) 20080608 이렇게 저장할까요? 아닙니다. 이럴 경우 윤년이니 뭐니 해서 날자값이 정확하지 않을 수 있어서 컴퓨터는 특정일로부터 더하기 날자값으로 저장합니다. (이렇게 하는게 저장공간도 적게 차지하구요. 2008년 06월 08일 은 엑셀에서는 39607 이라는 값으로 저장됩니다. 무슨 값일까요? 바로 1900년 1월 1일을 기준으로 39607일이 지났다는 것이지요.

어렵죠? ㅎㅎ 몰라도 됩니다. 중요한건 날자가 년/월/일 이런식으로 저장되는게 아니라 숫자 라는거죠. (윤년 문제는 해당 숫자를 날자형식으로 바꿀떼 자동으로 계산된답니다.)

그럼 2007년 4월 7일(투루노와 라라루가 사귀기 시작한 날입니다. ^^*) 은 얼마인지 알아볼까요?

엑셀을 열고 2007/04/07 이라고 A1의 셀에 칩니다. (뭐 굳이 이날자가 죽어도 싫다 하시면 다른 날자를 치셔도 무방합니다. ^^*)

수식 보기 창에서도 2007-04-07 이라고 보이네요? 그럼 어떻게 해야 더하기 날자 값을 알 수 있을까요?

Value라는 함수 입니다. 앞으로 함수가 나오면 필요하지 않으면 간단히 설명만 하고 지나갑니다. 잘 모르시겠으면 셀에다가 해당 함수를 입력하고 [F1]을 누르면 함수에대한 설명이 나옵니다.

value 함수는 인자값으로 "TEXT"를 받아서 변화이 가능하다면 숫자로 변환해줍니다.

그럼 제가 아까 날자는 문자열이 아니라 더하기 숫자라고 했습니다. 그렇다는 말은 숫자로 변환이 가능하다라는 말이겠군요.

B1에다가 다음과 같은 수식을 써 보겠습니다.

=Value(A1)

 

아핫, 이상한 값이 나왔습니다. 39179

무슨 뜻일까요? 2007년 4월 7일은 1900년 1월 1일부터 39179일이 지난 날이라는 뜻입니다.

그럼 2008년 6월 8일을 다시 계산해볼까요?

 

39607 입니다.

자 이제 이걸 가지고 무엇을 할 수 있을까요?

39607 ,39179 두개의 숫자입니다. 두개의 숫자로는 더하기 곱하기 나누기 등을 할 수 있습니다.

그리고 빼기가 되겠죠? 39607 - 39179 를 하면 ? 얼마일까요?

옆에 있는 계산기 찾으시는 분, 열심히 암산 하시는 분... 엑셀은 가장 뛰어난 계산기 입니다.

B3에다가 "B2-B1" 을 넣어보게습니다.

 

428 이네요.

바로 사귄지 428일 만에 투루노와 라라루는 결혼을 한 것입니다.

ㅎㅎ

 

이해를 돕기 위해서 value 함수를 썼는데 위의 그림처럼 두개의 날자로부터 직접 계산을 하여도 답은 나옵니다.

이제 날자 계산하는 건 대충 아시겠지요?

그럼 원래 주제인 기념일이 며칠 남았는지 아니면 오늘이 며칠째인지는 어떻게 알 수 있을까요?

수많은 남자들이 괴로워 하는 일중에 하나가 기념일 챙기기죠? ㅎㅎ 여기 해답이 있습니다.

자 그럼 위의 예제를 바꾸어 보겠습니다. 투루노랑 라라루가 사귄지 오늘로 부터 며칠이 되었을까요?

(참고로 본 문서는 2008년 12월 4일에 작성합니다)

어떻게 하면 계산할 수 있을까요?

 

숙제낼까요? ㅋㅋ

 

 

 

 

 

조금만 더 생각해주세요..

 

 

 

 

 

 

요새는 고 해상도 모니터가 많아서. ㅋㅋ

 

 

 

 

 

 

 

 

ㅎㅎㅎ 생각해보셨나요?

 

 

A2에다가 2008/12/04(오늘 날자)를 넣으시면 됩니다. ㅎㅎ 너무 쉽죠?

 

607일이네요.. ㅎㅎ 딱 일주일전에 600일 파티가 있었습니다. ^^*

ㅎㅎㅎㅎ(염장이냐구요? 아니요 강의 입니다. 강의. ㅎㅎㅎ)

 

그럼 매번 이렇게 오늘 날자로 바꾸어줘야 하는가요? 그렇게 할꺼면 투루노 처럼 게으른 사람은 안합니다. -_-; -_-;;

NOW() 라는 함수는 오늘 날자와 시간을 알려주는 함수입니다.

A2셀에 =NOW()라고 입력해보십시오

 

위에 보이는 화면은 엑셀 설정에 따라 조금은 다르게 보일 수 있습니다. A2에 날자만이 아니라 시간까지 표시 되는 경우도 있구요. 그렇지만 중요한건 시간이 아니라 날자지요

며칠이나 지났는지 결과값을 보려 했더니? 아니 이게 왠일.........

 

607.918... 하고 소수점이 나왔네요. 흑. 무슨 소리인지 607일이 맞긴 한거 같은데????

여기서 또 몰라도 되는 상식이 하나 나옵니다. 아까 컴퓨터가 날자는 더하기 날자로 표시한다고 했지요? 그런데 시간도 더하기 시간을 씁니다. 0시를 기준으로 24시까지를 일정한 값으로 나누고 매 순간 그 값이 더 해져 가는 것이죠 그리고 그 값을 아까 더하기날자.더하기시간 으로 기록하게 됩니다.

즉, 정수 부분은 날자 소수 부분은 시간 정보를 기록하게 됩니다.

그리고 NOW라는 함수는 단순히 오늘 날자만 알려주는 것이 아니라 현재시간까지 표시해주는 것이기 때문에 위와 같은 결과가 나오는 것이지요.

그럼 어떻게 하면 될까요? 젤 쉬운 방법은????

그냥 소수는 빼고 읽으시면 돼죠. ㅎㅎ 귀찮잖아요^^*

더 좋은 방법은 C3의 수식에 =rounddown(A2-A1,0) 이라고 입력하시면 됩니다. rounddown 함수는 버림이라는 함수로 위의 수식으로 하면 소수점 이하는 버려집니다. (흑흑..)

직접 한번 해보십시오. ^^*

 

-마음가는 길은 곧은 길-