Continue to increment formula by N rows across columns in Google Sheets - arrays

I am trying to use UNIQUE= to grab unique values in a section of 11 rows from an XML parse. Every column I want to target the next set of rows down the column but I'm not sure how to do this automatically, dragging the formula (auto-fill) doesn't work.
Here is a link to my sheet with the UNIQUE formulas I have so far. You can see they increase by 11 each time. How can I continue that pattern without creating a new formula each time.
=UNIQUE($A2:$A13)
=UNIQUE($A14:$A25)
=UNIQUE($A26:$A37)
Here is my Google Sheet so far.
https://docs.google.com/spreadsheets/d/1y1cGi0Qy6a6PiQtQUrb5FQ99V31c_tEGi4aLvktxShE/edit?usp=sharing
Any help would be greatly appreciated!

paste in B2 and drag to the right:
=UNIQUE(INDIRECT("A"&2+(COLUMN()-2)*11+COLUMN()-2&":A"&13+(COLUMN()-2)*11+COLUMN()-2))

It looks to me like the whole thing can be done in one formula. Try creating a sheet from scratch and putting this in cell A2...
=ARRAYFORMULA(HLOOKUP("X",{"X";IMPORTXML("https://www67.myfantasyleague.com/2020/export?TYPE=schedule&L=14002&APIKEY=&W=1&F=&JSON=0","//matchup/franchise/#id")},SEQUENCE(1,14,0,12)+SEQUENCE(12)+1))

Related

Downfill incremetation skip 2 columns

I'm trying do create a master sheet for work, as for nom we work in the middle age, copying some data to up to 4 differents documents and I want that to change :D
I'm quite new to Excel (more than basics I mean), and I have a problem that I can't seem to find a solution online.
My sheets are as follow :
So in Sheet one, C5 i want the result for sheet 2 E16, but in sheet 1 D5, I want the result for H16.
When I try to use downfill, it doesn't understand that I want to get the results while skipping everytime 2 columns between the results in sheet 2.
The cells are blank in the other cells in Sheet2 row 4, so i would guess there could be some conditionning possible, with a function like isblank, but I'm struggling to understand how I could do it.
Any help?
Thanks a lot for reading this
try:
=FILTER(Sheet2!E16:16; MOD(COLUMN(Sheet2!E16:16)+1; 3)=0)

ArrayFormula to automatically calculate one column

I want an array formula to use with Google Forms data to automatically calculate running metrics on my data.
In this case, in column Q, AE and AS I want it to auto-calculate whenever new responses come in.
I'm trying to use this formula below but isn't working for all column, just for the first line.
={arrayformula(if(len(AF3:AF);SUM(vlookup(AF3:AR3;$A$1100:$B$1101;2;0));))}
I want a sum of all words that contain "Verdadeiro" in a row.
What I'm doing wrong?
My Google Sheet:
https://docs.google.com/spreadsheets/d/1AVQ772IIXI-xZza0fecTTCe4S-Ku9rL1houTMnQZpbo/edit?usp=sharing
try in row 1:
={"Total AG";""; ARRAYFORMULA(IF(A3:A="";;
MMULT(N(REGEXMATCH(A3:AR&""; "Verdadeiro")); SEQUENCE(COLUMNS(A3:AR))^0)))}

Link two cells in google sheets with autofill

First of all I would like to thank you for your time.
I have a google data studio report that extracts data from a google sheet. The data studio sheet gets values from a google form (in the form of another tab in the sheet). Altough the cells are linked, right now I have to drag the cells in the data studio sheet to pull the values from the forms sheet. If there are no values it can´t pull anything and I would like to have real time values in the google data studio as soon as a form is filled.
Right now all I have is a simple (='Form '!C55) to pull. What I would like to do is if there is a new value in the following cell in the forms sheets then the following cell in the data studio sheets pulls it so it can go to the report in dat studio.
Cheers to all!
Try this formula, in column A, after your last row of good data. So perhaps in Dados!A91. Note you will need to first delete everything in all of the cells below and to the right of A91, since this formula is filling everything:
=QUERY('Formulário '!A9:O;"select A,G,D,J,M,H,E,K,N,I,F,L,O where B <> '' ";0)
This queries your Formulário sheet, and pulls all of the data starting in row 9 (since that is what you were showing with your formula before), and selects all of the correct columns in order.
Please test it out with a test form submission, to see that it works as expected, and that it is copying the correct columns, in the right order. Let me know of any questions or issues.
I'm not positive how sheet updates work when there is no active user logged into the sheet, but I suppose when Data Studio goes to pull from Dados, it will first ensure that it has the latest data from all formulas.
Update
To have the Max and Min values,which you say should be the same all the way down the column, add a formula like the following in the header row (row 1) of your Formulario sheet:
={"Cloro Max.";ArrayFormula(IF(LEN(A2:A);1,5;""))}
That gives a value of 1,5 for a column labelled Cloro Max. Be sure to delete anything from row 2 down, in that same column, or the array formula gives a #REF error, since it can't put data when there is already data entered in those lower cells.
You can change the text to create a Max or Min column for each value you want, in columns Q to V. Change the 1,5 to whatever number you want, such as 0,5 for Cloro Min.
It will always add the value(s) to each new row as it gets added from a submitted form response.

