What is "COMPUTED_VALUE" in Spreadsheet formula and How does it Work?

Hello,

This question is mostly for those who use Google Spreadsheet for their data, I think.

For reasons of transferring computing time from appsheet to the google spreadsheet, Iโ€™ve come to write some formulas in the spreadsheet that go on these lines:

- the formulas are written on the very first row of the spreadsheet and look like this:
={โ€œName of my Columnโ€;ArrayFormula(my formula)}

Most work just fine and spreadsheet recognizes these formulas and the Column Name just fine.
However, there are some that donโ€™t seem to be recognized by appsheet, but in a very strange โ€ฆ half way โ€ฆ way.

So the only thing that I find special about them is that they contain a query() as far as I can tell.

Appsheet recognizes the Column Name just fine.
However, in the โ€œAuto Computeโ€ field of the column, on the โ€œSpreadsheet formulaโ€ line it generates this " โ€œCOMPUTED_VALUEโ€ " text. And when I add data through the App, in the spreadsheet it actually fills in the cell with the actual words โ€œCOMPUTED_VALUEโ€โ€ฆand obviously, thatโ€™s not good as it interrupts the ArrayFormula.

Now what is even stranger, is that if I delete that value from the โ€œSpreadsheet formulaโ€ line in Appsheet and save, it doesnโ€™t fill it back in and so when I add data through the App now, the ArrayFormula works fine.
BUT, thatโ€™s not a long term solution because if I Regenerate the Structure of the Table, then Appsheet again fills in that field with โ€œCOMPUTED_VALUEโ€ and I would have to remember to always go back there and delete it before adding any new data to that table through the App.

So, any Ideas about what to do here?
Or whatโ€™s the logic of it?

  • how come it doesnโ€™t recognize the formula?
    Just in case, here is the formula itself:

={โ€œName of My Columnโ€;
ArrayFormula(
if(A2:A="","",
iferror(
vlookup(A2:A,
query({Times!A2:A,Times!C2:C,Times!J2:J,Times!Q2:Q}, "select Col2, sum(Col3) where Col1 <> โ€˜โ€™ AND Col4 = โ€˜CNCโ€™ group by Col2 ", 0),2,false),
โ€œ0โ€)))
}

  • how come it forces this text โ€œCOMPUTED_VALUEโ€ into the spreadsheet?

Thank you,
Sorin

Solved Solved
1 16 14.7K
1 ACCEPTED SOLUTION

I have replied to Sorinโ€™s bug directly. For the sake of the community, here is what I learned when investigating this issue.

This is a Google Sheets to Excel export issue.

When you click the โ€œRegenerateโ€ button for a Google Sheets workbook, this is what happens:

  1. We call Google Sheets and ask it to โ€œexportโ€ the Google Sheet as an Excel .xlsx file.
  2. Google Sheets converts your workbook to an Excel .xlsx file. This includes converting the Google Sheets formulas.
  3. We read the exported .xlsx file in a third party library called EPPlus that can read .xlsx files.
  4. We use EPPlus to extract the formatting, formulas, and data values from each of the worksheet cells in the workbook.
  5. We convert the worksheet formulas from A1 to R1C1 format and store those AppSheet formulas in the โ€œSpreadsheet formulaโ€ property.

When you add a new row through your AppSheet application, we convert the formula in the โ€œSpreadsheet formulaโ€ property from R1C1 to A1 format and store that formula in the appropriate cell of the newly added row.

The problem is occurring because Google Sheets is exporting the formulas in columns J through N of your Google Sheet as:
โ€œ__xludf.DUMMYFUNCTION(โ€"โ€œCOMPUTED_VALUEโ€"")"

Typically, Google Sheets exports formulas that are supported in Google Sheet but not Excel by wrapping the formula in:
โ€œ__xludf.DUMMYFUNCTION( )โ€.

We extract the value contained inside the __xludf.DUMMYFUNCTION( ) and use that as the worksheet formula.
Unfortunately, in your case, Google Sheets is exporting your formulas in columns J through N as โ€œCOMPUTED_VALUEโ€.
As a result, that is the value we see and that we assign to the worksheet formula.

Fixing this problem would require that Google export your Google Sheets formulas in a better form.
You can report this problem to Google, but I am not sure how responsive they will be.

The other alternative is to change the formulas until you find a form of the worksheet formulas that Google Sheets will export to Excel correctly.
You can experiment with this as follows:

  1. Open you worksheet in Google Sheets.
  2. From the Google Sheets โ€œFileโ€ menu select โ€œDownloadโ€ > โ€œMicrosoft Excelโ€.
  3. Try to open the exported .xlsx file in Excel.
  4. โ€‹If you try this with your current Google worksheet formulas you will see that Excel will complain that the .xlsx files are invalid and it will ask you if it can fix them.
    When it does this, it will delete the worksheet formulas in the failing columns.

โ€‹With luck, you may be able to find some form of the worksheet formulas that Google Sheets will export correctly.
โ€‹

View solution in original post

16 REPLIES 16
Top Labels in this Space