Downfill incremetation skip 2 columns - arrays

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)

Related

Excel Loop VBA to change cell value one master sheet

really need help on this. probably simple but im a novice so not so easy.
I have a work sheet, we'll call it masterdata. I gather my data form business 365 and paste multiple lines of data into the masterdata sheet. The lines basically consist of a PO number, a sales number, a part number, quantity and customer line number.
I use this data to generate QRCodes in a template on my first sheet named template. The QRcodes are generated by google then brought onto the sheet. (doesnt have to be google but i havent worked out how to get excel to do this without third party addons)
I have a macro split my data into individual sheets based on the PO number, each sheet could end up with 1 - 100 lines of sales data, each one referring to a separate PO number.
On my QRcode template sheet im using an indirect vlookup function to pull the data from each sheet based on the value entered into cell F2.
Can anyone help me automate this a bit as it can be quite time consuming entering the sheet number into F2, deleting the previous results QRCodes and refreshing the QRcodes then printing.
I'd like to auto cycle F2 with the names of each sheet one at a time, delete all QRCodes then refresh/download new QRcodes and print the page.
Is this even possible?
Thank you all in advance for taking the time to review my question.

How to pass addresses to Vlookup based on cell values (Google Sheets)

This has me stumped, so I'm hoping somebody who knows the proper functions can help me out.
I am trying to do a VLOOKUP, but I want to pass the Range in based on values in columns.
The Range is on a different sheet than where the formula is, and I want the range's start column to be determined by looking for the value that is at the top of the column the forumla exists in.
For example, in the attached image, the 'Dashboard' sheet has Column A as Sheet, and the top Row has Widgets and Sprockets in the top row.
I want the Formula to be a Lookup for the search key 'Total, and return the value in the cell next to it. I want the Range to start on the sheet specified in Column A, and the Column to be the one with the value that matches the one at the top of the column where the formula is.
So my formula will look like
=VLOOKUP("Total",<INSERT RANGE HERE>,2)
Help would be appreciated.
Link to the Google Sheet:
https://docs.google.com/spreadsheets/d/1H5At3gHeTQUm6PWqeA7MT5xcm5RJ38NK6LyhSWUeaZY/edit?usp=sharing
Thanks Stack Overflow Community
I believe this is what you're looking for.
On the Dashboard sheet enter these formulas:
C3:
=vlookup("Total", indirect($A3&"!C1:D"),2)
D3:
=vlookup("Total", indirect($A3&"!C1:F"),4)
You can then select C3:D3 and drag down to autofill. I tried using an arrayformula and it didn't work, but I might have been doing it wrong
Also make sure to change "Position1" and "Position2" to match the sheet names exactly.
Edit: I just saw your screenshot. These formulas can also be put into C2 and D2, I just put them next to the sheet names to keep track of what I had to do.
Edit in response to comment:
This was the closest I could get to what you're looking for.
C3:
=vlookup("Total", indirect($A3&"!C1:"&ADDRESS(ROW(INDIRECT($A3&"!$C50")),COLUMN()+1)),2)
D3:
=vlookup("Total", indirect($A3&"!E1:"&ADDRESS(ROW(INDIRECT($A3&"!$E50")),COLUMN()+1)),2)
Again, these columns can be dragged and autofilled down with no issues.
I have the following formula that can be pasted onto the dashboard C3 cell, and then copied across: =address(1,match(C$1,indirect($A3&"!1:1"),0),,,$A3) This will give me the address I want from the Sheet I am trying to reference, i.e. Position01!$C$1 Also, If I use the following formula, I get the value I want as a result: =offset(Position01!$C$1,7,1,1,1) However, If I try to combine the two, I get the error 'Argument must be a range'. =offset(address(1,match(C$1,indirect($A3&"!1:1"),0),,,$A3),7,1,1,1)
You need to add INDIRECT in front of the first formula when placing it inside of the OFFSET one so that it reads the result address as a range instead of a string:
=offset(INDIRECT(address(1,match(C$1,indirect($A3&"!1:1"),0),,,$A3)),7,1,1,1)
use:
=INDEX({VLOOKUP("Total", Position01!C:F, {2, 4}, 0);
VLOOKUP("Total", Position02!C:F, {2, 4}, 0)})
update:
if your project consists of 24 rows but unknown number of columns then you can use range:
Position01!C1:24 (instead of Position01!C:F)
then to return every column you can do:
COLUMN(Position01!C1:1)-1 (instead of {2, 4})
or if you want to return every 2nd column:
FILTER(COLUMN(Position01!C1:1)-2, MOD(COLUMN(Position01!C1:1), 2)=0)
(instead of {2, 4})

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

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))

