Your NOW() function isn’t updating, time stays static, doesn’t refresh automatically, or only changes when you edit something.
This happens because NOW() is a volatile function but depends on sheet recalculation settings.
Why the Issue Happens
- Calculation settings set to “On change” only
- No edits triggering recalculation
- Sheet opened in view-only mode
- Browser/session not refreshing
- Using NOW inside static formulas
- External data not triggering updates
- Large sheet delaying recalculation
Step-by-Step Fixes
Step 1: Check Calculation Settings (Most Important)
Go to:
- File → Settings → Calculation
Set:
- Recalculation → On change and every minute
or - On change and every hour
This ensures NOW updates automatically.
Step 2: Force Manual Refresh
If NOW is stuck:
- Press:
Ctrl + R - Or edit any cell and press Enter
This triggers recalculation.
Step 3: Use NOW with a Volatile Trigger
If recalculation is inconsistent:
=NOW() + RAND()*0
This forces update.
Step 4: Check If Sheet Is in View Mode
If you don’t have edit access:
- NOW will not update dynamically
Fix:
- Switch to edit mode
- Or make a copy of the sheet
Step 5: Avoid Using NOW Inside Static Outputs
Example:
=TEXT(NOW(), "hh:mm")
This converts time to text → stops dynamic behavior in some cases.
Fix:
- Use NOW directly
- Format cell instead of TEXT
Step 6: Use Helper Cell for NOW
Instead of multiple NOW formulas:
A1 = NOW()
Then reference:
=B2 + $A$1
Improves performance and consistency.
Step 7: Refresh External Data Dependencies
If NOW depends on imported data:
- It may not update automatically
Fix:
- Re-enter formula
- Or trigger recalculation manually
Step 8: Check Browser Issues
Sometimes it’s not the formula.
Fix:
- Hard refresh:
Ctrl + Shift + R - Clear cache
- Try Incognito mode
Step 9: Avoid Heavy Sheets
Large files delay updates.
Fix:
- Reduce formulas
- Limit full-column references
- Optimize data structure
Step 10: Use Apps Script for Real-Time Updates (Advanced)
For precise updates:
function updateTime() {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").setValue(new Date());
}
Trigger via time-based triggers.
Common Mistakes
- Not changing calculation settings
- Expecting real-time second-by-second updates
- Using NOW inside TEXT unnecessarily
- Ignoring browser/session issues
- Using multiple NOW formulas across sheet
Pro Tips
Use TODAY instead if time not needed
=TODAY()
Convert NOW to hours
=NOW()*24
Fix time zone issues
- File → Settings → Time zone
Bottom Line
If NOW isn’t updating, fix in this order:
- Change recalculation settings
- Trigger manual refresh
- Use helper cell for NOW
- Avoid TEXT wrapping
- Check browser and performance issues
Most issues come from recalculation settings, not the formula itself.
Fix that, and NOW will update correctly.