stop Google Sheets from reformatting/structuring cell formulas - google-sheets

I have some formulas in a Google Sheet cell. If I restructure the formula, like by adding new lines or spaces, for legibility, it undoes my changes. Is there a way to stop this? It seems to only happen if the cell had the formula before. If I put the formula in a new cell it doesn't do that.
This is on Enterprise G-Suite so I cannot share an example sheet.
Blank cell:
Add a structured formula:
Now if I edit the structure it does not retain the changes. In the example below, I removed a new line after TRUE.
Before hitting enter:
After hitting enter:
Also, if I add the same formula to a new/different cell, regardless of how I structure it, it'll restructure to match the one from the other cell.

Google Sheets remembers forming even upon deletion/insertion in new cell. the only way how to achieve what you ask is to introduce a change that directly affects the output calculation. if the output calculation remains the same after the change in structure/formatting then your only possible option is to use lowercase for formula. in other words, if you change your IF to if or If or iF it will register it as new change and therefore the formating will be not reverted to the previous existing state.
the less preferable but working solution would be to wrap it in some useless formula. for example:
=QUERY(IF(TRUE, "hello", "bye"))

Related

Change cell value based on checkbox in Google sheets

I'm using Google sheet to manage my budget (see sample below) where I add each of my expenses as a single entry (yes, sounds like a lot of work). I sometimes split the expense with my roommate but then I have to add the value and divide by 2 everytime.
I was thinking if I could use a checkbox next to the value that will automatically divide the expense number by 2 when I check it. Is this possible?
I'm open to simple suggestions other than the checkbox to automatically update the value. Thank you.
Using simple IF formula you can just check if the checkbox is true, if it is then it will divide the current value on column C by 2. Otherwise it will remain blank.
Formula:
=IF(D1,C1/2,"")
Drag down to other cells.
Result:
Suggestion, Alternate solution:
If you'd like you can make a table with a column for your roommate, instead of editing the actual column so you can see both values. And use this formula:
=if(NOT(D2=""),E2/2,E2)
You have a column for per head contribution/split. If the cell on roommate is blank then it will stay as the total value, if roommate has an additional then it will be added to total and split it by 2.
Or using arrayformula:
=arrayformula(if(NOT(D2:D=""),E2:E/2,E2:E))
Works the same as above you just have to fill the enter the formula in the first cell no need to drag down and it will automatically expand to rows/cells below just make sure that below cells are empty or it will return an error.
Additional - Using same cell
As you've mentioned in the comments. Here's a way to divide the original value without using another cell to store it. (Not recommended)
Formula:
=VALUE/IF(D1,2,1)
example:
=1000/IF(D1,2,1)
Result:
However, I do not recommend this. It is still best to make use of another cell to store the original value before making calculations to it.
Also, using this formula you have to change the value from the formula and not on the cell otherwise you will replace the actual formula.
You can try array approach-
=ArrayFormula(IF(D1:D,C1:C/2,C1:C))

How to copy conditionnal formating of a row to others rows in Google Sheets?

Need some help. I'm currently making a Google Sheets, and I need some conditional formating. I need a row to be formatted with the condition on one of her cells.
For example, I need to formate A2:I2 with the formula =$H$2="No".
This was the easy part. I can do that.
The part that I fail is :
I have like 30 or 40 rows to formate like that, with the condition on the cell of the row. (H15 for A15:I15, H21 for A21:I21...). I tried to select the first row, copy it, and special past the formatting to another row, but Google makes some weird shit. It creates a new rule, but keep the previous cells range and add the currently selected. And the formula stays on the $H$2. I know it's because I put some $ in the name of the cell, but if I don't, it will not formating the entire row. Juste the first cell.
My question is :
How can I properly copy/paste the conditional formatting of the first row to the others one, with the condition correctly on the cell of each row, and keeping the formatting on the entire row?
The meaning of the $ sign is the following:
$H$2: it will lock that cell only,
H$2: it will lock that column,
$H2: it will lock that row (I think this is the one you are looking for),
So you can set the range to be: A2:I
And the formula to be: =$H2="No"

Conditional formatting Google sheets, if formula not used

I am trying to highlight cells which have been manually entered by using the formulatext() function. However, at the moment this is highlighting all the cells that have a different outcome (from if statements) to the first cell. Can this be changed?
(If curious my exact formula at the moment is =formulatext(E4)<>if(B4= "","",if(left(CN4,1)<>"-",if(or(D4="A",D4="B"),if(AF4<>"","DONE",CN4),if(AF4<>"","DONE",CN4)),if(or(D4="A",D4="B"),if(AF4<>"","DONE","over 48h"),if(AF4<>"","DONE","over 36h")))), the formula inside is working so no need to change it)
https://docs.google.com/spreadsheets/d/1kOJf07eoe_8tYR9a2h1iv2OIBt77xprHiGER3InGg-g/edit?usp=sharing
I hope that link works.

Google Sheets Conditional Formatting Issue

I am making a google sheet to track attendance for a team. I want the row with the name to highlight a specific color when a checkbox is on. I managed to write something that works for the specific row I'm working in, but any time I try to copy it over to other rows the range is just adjusted, so any time any checkbox from a column is on it highlights all the rows. Attached are pictures that show what I want it to do. I just need help figuring out how to copy this to other rows and keeping them all separated.
The code that is in each conditional formatting is this:
=$B2=True
=$C2=True
=or($D2,$E2)=True
https://docs.google.com/spreadsheets/d/1zwkuJOCBPIIoQ7cp0bV5IvidMVwdeIC0dShdjwKMSkE/edit?usp=sharing
I think the issue is with the code itself because when I copy it adds the new range, but the code stays the same.
your formulae are correct. change your range A2:E2 to A2:E - that will solve it

Set the content of a cell to a function?

I have a spreadsheet in which I want to be able to expand the number of columns using a function rather than using auto-fill because the new cells are getting filled with content based on complex formulas and depending on a lot of things.
In one of these cells I want the content to be something like =SUM(A1:A8)
But if I just do cell.setValue("=SUM(A1:A8)") I get "error: Unknown range name A1", unless I afterwards edit the cell content and press enter, without really having changed its content.
Is there any way of fixing this?
I don't want the calculation to be in the expand-columns-function because I do want the cell-calculation to be updated when one of the referenced cells change.
Is there a way of doing it besides having an onEdit-function listening to changes in the referenced cells and updating the calculations?
Thanks
To set a formula on a cell you should use cell.setFormula not setValue.
I'm not sure I understood you "expand" issue completely, but I think an opened range sum function may suit you better than apps-script. e.g.
=SUM(A:A) or =SUM(A2:A)

Resources