Arrayformula not working properly with Textjoin - google-sheets

Here is the screenshot of the expected output and output
I had to drag to bottom right thing down for the formula to carry over below (to produce expected output), but that doesn't have to happen with arrayformula right?
I tried removing arrayformula and only using textjoin, but all the names were in that cell...
=ARRAYFORMULA(TEXTJOIN(", ", TRUE, IF($D$2:$D$21=F2, $E$2:$E$21, "")))
thank you all in advance!

If I understand what you mean, you always have to fill down formula to get result because join or textjoin does not return an array, your formula might be shorter like this:
= JOIN(",",FILTER($E$2:$E$21,$D$2:$D$21=F2))

Related

Displace output from formula into another cell - Google Sheets

I would like the array result of a formula to be displaced/displayed somewhere else. In this instance it should appear down a row.
For this case, it can be done by padding out the first row of a wrap around array, but it's not very pretty and is not dynamic. (It must be ammended if the number of array columns changes.)
={"","","","";query(A1:D5)}
Is there a better more generic way to do this?
try:
={INDEX(IFERROR(SEQUENCE(1, COLUMNS(A:D))/0)); QUERY(A1:D5)}
You can do it with IFERROR(.../0) combined with SEQUENCE(), COLUMN() or ROW().
Something along the lines of
=arrayformula({iferror(sequence(1,columns(A1:D5))/0);query(A1:D5)})

IF and REGEXMATCH formula excluding RR in a column but select for letters K-Z

So, I have a formula graciously shared by someone here that works amazing in highlighting cells in a column that contains letters from K to Z, excluding RR. Here it is below...
=REGEXMATCH(E5:E,"[K-Z]")*(REGEXMATCH(E5:E,"RR")=FALSE)
But, I'm trying to accomplish the same thing with an IF formula (not conditional formatting), where if a cell in column E contains a letter from K-Z, it will display the green checkbox, and if not, display the red down arrow. I'm not sure exactly how to exclude RR again in the equation. Here's the formula I'm trying to get to work...
={"OL";ARRAYFORMULA(IF(E5:E="",,if(REGEXMATCH(E5:E,"K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z"),"✅","🔻")))}
The formula works except it includes cells containing RR, I guess because R is in there? But I want to exclude cells containing RR.
Here's a Google Sheet that contains the formula I'm currently using.
Thanks for any help you can provide.
I left a new sheet ("Erik Help") with a formula in B1 that somewhat follows the form of your original formula there, since that seems to be something you understand. All I did was add another outer IF to rule out instances of "RR" up front:
={"OL";ARRAYFORMULA(IF(A2:A="",,IF(A2:A="RR","🔻",IF(REGEXMATCH(A2:A,"[K-Z]"),"✅","🔻"))))}
use:
={"OL"; INDEX(IF(
REGEXMATCH(E5:E,"[K-Z]")*(REGEXMATCH(E5:E,"RR")=FALSE),
"✅", "🔻"))}

Remove Unused Cells in Arrayformula

I'm usually pretty good about modifying the arrayformula so that cells aren't displaying values when there is no data adjacent to it. But, with these money values, I can't seem to change it to work. How can the arrayformula be changed so that $0.00 doesn't appear all the way down the column for data that is not yet present?
Here's the spreadsheet to edit. Arrayformula is in yellow highlighted cell.
Thanks for your help!
One solution is you can expand the computation to:
=ARRAYFORMULA(IFERROR(1/(1/(DMAX(TRANSPOSE(A3:G), SEQUENCE(ROWS(A3:G)), {IF(,,);IF(,,)}))),""))
The formula will originally return an error for zero result, but because of the IFERROR it will be replaced by space.

Transpose column of values skipping blank cells in Google Sheets

https://i.stack.imgur.com/f2Ztx.png
I need help, for example, I have a condition of thousands of data like in red border and want to form it like in result border
What kind of transpose formula do I have to use?
try to figure it out with this formula
=ARRAYFORMULA(QUERY(A3:A&",",,55000))
but still don't find a suitable result
try:
=ARRAYFORMULA(SPLIT(QUERY(A3:A,,99^99), " "))
or:
=TRANSPOSE(FILTER(A3:A, A3:A<>""))

Insert formula through google sheet column

lets say I have a column of URLs in A, I would like to have a script that would insert a formula into the next column over so that it would look like the attached image.
I know how to insert a formula into a single cell through script, but unsure of how to get it down the entire column relative to the cell to the left.
You can use array formula like this:
=ARRAYFORMULA(IMAGE(A2:A))
or you can wrap it in an if statement to only pull in the images where there is a valid url present with:
=ARRAYFORMULA(IF(ISURL(A2:A),IMAGE(A2:A),))
ArrayFormula is good solution. I prefer limiting the used range by it's size. If your data has no blanks, you could also use this formula:
=ARRAYFORMULA(IMAGE(OFFSET(A2,,,COUNTA(A:A)))
Paste it in cell B2.
offset + counta will give range A2:A6 in your case.

Resources