How can I drag down a formula and leave some rows blank, but count sequentially the numbers?

I have a table with product details and I want to generate another table ready for Magento export.
It's hard to explain so please have a look at the table: https://docs.google.com/spreadsheets/d/1s503gaqo1XV3PiJyr7HBkGago6YXiY4YesQVBETBbvY/edit?usp=sharing
I populate the data on the "Granit" page (I stripped 99% of the things as it's only an example) and I want to fill in the CSV page with the data from my Granit page. Go to the CSV page and have a look at column A =Granit!J2 then I need to have 3 blank rows and the next one is =Granit!J3, 3 blank rows, =Granit!J4.. you get it. How can I achieve that? If I just drag it down I get weird numbers that are not sequential.
The next colum H on the csv page has another pattern I want to achive:
=Granit!K2
=Granit!M2
=Granit!L2
=Granit!L2
I want to continue with
=Granit!K3
=Granit!M3
=Granit!L3
=Granit!L3
=Granit!K4
=Granit!M4
=Granit!L4
=Granit!L4
(you get it)
Could you please help me? It would be really appreciated!
to mimic K2 > M2 > L2 > L2 patern delete everything in range H2:H and paste this into H2 cell:
=ARRAYFORMULA(TRANSPOSE(SPLIT(QUERY(IF(Granit!H2:H<>"";
"♦"&Granit!K2:K&"♦"&Granit!M2:M&"♦"&Granit!L2:L&"♦"&Granit!L2:L; )
;;999^99); "♦")))

Vlookup from multiple criteria to display nearest answer

I was hoping someone can help me. I have hit a solid wall.
I have a table with product information included and I am building a calculator which should spit out a number of options based on set criteria which is in the table. I am failing at just pulling through a code. I feel rather embarassed asking about how to do a vlookup here. But basically I have a vlookup which depends on multiple criteria and for the calc to cough out the nearest match (if applicable) based on this criteria.
Criteria 1 = Product
Criteria 2 = Type
Criteria 3 = Height
Criteria 4 = Min
I have created a search key in the table to concatenate all of these columns and then done a vlookup, which is =Vlookup(Criteria1 & Criteria2 & Criteria3 & Criteria4, Table Data, Code Required) But this does not appear to be giving me results, it either coughs out an error or the incorrect product. Below is my data and my calc I am hoping to complete. Can someone please help?
Here is an example looking for a closest match on Min. It demonstrates the principle so you can extend.
The closest match formula part is:
MATCH(MIN(ABS(E2:E4-K2)),ABS(E2:E4-K2),0))
Column E for column with Min values in. And K2 for target Min. This is an array formula entered with Ctrl + Shift+Enter. You would adjust the range of E2:E4.
The multiple criteria part is using:
=MATCH(lookup_value_1&lookup_value_2&lookup_value_3, lookup_array_1&lookup_array_2&lookup_array_3, match_type)
Where you are concantenating your parameters and searching for a match of the concatenation of those parameters in the table (you could do this against the key column if the key is made up of the same parameters.)
Overall formula with some test data (using one estimate figure):
=INDEX(F:F,MATCH(K1&K5&J5&INDEX(E2:E4,MATCH(MIN(ABS(E2:E4-K2)),ABS(E2:E4-K2),0)),B:B&C:C&D:D&E:E,0))
Above entered combined formula remember is an array formula so entered with Ctrl+Shift+Enter . You can reduce the ranges from entire columns to only those rows holding data.
Data data:
I am not typing all that out from picture so here is a quick n dirty
I tried with the QHarr's solution but it didn't work with all the rows.
My solution is:
Add a column with:
=IF(E2 < $K$2, E2, 0) and copy for all rows
In L5 create the formula:
{=INDEX(F2:F19,MATCH($K$1&K5&$J$5&INDEX(E2:E19,MATCH(MAX(SI(B2:B19=$K$1,1,0)*IF(C2:C19=K5,1,0)*IF(D2:D19=$J$5,1,0)*G2:G19,0),E2:E19,0)),B2:B19&C2:C19&D2:D19&E2:E19,0))}
Copy the formula to L6 and L7
Excel exercise printscreen
Originally marked this as answered and it did work initially but as I added more products it began to fail. I did manage to (after much trial and error) find a simple solution {=INDEX(Calc!$I$2:$I$189,MATCH(Output!$H$7,IF(Calc!$B$2:$B$189=Output!A12,Calc!$H$2:$H$189),1))}

Resources