39

I've got a spreadsheet in Google Drive and one column is meant for the date the entry is made. Is there a button to do this? I'm aware of the functions =NOW() and =TODAY() but their description says "the value is updated when the document recalculates". However I reopened the document a few minutes latter and it still had the same time. Why is this?

It would be even easier that when I start typing in a new row the column for the date auto-populates.

0

10 Answers 10

21

I was able to reproduce your findings, however, opening a spreadsheet doesn't result in a re-calculation.

Press Ctrl + R to recalculate the entire sheet.

There's one concern about this method: it changes all NOW() formula's into the current date/time.
Therefore you might want to consider pressing Ctrl + ; in the creation date cell and add the date manually.

Reference: Recalculation of Sheet

2
  • So the difference between Ctrl+R and Ctrl+; is +R updates all the NOW() and +; does not?
    – Celeritas
    Commented Jul 24, 2013 at 19:21
  • 3
    Ctrl+R gives you a solution to your problem, but it might create one at the same time. That's why I added the Ctrl+; because this adds the date "physically".
    – Jacob Jan
    Commented Jul 24, 2013 at 19:30
55
  • ctrl+; inserts current date
  • ctrl+shift+; (ctrl+:) inserts current time
  • ctrl+alt+shift+; (ctrl+alt+:) inserts current date and time

Use instead of ctrl on Mac OS

However it does not work in Google Sheets mobile app. Seems that mobile app has no similar functionality. =now() updates to current date and time when any edit is made to spreadsheet so it's not suitable for registering times. It does not even have "Paste values only".

8
  • 9
    This doesn't work on international keyboards. Commented Apr 20, 2018 at 16:07
  • @Rubén checked now, it works in Russian keyboard layout (usually keybidings don't work in that layout so I have muscle memory to switch to en-US layout after typing each chunk of cyrillic chars, but it works in Google Docs). Chrome 66.0.3359.106, Mac OS 10.13.4.
    – kolen
    Commented Apr 20, 2018 at 20:25
  • 1
    @Rubén I know it's really late but in my Spanish keyboard the commands work if you replace the semicolon with ñ on MacOS and that inverted tilde ` to the right of the P key on Windows. So it would be Ctrl + Alt + Shift + ` to insert date and time (Cmd + Alt + Shift + ñ on MacOS)
    – fixmycode
    Commented Feb 26, 2019 at 19:56
  • 1
    Also, you can't be editing the selected cell (with the cursor), but just have the cell highlighted (without the cursor and only the border) in order to use these commands.
    – John
    Commented Sep 1, 2019 at 3:56
  • alt+shift changes keyboard language for me so it doesn't work. Commented Mar 18, 2020 at 17:59
8

I think the question is how to get today's date into a spreadsheet cell so that remains unchanged over time.

I put "=today()" into a frozen header cell one time. That changes as the date changes.

When I need today's date, I copy that cell and Paste special>Paste value only into the desired cell.

6

To insert static DateTime value use macros:

In your sheet Tools -> Script Editor. Paste this code:

function currentStaticDate() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getCurrentCell().setValue(new Date());
};

Save and return to your sheet.

Import script with Tools -> Macros -> Import.

Add shortcut with Tools -> Macros -> Manage macros.

1
  • 1. Confused how setting the value of a cell to 'new Date()' doesn't return an error. Is that not the entire object. In any case it worked thanks. 2. Interesting didn't know a script could be easily changed inot a macro.
    – jamie
    Commented Aug 25, 2020 at 16:50
3

Notice: this answer does not work anymore as GoogleClock() has been replaced by the NOW() function.

Another option to consider is =GoogleClock(). This function differs somewhat from =NOW() in that it has a granularity of one minute (rather than one second), but it is guaranteed to update each and every minute, and be correct (to the nearest whole minute) on opening/refreshing the spreadsheet.

If you use:

=NOW()+GoogleClock()*0

you will have a granularity of one second, it will update with every edit, and be no less than one minute off when you open the spreadsheet. But it will also update every minute regardless of editing, which may not be desirable.

1
2

On a Brazilian portuguese keyboard use

  • Ctrl+ç for current date
  • Ctrl+Shift+ç for current time
  • Ctrl+Alt+Shift+ç for current date and time
2

On an italian keboard use

  • Ctrl+è for current date
  • Ctrl+Shift+è for current time
  • Ctrl+Alt+Shift+è for current date and time
1

Further to @RasAlhague's excellent answer, I added a Menu to insert the date, by adding in this function:

function onOpen(){
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = []
menuEntries.push({name: "Insert current static date", functionName: "currentStaticDate"})
spreadsheet.addMenu("Insert current static date", menuEntries);
0
1

On a German keyboard use

  • Ctrl+ö for current date
  • Ctrl+Shift+ö for current time
  • Ctrl+Alt+Shift+ö for current date and time
1
  • Not working for me Commented Sep 27 at 10:46
-1

On a Swedish Mac keyboard use + D.

1
  • No, on a Swedish Mac ⌘-d duplicates the row above (fill down). To insert current date use the same as the German keyboard: ⌘-ö.
    – Adrian B
    Commented Jan 19 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.