Do not refresh date in IF Statement using TODAY()

No. The point of TODAY() is to get the date of the latest recalculation. IF or any other functions won't help either because there's no function that stores the time it was first called and always returns that value

If you need to insert the current date without changing then you shouldn't use a function, instead insert it statically with Ctrl+; (semicolon). Similarly to insert NOW() without changing, use Ctrl+: (colon)

Insert a static date or time into an Excel cell

A static value in a worksheet is one that doesn’t change when the worksheet is recalculated or opened. When you press a key combination such as Ctrl+; to insert the current date in a cell, Excel “takes a snapshot” of the current date and then inserts the date in the cell. Because that cell’s value doesn’t change, it’s considered static.

Insert a date or time whose value is updated

A date or time that updates when the worksheet is recalculated or the workbook is opened is considered “dynamic” instead of static. In a worksheet, the most common way to return a dynamic date or time in a cell is by using a worksheet function.

To insert the current date or time so that it is updatable, use the TODAY and NOW functions, as shown in the following example. For more information about how to use these functions, see TODAY function and NOW function.

Insert the current date and time in a cell


One way that may work for you is to use a circular reference and enable iterative calculation.

  • In Options select the Formulas tab and tick the Enable iterative calculation option.
  • In cell B1 enter the formula: =IF(A1<>"",IF(B1="",TODAY(),B1),"") (it will return a blank)
  • Format the cell as a date.
  • Add a value to cell A1 - text saying "Date:" would be a good choice.
    The current date should appear in cell B1 and not update.

Downsides

  • Editing the formula will recalculate it to 0 - or 00/01/1900 in date format.
  • Removing the value in cell A1 and adding it back will recalculate the date.
  • Users

Iteration is the repeated recalculation of a worksheet until a specific numeric condition is met. Excel cannot automatically calculate a formula that refers to the cell — either directly or indirectly — that contains the formula. This is called a circular reference. If a formula refers back to one of its own cells, you must determine how many times the formula should recalculate. Circular references can iterate indefinitely. However, you can control the maximum number of iterations and the amount of acceptable change.
Change formula recalculation, iteration, or precision