Google Sheets: Making an Arrrayformula for Countif Function - google-sheets

I'm currently upgrading my sheets for an MTB program. I'm changing all my formulas to arrayformula so as to avoid anyone being left out when I forgot to drag the formula.
All that's left is the formula in cell J3.
Here's the link to the spreadsheet.
The formula is to count each plate numbers and if it matches with F2, return its latest time.
Any help is much appreciated.

can you try:
=BYROW(C3:C,LAMBDA(cx,IF(cx="",,IF(COUNTIF(G:G,cx)=F2,IFNA(VLOOKUP(cx,SORT(G:H,2,),2,)),"DNF"))))

Related

Google Sheet SUMIF across range of cells

I am trying to use a formula in google sheets to find averages based on the contents of a different cell.
Below is some sample data, I am pretty sure I have done similar in the past in Excel by using table headers as a reference but struggling to see how to achieve this in google sheets.
Columns B, C, D to be calculated, currently this is the formula used for D3 (same sort of thing for D4) =IFERROR(ROUND(SUM(E3:H3)/COUNT(E3:H3),2),0)
Just needing to work out the formula for the cells with red text, any help would be appreciated.
as an example C3 would be the average for any numbers in row 3 where it has DeviceB e.g. (2+10+6)/3
Try
=AVERAGEIF($E$2:$H$2,B$1,$E3:$H3)
AVERAGEIF

Using arrayformula in Google Sheets

I'm trying to use arrayformula to expand the formula below but it's not working. When I copy-paste manually the formula into each cell it works.
=arrayformula(INDEX($1:$100,ROW(B2:B),match(YEAR(M$1:$1),$1:$1,0)))
What I want to achieve is to convert yearly salaries into monthly salaries based on years.
The spreadsheet can be viewed here:
https://docs.google.com/spreadsheets/d/1veiYh1CMIfFPwBGQk4OwKmCLa7q08TugReVfAXtpIgI/edit#gid=1363287956
Thanks!
Solution:
Since you are looking for a specific column, you can use HLOOKUP as a substitute for INDEX and MATCH:
=ARRAYFORMULA(HLOOKUP(YEAR(M1:AT1),A1:H11,ROW(B2:B11))/12)
This should yield the same result as the previous formula:

Google Sheets: Use ArrayFormula for JoinText for multiple columns

I want to Use ArrayFormula for JoinText for multiple columns which have their own ArrayFormulas in Google Sheets.
My formula works for columns that have plain text values but for some reason Google Sheets gives me an error when I apply it to columns that have their own ArrayFormulas applied to them.
Take a look at the example sheet I've created HERE
Any help will be appreciated!
I hope this solution with query is helpful for you:
=ArrayFormula(transpose(query(transpose(C1:D),,2)))
(Will work faster if you know the limit of the range, e.g. C1:D10).
For implementing commas between the columns you can use
=ARRAYFORMULA(IF(C1:C="",D1:D,if(D1:D="",C1:C,C1:C&", "&INDIRECT("D1:D"))))
I put this formula in cell I2 on your sample sheet. It should be relatively fast for many thousands of rows.
=ARRAYFORMULA(SUBSTITUTE(TRIM(C2:C&CHAR(10)&D2:D),CHAR(10),", "))

Array constrain formula problem in Google Sheet

I have this formula in Microsoft excel that when uploaded in the google sheet, it turns into zero and was transformed in array_constrain formula. Can somebody help me on this? Below is the excel formula that I used.
=IF(ISERROR(VLOOKUP(1,CHOOSE({1,2},--EXACT($A:$A,$F4),$B:$B),2,0)),0,VLOOKUP(1,CHOOSE({1,2},--EXACT($A:$A,$F4),$B:$B),2,0))
Can somebody help me transform this into a formula that google sheet will accept? Thanks!
Solution that works on GoogleSheets:
=ArrayFormula(IF(ISERROR(VLOOKUP(1,({--EXACT($A:$A,$F4),$B:$B}),2,0)),0,VLOOKUP(1,({--EXACT($A:$A,$F4),$B:$B}),2,0)))
The curly brackets with the comma between the parameters is combine the data ranges horizontally.
I got this fixed by using the formula:
=IF(ISERROR(LOOKUP(1,1/EXACT($A:$A,$F4),$B:$B)),0,LOOKUP(1,1/EXACT($A:$A,$F4),$B:$B))

Google Sheets: Formula in an Array in a Formula

I'm trying to find a way to consolidate formulas into 1 cell. As of right now i have 2 mildly complicated formulas using up multiple columns.
I'm trying to put the formulas as an array in a single cell.
To avoid confusing the matter, i've only included a simplified version of the formulas and only using 1 column.
Edit:
Here is the Spreadsheet in question, the Better Mobs sheet
Ok, so i tried to implement the solution and it didn't work the way i needed. Before i consolidate and just use 1 spreadsheet, the full formula in cell F1 is:
=match(max(F2:F),F2:F,0)+1&" - "&INDIRECT("A"&match(max(F2:F),F2:F,0)+1)
and cell F2 is:
=IFERROR(E269/ROUNDUP($C269/MAX(0,importrange("1rkS5zujl6oo66JNbhb8yWOjgOqRoXhvyGa-nr95krJ4","Damage Reward!$B$26")/2-$K269)*MAX((MIN(100+sqrt(importrange("1rkS5zujl6oo66JNbhb8yWOjgOqRoXhvyGa-nr95krJ4","Damage Reward!$B$27"))-sqrt(O269)-MAX($B269-importrange("1rkS5zujl6oo66JNbhb8yWOjgOqRoXhvyGa-nr95krJ4","Damage Reward!$B$3"),0)*5,100)/100),0)*2),"")
Does this formula work as you want in cell C1:
={MAX(ArrayFormula(IFERROR(B2:B*D2:D/E2:E)));ArrayFormula(IFERROR(B2:B*D2:D/E2:E))}

Resources