Column Formula

I have a column with a formula in it to update a status number conversion field. When I update my rows through quick edit the field updates as intended but if I update through a form, it isnโ€™t updating the field at all. Any ideas as to why that behavior is different?

0 15 519
15 REPLIES 15

To help identify why the values are not changing when edited in a Form, please post the expressions you have implemented in that column.

It is my understanding and experience that Quick Edit fields do not utilize the App Formula or Initial Value expressions. It is a simple straight edit. They do use Valid_If and Required_If constraints if any.

Here is an article with some other information that may help:

Curious where you got this from?

Is it not correct? I have a number of Quick Edit fields and have noticed that in a couple, formulas I expected to be applied did not. When reading the article, it mentions the it mentions that Valid_if and Required_If are applied but does not mention the other expressions.

I am reading between the lines and interpreting that to mean that the App Formula and Initial Value expression are not intended to apply to Quick Edits.

If you feel that is incorrect, please let me know. Iโ€™ll go back and look at the fields I had trouble with and see if it was I that was doing something wrong.

It may be correct. I havenโ€™t tinkered with QuickEdit columns so I canโ€™t speak from experience. Was hoping for more information.

I hate to give out wrong information, but sometimes I overreachโ€ฆso Iโ€™ll double check myself.

@Austin_Lambeth Still, to understand why maybe your changes are not working as expected in the Form, it would be good for us to see your expressions in the App Formula and Initial Value properties of a column you are having trouble with.

IFS([HiringStatus]=โ€œUnreadโ€, โ€œ0โ€,[HiringStatus]=โ€œReviewingโ€, โ€œ5โ€, [HiringStatus]=โ€œScreeningโ€, โ€œ10โ€, [HiringStatus]=โ€œScheduled Interviewโ€, โ€œ15โ€,[HiringStatus]=โ€œOffer Positionโ€, โ€œ20โ€, [HiringStatus]=โ€œHiredโ€, โ€œ25โ€)

This table is UPDATEONLY for all users other than myself the admin. There is no initial value for this column. So in the form the user is able to update the HiringStatus which I need as a number for math equations elsewhere. When I edit the status in the form the HiringStatusNumber(the field that has that formula as its App Formula) stays the same. But if I edit another field, such as Overall Score, my formula edits my HiringStatusNumber to the correct value.

I see nothing syntactically wrong with the IFS().

It seems there are 2 possible causes of the issue you are seeing (which you probably have thought of)

  1. None of the IFS() conditions are met for whatever reason.
  2. The change is not being properly recognized within the Form.

You can quickly rule out the former by adding a default condition to your IFS().

BUT Since it seems a change in another field later DOES update the HiringStatusNumber, I think the later is more likely.

Iโ€™m curious about your statement โ€œUPDATEONLY for all users other than myself the adminโ€ and how you have implemented that. Adding Security Filters, etc is unfamiliar waters for me. @Steve is probably more knowledgeable. Iโ€™m wondering if the way in which you have this implemented is contributing to your issue. Have you tried taking the Security out to see if the Form behaves normally?

I agree.

Were this the case, the IFS() expression would produce a blank value, which would erase any previous value.

Agreed.

Hereโ€™s your expression with some formatting for clarity:

IFS(
  [HiringStatus]=โ€œUnreadโ€,
    โ€œ0โ€,
  [HiringStatus]=โ€œReviewingโ€,
    โ€œ5โ€,
  [HiringStatus]=โ€œScreeningโ€,
    โ€œ10โ€,
  [HiringStatus]=โ€œScheduled Interviewโ€,
    โ€œ15โ€,
  [HiringStatus]=โ€œOffer Positionโ€,
    โ€œ20โ€,
  [HiringStatus]=โ€œHiredโ€,
    โ€œ25โ€
)

AppSheet handles the is-equal-to operator (=) in a non-intuitive way: if the left-side value is blank, the expression will be TRUE regardless the right-side value. For instance, in [HiringStatus]=โ€œUnreadโ€, if [HiringStatus] is blank, the expression is TRUE, even though a blank value and "Unread" are not the same. One way to avoid this behavior is to put a value you know will never be blank on the left side: โ€œUnreadโ€=[HiringStatus].

IFS(
  โ€œUnreadโ€=[HiringStatus],
    โ€œ0โ€,
  โ€œReviewingโ€=[HiringStatus],
    โ€œ5โ€,
  โ€œScreeningโ€=[HiringStatus],
    โ€œ10โ€,
  โ€œScheduled Interviewโ€=[HiringStatus],
    โ€œ15โ€,
  โ€œOffer Positionโ€=[HiringStatus],
    โ€œ20โ€,
  โ€œHiredโ€=[HiringStatus],
    โ€œ25โ€
)

This entire expression could instead be expressed using SWITCH():

SWITCH(
  [HiringStatus],
  โ€œUnreadโ€, โ€œ0โ€,
  โ€œReviewingโ€, โ€œ5โ€,
  โ€œScreeningโ€, โ€œ10โ€,
  โ€œScheduled Interviewโ€, โ€œ15โ€,
  โ€œOffer Positionโ€, โ€œ20โ€,
  โ€œHiredโ€, โ€œ25โ€,
  ""
)

To be clear, I donโ€™t think anything here is the problem.

Please provide screenshots of the DATA VALIDITY, AUTO COMPUTE, and UPDATE BEHAVIOR sections of the HiringStatusNumber column configuration screen.

The table itself is update only for anyone other than myself.
The field that determines update/add/delete for a table can take a formula
SWITCH(USEREMAIL(),
โ€œmyEmail@mycompany.comโ€, โ€œALL_CHANGESโ€,
โ€œUPDATE_ONLYโ€)

UPDATE_ONLY should be UPDATES_ONLY (plural). I donโ€™t think this is contributing to the problem.

I typed that in manually. The actual formula had the โ€œsโ€.


The only field that is cut off is reset on edit with is off.

This is the expression in the app formula column

Well, Iโ€™m nearly at a loss.

Does this mean the column value displayed in the form itself isnโ€™t updating? Or is the form value updating but not being saved to the spreadsheet?

Top Labels in this Space