Wrong or old results
Updated 2026-11-13
A call succeeds, but the numbers differ from Excel, or a change you made does not show. This page goes through the causes in order of likelihood, with the fix for each.
Quick check
- Did you Save (Speichern) and then republish after the last change? Callers get the published version, not the draft.
- Does
metadata.cachedsaytruein the answer? Then the result was stored from an earlier call with the same inputs. - Do the
inputsin the answer show the values you meant? The answer lists the inputs that were set for this call, with the value that was used. - Are percentages sent as decimals —
0.05for 5 %? - Do the same input values in the workbook in the editor give the same result? If yes, the service is right and the difference is in the values sent.
1. Changes were saved but not republished
This is the most common cause of "my change does not show".
- Save stores the workbook and the parameters in the draft.
- Callers always get the published version. It stays as it was until you publish again.
Fix: open the service, click Save, then click the status button Published (Veröffentlicht) and choose Republish (Neu veröffentlichen). The app confirms with "Service republished. New calls use the new version." See Publish and republish.
If republishing is refused, see Publish problems.
2. A stored result is answered
Results are stored for a short time so that repeated calls are fast.
- The same inputs again: with response caching on, a call with exactly the same inputs is answered from the stored result for up to 15 minutes. The answer says so:
metadata.cachedistrue. - After republishing: stored results belong to the version they were calculated with. They are not used after a republish: the next call is calculated with the new version.
- Browsers and networks: answers are not stored by browsers or networks. Every call reaches the service.
Fixes:
- For one fresh calculation, add
nocache=trueto the call. It skips the stored result and calculates again. - A service with a data connection can turn off Enable response caching (Antwort-Caching aktivieren) in the service settings; save and republish afterwards. For services without a data connection, caching is always on; use
nocache=truefor the calls that need a fresh calculation. See Service settings.
More about caching: Caching and performance.
3. Percentages sent as 5 instead of 0.05
A percentage is a decimal: 5 % is 0.05. This is how Excel stores it, and it is what the service expects.
- On an input that is not formatted as a percentage,
5means 500 %. An interest result that is a hundred times too large points to this. - On an input that is formatted as a percentage in the workbook, a number above 1 is read as percent points:
5is taken as 5 %, and1.5as 1.5 %. To send more than 100 % to such an input, use text with a percent sign:"150%". 0.05means 5 % in every case. Send decimals and you are always right.
The answer shows what was used: look at the value of the input in inputs. Details: Percentages and formats.
4. Number formats
- Outputs are raw values. The
valueof an output is the calculated number with all its decimals, for example1234.5678, not the text "1,234.57 €" you see in the cell. When the output has a number format, it comes along asformatStringso that you can format the value for display. - Percent outputs are decimals too. A cell that shows 12.5 % answers
0.125. - Dates are sent and returned as described in Data types.
- Decimal separator. Send numbers with a point:
1234.5. A value such as1.234,50is not a number and is refused with "Expected a number". - Rounding. If Excel shows a rounded number, compare with the full value in the cell, not with what the cell displays. Use
ROUNDin the formula if callers should receive a rounded value.
See Formatting and number formats.
5. Volatile functions: NOW, TODAY, RAND
Functions such as NOW, TODAY, RAND and RANDBETWEEN give a new value each time they are calculated. With response caching on, a call with the same inputs is answered from the stored result, so the time or the random number does not change until the stored result is replaced.
Fixes:
- Send the date or the random seed as an input instead of calculating it in the workbook. The result is then the same for the same inputs and correct for every call.
- Or call with
nocache=true, which calculates again on every call.
See Workbook tips.
6. Values outside validation, and inputs left out
- A value outside the limits is refused, not calculated. If an input has a minimum, a maximum or allowed values, a call with another value answers "Parameter validation failed" instead of a result. See Input errors.
- An input without limits accepts everything. If the workbook only makes sense for a certain range, set a minimum and a maximum so that callers get a clear error instead of a meaningless result. See Input validation.
- An optional input that is left out takes its default value, or the value its cell has in the published workbook. If a result looks as if an old value was used, check whether the input was sent at all.
- A misspelled key is ignored. A key that matches no input of the service has no effect, and the input keeps its default. Compare the
inputsin the answer with what you meant to send.
7. The workbook itself calculates differently
- Formula errors. If an output is
#VALUE!,#DIV/0!,#NAME?or#REF!, the formula fails for these inputs. Try the values in the editor. - Features that do not run on the server. Macros do not run, and links to other files have no data. See Supported Excel features.
- The wrong cell. Check that each input and output points to the cell you mean, especially after rows or sheets were moved. See Rename, reorder, remove.
- A new version of the Excel file. If you changed the file in Excel, bring it in again, save and republish. See Replace the workbook.
How to compare with Excel
- Call the service and note the values under
inputsin the answer. - Open the service, click the test button and enter exactly these values; see Test before publishing.
- If the test shows the result you expect and the call does not, the published version is older than the draft: republish.
- If both show the same unexpected result, enter the values in your Excel file and compare cell by cell to find the formula that differs.
For developers and agents
metadata.cached: truemarks an answer from a stored result. A fresh calculation has nocached: true.nocache=true(query parameter on GET, field"nocache": truein a POST body) skips the stored result and calculates again.nocdn=trueis still accepted but no longer needed.- Successful answers carry
Cache-Control: no-store: browsers and networks do not store them. - Stored results are kept for up to 15 minutes per set of inputs and are tied to the published version.
inputs[]in the answer lists each input that was set (sent, or filled with its default) withname,titleand thevalueused.outputs[]listsname,title,valueand, when set,formatString.- Percentage rules for a number input: text
"5%"is converted to0.05once; on an input formatted as a percentage, a bare number with an absolute value above 1 is divided by 100; a bare number up to 1 is used as it is. - For an agent: if a result looks off by a factor of 100, check the percentage inputs first. If results do not reflect a change the user just made, ask whether the service was republished before calling again with
nocache=true.
FAQ
I changed my workbook. Why does the API still answer the old result?
Callers get the published version, and saving alone does not change it. Save, then republish; the next call uses the new version.
Why is my result different from Excel?
Most often a percentage was sent as 5 instead of 0.05, an input was left out and took its default, or the published version is older than your file. Compare the inputs in the answer with the values in Excel first.
How do I send 5 percent?
Send 0.05. A percentage is a decimal, as in Excel.
My result is 100 times too large. Why?
A percentage was sent as a whole number, for example 5 instead of 0.05, to an input that is not formatted as a percentage. Send the decimal.
What does "cached": true mean in the answer?
The answer comes from a stored result of an earlier call with the same inputs, not from a new calculation. Add nocache=true to the call if you need a fresh one.
How long are results cached?
A result for the same inputs is stored for up to 15 minutes. Browsers and networks do not store answers, and a republish drops the stored results.
How do I force a fresh calculation?
Add nocache=true to the call; it skips the stored result and calculates again. nocdn=true is still accepted but no longer needed.
Why does NOW() or TODAY() return the same value on every call?
With response caching on, a call with the same inputs is answered from the stored result, including the time it was calculated. Send the date as an input, or call with nocache=true.
Why does RAND() give the same number again?
For the same reason: the result for these inputs was stored. Call with nocache=true if every call should draw a new number.
Why does my output have so many decimals?
An output is the raw calculated value, not the formatted text of the cell. Round in the formula with ROUND, or format the value on your side using the formatString of the output.
Why does my output show 0.125 instead of 12.5 %?
Percent values are returned as decimals, as Excel stores them. Multiply by 100 for display, or use the formatString of the output.
A value I sent seems to be ignored. Why?
The key probably matches no input of the service, so the input kept its default. Check the spelling against the input names and look at inputs in the answer to see which inputs were set.