To create a fixed timestamp in Google Sheets, select a cell and press Ctrl+; to insert the date, type a space, then press Ctrl+Shift+; to add the time. The result is a value that will not change when the sheet recalculates. You can also use a formula for a live, updating date and time, or add an Apps Script for automatic timestamps when someone edits a row.
What You’ll Need
- A Google account and a spreadsheet open in Google Sheets in a web browser.
- For a manual timestamp, a cell where you want the date and time to appear.
- For an automatically recorded timestamp, permission to edit the spreadsheet and its Apps Script project.
The keyboard shortcuts below are for Google Sheets in a browser on Windows or ChromeOS. On a Mac, use Command in place of Ctrl where noted; shortcuts can also depend on your browser or keyboard layout. If a shortcut does not work, open Help > Keyboard shortcuts in Sheets to check the current list for your setup.
Step-by-Step
- Choose where the timestamp will go. Open the sheet, click the cell where you want to record the event, and check that it is not part of a protected range. For a simple log, use one column for the event or person’s name and another for the timestamp. For example, you might enter a task in A2 and record its completion time in B2. Decide whether you want a value that stays fixed or a formula that updates; those are different results.
- Insert a fixed date. With the target cell selected, press Ctrl+; on Windows or ChromeOS. On a Mac, press Command+;. Sheets inserts the current date as a value. It will remain the date you entered, even tomorrow. This is useful for entries such as received-on dates, sign-offs, and daily logs. If you only need the date, stop here.
- Add the time to make a full timestamp. After inserting the date, type one space in the same cell, then press Ctrl+Shift+; on Windows or ChromeOS. On a Mac, use Command+Shift+;. The cell should contain both the date and time. If you are starting with an empty cell and need only the current time, use the time shortcut by itself. Check the displayed value before continuing; the time reflects when you pressed the shortcut, not when the original event necessarily occurred.
- Confirm that the cell displays both parts. If the cell shows only a date or only a time, select it and choose Format > Number > Date time. The underlying value may already include both parts, but a date-only number format can hide the time. Widen the column by dragging the boundary at the right of its column letter if the full value is cut off. The display format changes what you see, not the recorded value.
- Use a live timestamp only when it should update. With an empty cell selected, enter the formula below. Cell layout: this example assumes you want the live date and time in an otherwise empty cell such as B2; it does not depend on data in another cell.
=NOW()
NOW returns the current date and time and refreshes according to the spreadsheet’s recalculation settings. For example, it may show a value such as 11/3/2026 2:30 PM, but that displayed time can change later. Apply Format > Number > Date time if you cannot see both components. Do not use this formula as a permanent audit record: a recalculation can replace the earlier time. - Turn a live result into a fixed value if needed. If you already entered NOW and want to preserve the time currently displayed, copy the cell, then choose Edit > Paste special > Values only. This replaces the formula with its current value. On many Windows browsers, Ctrl+Shift+V is the paste-values shortcut; menu commands are a dependable alternative if the shortcut is intercepted by the browser. Check the cell afterward: the formula bar should show a date-time value rather than =NOW().
- Set up automatic timestamps for edits, if that is your goal. For a shared log, you can use Apps Script to write a fixed time in column B when someone edits column A. Choose Extensions > Apps Script, replace the starter code with the example below, and save the project. This example assumes entries begin in A2, timestamps belong in B, and the first row is a header. Return to the sheet and make a test edit in A2. The first time may take a moment to appear.
function onEdit(e) { const sheet = e.range.getSheet(); const row = e.range.getRow(); const col = e.range.getColumn(); // Timestamp edits in column A, starting on row 2. if (col !== 1 || row < 2 || e.value === undefined) return; sheet.getRange(row, 2).setValue(new Date()); } - Format and test the automated column. Select column B and choose Format > Number > Date time. Edit A2, confirm that B2 receives the current date and time, then make another edit in A2. This script replaces the previous timestamp on each qualifying edit. If you need to preserve the first timestamp instead, the script needs an extra check to write only when B is blank. Test with a sample row before relying on the sheet for important records.
Shortcuts and scripts solve different problems. A shortcut records the time you deliberately enter it. NOW displays a recalculating time. The script records a fixed time when a qualifying user edit occurs. Choose based on what the timestamp is meant to prove or track.
Common Mistakes
- Using NOW as if it were permanent. NOW is a live formula, not a historical record. Its result can update as the sheet recalculates. Use the keyboard shortcut for a fixed entry, or paste the formula result as values only.
- Pressing a shortcut while editing the cell. If the text cursor is inside the cell or formula bar, the keys may be treated as text or may not insert the timestamp. Press Enter or Escape to leave edit mode, click the cell once, and try again.
- Confusing a hidden time with a missing time. A date-only format can conceal a time that is present in the cell. Apply Format > Number > Date time before entering the value again.
- Expecting automatic timestamps from a formula beside an entry. A formula that refers to another cell does not automatically preserve the time of the original edit. A volatile formula updates, and a dependable edit-triggered record generally needs Apps Script or a manual shortcut.
- Putting the script in the wrong columns. The sample watches column A and writes to column B. If your entry column is different, change the column number in the script and the destination range, then test it on a noncritical row.
- Assuming the script handles every kind of change. A simple onEdit trigger responds to user edits in the spreadsheet. It does not run just because a formula recalculates, and the sample does not process multi-cell pastes as individual row events. A script or integration making changes may not trigger it either.
Tips
- Keep date and time together for sorting. A true Sheets date-time value sorts chronologically. Avoid typing dates as inconsistent text, such as mixing 3/11/26 with March 11, because text can sort differently and may be interpreted using locale settings.
- Use a clear column label. Labels such as Created at, Received time, or Last updated tell collaborators what the timestamp represents. A timestamp is only useful if readers know which event it records.
- Check the spreadsheet’s locale and time zone. Choose File > Settings to review the locale and time zone. These settings can affect how dates are interpreted or displayed. Align them with the people and process using the sheet, especially when collaborators work in different regions.
- Separate event time from entry time. If someone enters yesterday’s event today, the shortcut records the time of entry, not the earlier event. Keep a separate event-date column if both facts matter.
- Use a test row before automating a live tracker. Confirm which edits should cause a timestamp, whether later changes should overwrite it, and what should happen when a record is cleared. Make a copy before changing a script used by a team.
- Remember that Excel is a different application. This guide describes Google Sheets in a browser. Although some date and time shortcuts may look familiar in Excel, menu paths, script automation, and shortcut behavior are not interchangeable. Google Apps Script does not run as an Excel macro.
Troubleshooting
The shortcut inserts punctuation or does nothing: First click a cell once so it is selected rather than being edited. Try the Sheets-specific shortcut for your operating system, and check Help > Keyboard shortcuts. Browser extensions, keyboard layouts, or remote desktop software can intercept combinations. If the shortcut remains unavailable, enter the date and time manually in a consistent format, then apply Format > Number > Date time.
The time is missing or the display looks wrong: Select the cell and choose Format > Number > Date time. If the display is still cramped, widen the column. If a typed date is interpreted as the wrong day or month, review File > Settings and its locale. For a formula result, make sure the cell contains =NOW() and that calculation is enabled as expected; remember that the value is designed to update.
The script does not create a timestamp: Check that the code is saved in the Apps Script project attached to the same spreadsheet, that you edited column A on row 2 or later, and that the timestamp destination is column B. A simple onEdit trigger only responds to qualifying edits made by a person in the sheet; it will not run just because a formula changed. Open Extensions > Apps Script and check for a visible error. Also confirm that column B is not protected or otherwise unavailable.
The timestamp keeps changing: Check whether the cell contains =NOW(). If so, copy it and use Edit > Paste special > Values only to freeze the currently displayed result, or replace it with a manual fixed timestamp. If a script is overwriting it, that is expected behavior in the sample: every qualifying edit in column A writes a new time. Change the script if the first timestamp should be retained.
The recorded time differs from a collaborator’s clock: Check the spreadsheet time zone under File > Settings and confirm the intended zone with collaborators. A shared spreadsheet uses its settings for date and time behavior; a person’s local clock or location may differ. Document the chosen time zone if the sheet is used as a team log.
Frequently Asked Questions
Does a Google Sheets keyboard timestamp update automatically?
No. The date and time inserted with the shortcut are fixed values. They stay as entered unless someone edits or replaces the cell. That makes the shortcut suitable for manually recording when an action is logged.
What is the difference between a timestamp and =NOW()?
A shortcut inserts a fixed date-time value. The NOW formula returns a live current date and time that can refresh when the spreadsheet recalculates. Use the formula for a current-time display, not as a permanent record of when a row was first created.
Can I enter only the date or only the time?
Yes. Use the date shortcut alone for a fixed date, or the time shortcut alone for a fixed time. You can also format the cell to show only the part readers need. Keep in mind that formatting changes the display and does not necessarily remove the other part of a stored date-time value.
Can Sheets timestamp a row automatically when I fill it in?
Yes, Apps Script can add a fixed value when a user edits a chosen cell or column. You need to adapt the trigger conditions and destination to match your layout. Decide whether later edits should replace the original time, and test the script before using it for important records.
Can I make the script keep the first timestamp?
Yes. Add a condition that checks whether the timestamp cell is blank before writing a time. The sample script intentionally overwrites the value on each qualifying edit, so it does not preserve the original without that change.
Will a timestamp show the same time for every collaborator?
The spreadsheet’s time zone and locale influence how date and time values are displayed and interpreted. Collaborators may view the sheet from different local time zones, so check File > Settings and agree on the time zone that the log should represent.
Related
- Clear Email Address Cache in Outlook: Step-by-Step
- Clear Cache in Outlook for Windows 10: Step-by-Step
- Clear Cache in Outlook OWA: Browser Data and Fixes
Try it: the Date Difference Calculator: days, months, years and weekdays between two dates, with the DATEDIF formulas.
More in How-to basics
- How to Add Double Spacing in WordTo double-space text in Microsoft Word, select the text—or press Ctrl+A on Windows or Command+A on Mac to…
- Schedule an Email Reminder in Outlook: Step-by-StepTo get a reminder to follow up on an Outlook email, flag the message and set a reminder…
- Can You Alphabetize in Google Sheets? Sorting Rows and ColumnsYes. In Google Sheets, select the data you want to organize and use Data > Sort range to…
- Excel Flash Fill: How to Disable Automatic SuggestionsTo disable automatic Flash Fill in Excel for Microsoft 365 on Windows, go to File > Options >…
- Power Query Data Types: Choosing, Changing, and Fixing ThemPower Query data types tell the editor what kind of value each column contains—such as text, a whole…
- Finance Spreadsheet in Google Sheets: Setup and FormulasA finance spreadsheet in Google Sheets can help you track income, spending, budgets, savings, and debt in one…
Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources
Spotted an error in this guide? Let us know.