Fix Excel Formulas Not Recalculating After Changing Regional Separators
Question details
Excel formulas that compare numbers stored as text fail to recalculate and update their results after the user changes Windows regional separator settings.

- Product
- Excel
- Device & OS
- Windows
- Scenario
- Opening an Excel workbook after modifying Windows regional settings (decimal and thousands separators) while the workbook was previously closed.
- Observed behavior
- Formulas retain their previous calculation results because Excel's standard recalculation engine fails to detect the change in localized number-to-text conversions.
Ensure that your Windows regional settings are correctly applied and verify whether your workbook calculation mode is set to Automatic.
Use a Volatile Function Reference
Force Excel to recalculate the affected formulas dynamically by embedding a volatile function like OFFSET.
A volatile function forces Excel to recalculate the formula every time a change is made anywhere in the workbook. This bypasses the issue where Excel's standard recalculation fails to recognize OS-level regional separator changes.
Be aware that using volatile functions extensively in large workbooks can negatively impact calculation performance.
Click on the cell containing the formula that is failing to update based on the new regional settings.
Click into the formula bar at the top of the workspace to modify your existing text-to-number comparison formula.
Wrap or append a volatile function such as OFFSET to your formula. For example, modify your formula to look like: ="P"&OFFSET(A1,0,0)="P6.3".
Press Enter to save the formula. The volatile reference will now force the cell to recalculate and display the correct result based on your current Windows regional settings.

Force Recalculation Using VBA
Use a VBA macro to trigger a full recalculation when the workbook opens, which is ideal if you want to avoid the performance hit of volatile functions.
Redesign the Formula Comparison
Modify your formulas so they compare pure numeric values instead of relying on localized number-to-text conversions.
Calculate and Manage Formulas Seamlessly with WPS Spreadsheet
WPS Office Spreadsheet offers a highly compatible and reliable formula engine. You can effortlessly manage automatic or manual recalculations, ensuring your data is always accurate without worrying about underlying regional separator conflicts.
- 1. Open your workbook: Launch WPS Spreadsheet and open the file containing your data and formulas.
- 2. Navigate to the Formulas tab: Click on the 'Formulas' tab located in the top ribbon to access calculation tools.
- 3. Adjust calculation options: Click on 'Calculation Options' and ensure 'Automatic' is selected so your formulas update instantly.
- 4. Force a manual recalculation: If you need to force a global update across the workbook, simply click the 'Calculate Now' button or press F9 on your keyboard.

Frequently Asked Questions
Why did my Excel formulas stop updating after changing my Windows region?
When Windows regional settings such as decimal or thousands separators are changed while Excel is closed, the standard recalculation engine may fail to detect the change. This specifically affects formulas that compare numbers stored as text strings.
What is a volatile function in Excel?
A volatile function is a specific type of Excel function (like OFFSET, TODAY, or INDIRECT) that recalculates every time any change is made to the worksheet, regardless of whether its precedent data has changed. This is useful for forcing updates but can slow down large files.
How can I manually force Excel to recalculate everything?
You can press Ctrl + Alt + F9 on your keyboard to force a complete and thorough recalculation of all formulas in all open workbooks, overriding Excel's standard calculation checks.
Will VBA macros affect the performance of my workbook?
Using a simple VBA script to trigger an 'Application.CalculateFull' event upon opening the workbook generally has minimal ongoing performance impact, unlike volatile functions which trigger after every single edit made to the spreadsheet.




