본문 바로가기
Excel/엑셀 팁(TIP)

엑셀팁] 현재의 날짜 또는 시간 입력하기

by excelnote2 2020. 12. 13.


현재의 날짜 또는 시간을 셀값으로 입력하기


엑셀은 현재의 날짜와 시간을 입력하는 방법으로 내부함수를 제공하고 있다. 


현재의 날짜는 today()

현재의 시간은 now() 

함수를 사용한다. 


그런데 문제는 이 두 함수의 기준이 되는 시간은 함수가 계산되는 시점이기 때문에 지금 저 함수를 사용해서 날짜와 시간을 작성한다고 하더라도 내일 파일을 다시 열어보면 내일의 날짜와 시간으로 변경된다. 


이런 문제 없이 A열에 데이터가 입력되었을 B열에 입력시간을 기록하는 방법에 대해서 포스팅해본다. 





  1. 단축키로 입력하기


자동화는 아니고 수동(?) 아날로그 방법이다. 

today()함수와 now()함수로 입력하면 날짜와 시간이 변경되기 때문에 현재의 날짜와 시간을 엑셀 셀에 입력해 넣는 방법이다. 

다만 단축키로 입력하기 때문에 숫자 키보드로 일일이 입력하는 것보다는 훨씬 간단하다. 


현재의 날짜를 입력하는 단축키는 Ctrl + ;(세미콜론)이고

현재의 시간을 입력하는 단축키는 Ctrl + Shift + ;(세미콜론)이다. 


두가지 모두 입력하려면 Ctrl + ; 스페이스로 한칸 띄우고 Ctrl + Shift + ;를 입력하면 된다. 






  2. today()함수와 now()함수 사용하기



today()함수와 now()함수를 사용하되 시간을 고정시키는 방법이다. 


엑셀에서 "값으로 선택해서 붙여넣기"를 하는 것처럼 today()함수와 now()함수로 시간에 대한 값을 얻어내고 그 값을 고정시켜보자. 


먼저 today()함수나 now()함수로 시간 값을 구하고 그 셀을 더블클릭하거나 그 셀에서 F2키를 눌러서 편집모드로 들어간다. 



그리고 F9 키를 누르고 엔터를 친다. 



그러면 함수가 시간에 대한 값으로 변경된다. 


원래 F9키는 엑셀에서 변수를 상수로 바꿔주는 역할을 한다. 

즉 수식이나 셀 범위로 문자화 되어 있는 부분에서 F9를 누르면 그 계산 결과를 보여주거나 셀을 지칭하고 있을 때는 그 셀값으로 치환해서 보여준다. 


그러니까 today()나 now()함수로 되어 있는 셀의 편집모드에서 F9를 누르면 함수 부분이 상수값이 현재의 날짜나 시간 값으로 바뀌는 것이다. 





  3. IF 함수를 이용한 순환참조


마지막 방법은  위의 두 방법이 아날로그적인 방법인 것에 비해서 그나마 자동으로 사용할 수 있는 방법이다. 


if함수를 사용하는데 수식은 다음과 같다. 


=if(A2="", "", if(B2="", now(), B2)


위 수식을 풀어서 설명해보면 다음과 같다. 


먼저 if함수는 if(①조건식, ②참일 경우 입력할 값, ③거짓일 경우 입력할 값)로 사용한다. 


그래서 위 수식은 

①A2셀이 비어있으면 (A2=""), ②빈 칸으로 그냥 두고(""), ③빈칸이 아닐 때 실행(그런데 이것도 if문)


③번 if문은

①B2셀이 비어있으면(B2=""), ②now함수로 현재 시간을 넣고(now()), ③빈칸이 아니면 원래 들어있는 값을 그대로 두어라(B2)


이런 식이다. 


그런데 이 식은 B2셀이 자신의 셀 값을 수식에 포함시키고 있어서 순환참조를 해야 한다. 

그래서 수식을 입력하려고 하면 순환참조에 대한 에러 메시지가 나온다. 





이런 에러메시지에도 불구하고 사용하려면


엑셀 옵션에서 [수식 - 반복계산 사용]을 체크해서 반복 계산을 허용해줘야 한다. 





반복계산을 허용하면 순환참조 오류를 허용하는 것이고 이것은 다른 에러를 야기할 수도 있고, 순환참조 때문에 파일이 커질 때 엑셀의 동작이나 저장할 때 속도저하가 나타날 수 있기 때문에 권장하지 않는 방법이므로 잘 고민해서 사용해야 한다. 


댓글