EXCEL: Create Array Formula out of INDEX/MATCH with multiple results

my aim is to convert a massive excel sheet with different projects, employees and hours worked per month into an overview per employee. It should be possible to display the projects the employee is involved in and how many hours he worked per project per month.
The original sheet looks something like this:
I managed to find the projects Person A worked in by filtering through the INDEX/MATCH function. I applied the formula to the whole row where the employees are listed and receive multiple results of projects. My question is how to transform the formula into something more effective to copy all of the matched results (projects) into a column (see 1).
This is what I have so far, if matches the employee name in a certain area; the output is the first match of the project he is involved in:
=INDEX(B2:J3;1;MATCH("Person A";Sheet1!B3:E3;0))
How can I copy this to the bottom cells to copy all of the matched results? Does it help to create an array formula with this?
You can use he following formula in cell B9:
=IFERROR(INDEX($2:$2,SMALL(IF($3:$3=$B$8,COLUMN($3:$3)-COLUMN(INDEX($3:$3,1,1))+1),ROWS(A$1:A1))),"")
It indexes row 2 and looks for the column number of the first match in row 3 that equals the value in B8 (=Person A). When dragging down it will look for the second match ROWS(A$1:A1) will become ROWS(A$1:A2) = 2.
For Person B you can use this formula in cell B14:
=IFERROR(INDEX($2:$2,SMALL(IF($3:$3=$B$13,COLUMN($3:$3)-COLUMN(INDEX($3:$3,1,1))+1),ROWS(A$1:A1))),"")
I hope this is what you where looking for.
PS
if you paste the following formula in cell C9 you will get the sum result for Person A on Project XY in month 10 2019:
=IF(OR($B9="",C$8=""),"",SUMPRODUCT(($B$2:$K$2=$B9)*($B$3:$K$3=$B$8)*($A$4:$A$6=C$8),B4:K6))
Note: That is provided that the value in cell C8 equals the value in cell A4.

Google sheets using Filter and Sort together

This is my first question here. I hope it's ok.
I'm a bit of a newbie using google sheets but I'm slowly progressing.
I'm trying to build a sheet with all my data in sheet 1.
On sheet 2 I would like to Filter all the data from sheet 2 that is marked with the number "1" in column D.
For that purpose, I'm using
=FILTER('Ark1'!A2:C999; 'Ark1'!D2:D999=1)
So far so good. It works.
Then I would like to sort this sheet based on the value in column E.
For that purpose, I'm using
=sort(FILTER('Ark1'!A2:C999; 'Ark1'!D2:D999=1);'Ark1'!E2:E999; SAND)
I get an I/T error. In danish it says:
SORT har forskellige intervalstørrelser. Forventede 2 rækker og 1 kolonner, men indeholder 998 rækker og 1 kolonner.
Google translated to:
SORT has different range sizes. Expected 2 rows and 1 columns, but contains 998 rows and 1 columns.
I have a copy of the sheet here which is editable for your help.
https://docs.google.com/spreadsheets/d/1Eh8aBnXH-SbqHyuvvmaCMc9eoNwZvoAtulxeJXB5-bE/edit?usp=sharing
Any help is much appreciated.
use:
=SORT(FILTER('Ark1'!A2:C999; 'Ark1'!D2:D999=1); 5; 0)
or:
=SORT(FILTER('Ark1'!A2:C999; 'Ark1'!D2:D999=1); 5; 1)

Resources