Possible gSheets ArrayFormula display bug - arrays

I can almost always find an answer here for a problem, but not this time so I'm asking the community.
I'm having a problem with ArrayFormula not displaying the text in the True branch of an IF when the condition evaluates to True. Instead it displays the text associated with the False branch.
The array formulas are all on row 4. I thought it might be caused by one of them referencing row 5 instead of row 4 and showing the result from the next row but that isn't it.
I thought it might be a corrupted sheet but after recreating in a new sheet the problem was still present.
It is easier to show than to explain so I've provided the gsheet and a short screencast below. A link to the screencast is also in A1 in the gsheet.
https://docs.google.com/spreadsheets/d/1H7W__hM2L89faxIOZ23WgboXHgaWe0wYT20aWVr_vD8/edit?usp=sharing
https://www.loom.com/share/a867787fdc6044a3840125e288d4cb8c?from_recorder=1
Thanks much for taking a look...

AND formula is not supported under ARRAYFORMULA
use multiplication:
=ARRAYFORMULA(
IF(D4:D="",,
IF(D4:D<0, "No Profit",
IF(H4:H/(G4:G+1)*D4:D<D1,
IF((C4:C>C1)*(E4:E>(C1*3-1)), "Low Profit"&
TEXT(H4:H/(G4:G+1)*D4:D, "$00"), "Low Price"), H4:H/(G4:G+1)*D4:D))))
also note that anchoring $ in "true" AF is kinda pointless

Related

VLookup formula not working per the documentation

Before y'all tell me to search please look at the formulas. I have searched and tried all variations mentioned in the docs. The spreadsheet is dead simple. I am trying to populate the driver name cell based on previously recorded license plates. Why is this not working as the docs show? The result with in B11 should be 'Billy Goats'.
Formula with no final value specified (should default to TRUE).
Formula final value sorted set to TRUE, still not working.
Formula final value sorted set to FALSE, still not working.
I am not looking for someone to fix my problem. I just want to know why this is not functioning according to the docs. I am trying to learn, not get free scripting services.
use:
=VLOOKUP(F11, {E1:E10, B1:B10}, 2, 0)

Excel - Find a Cell in an array and its location

Looking to figure out how to determine the address of a cell in an array based on a previously determined max value. See the attached picture:
What I'm looking for in this image is the cell directly above the minimum value of 192.02. Total minimum value is determined by finding the minimum across the row, then down in a column. I need to figure out how to bolt on a formula that will essentially find that location and move up one cell. Duplicates aren't an issue - the first match is sufficient.
Haaaaa... I found out a method using SUMPRODUCT, but it wasn't working out for me, reporting a circular reference. I couldn't figure out what the hell the issue was until I realized the "row check" formula extended infinitely to the right and I'd put the formula in a cell in that area - thereby making it an infinite loop. Embarassing.
The method I found was this, incidentally:
=SUMPRODUCT((K6:M20=H24)*(COLUMN(K6:M20)))
=SUMPRODUCT((K6:M20=H24)*(COLUMN(K6:M20)))
Where H24 is my minimum value and K6:M20 is the range. Then you can use INDIRECT with these values to get the value of that cell. In my case, I'd use
=INDIRECT(ADDRESS(ROW-1,COLUMN),TRUE)
To find the cell directly above that value. Sometimes just posting a question can solve it for you, haha.

Scorecard absolute comparison with % symbol

I am trying to make a comparison between two different dates in the GDS and present that information in a scorecard.
I have done this in the past with no problem, but this time I want to do an absolute comparison. Although I checked the box to make it an absolute comparison, the information appears with a % sign after it. I would like to see a "p.p." after it or nothing at all.
How can I achieve this result?
You can find below an image of what is happening.
Thanks in advance!
UPDATE:
I solved the issue by aligning all the elements of that scorecard to the right and adding a text box in front of the % sign. It is not perfect, but it works.
Not the answer you're looking for, but I don't think this is currently possible. I had to add a disclaimer below the scorecards to indicate the comparison values are absolute (despite the percentages). Not ideal, but at least it shows the info

Google Spreadsheet array not working

I'm not sure what I missed as my arrays are not working. Here's the link:
https://docs.google.com/spreadsheets/d/1_pPSRjEnKv10mDR8LICVvVv7jgXVBJ1aWZ8KrdEIKd4/edit#gid=0
Please check highlighted in green.
Thanks
Im not sure how to explain why it doesn't work because there are a list of things - various ways in which array formula operates - but I would like to suggest to you to use regexextract instead of search: I created the two formulas for is profile and is live, hopefully I can try to explain what the pieces do:
in column Y:
=arrayformula(if(arrayformula(if(istext(regexextract(C2:C,"automated")),1,0))+arrayformula(if(or(istext(regexextract(C2:C,"clinic profile")),istext(regexextract(C2:C,"dr profile"))),1,0))=2,1,0))
in column Z:
=arrayformula(if(Y2:Y=1,if(istext(regexextract(C2:C,"live")),1,0),0))
Basically instead of using the search - regexextract will find your search terms anywhere in that text and it works well with array formula, then using the if and istext to give it a true of false value of 1 or 0.
if the value is not found in that corresponding cell, it would in theory return #N/A if it was in an individual cell - but if the value is there the regexextract would return that value to you, which why the istext works
By the way if Im confusing you , then if you want to change your sheet to be editable by anyone I can jump in and show you what I did..

Error in google spreadsheet with arrays

In google spreadsheet I receive an error and it says, "Array result was not expanded because it would overwrite data in M261". I looked in M261 and it is a blank cell, but the weird thing is if I hit the delete button on the empty cell, then the error goes away. Sadly it keeps coming back. Is there a fix for this?
Here is my formula:
=ARRAYFORMULA(IF(E2:E>0,IF(D2:D=0,"Need Due Date",""),""))
I did not see "Array result was not expanded because it would overwrite data in M261" but at one point did see "...Add more rows".
One approach that should I think work is to restrict the output range of your formula. So for example if you wish it to apply to 100 rows, use:
=array_constrain(ARRAYFORMULA(IF(E2:E>0,IF(D2:D=0,"Need Due Date",""),"")),100,1)
However the problem you mention and the error message I saw are both because it is an array formula. There seems little need for it to be such and something like:
=if(and(D2=0,E2>0),"Need Due Date",)
is much faster, specially for a large number of rows, though unlike the array version does require copying down.

Resources