Use of Array/VLOOKUP to create sums from lists - arrays

I'm using Excel 2007+, My plan is to create 3 connected columns, the first column is a basic description(text), to help you understand what i'm trying to do column 1 will be colours(so in the column "Red" would be a correct value to enter and this is simply typed in). Column 2 would be a modifier in the form of a list separated by commas in this example shapes and this is entered using a combination of Vlookup and VBA to call from a list in column A in the next sheet(so in this column "Triangle,Square,Circle").
Finally my problem is i want column 3 to be a sum of column 2 this would not be the sum of the shapes however, it would be the sum of values assigned to the shapes(this value would be right next to the shape in VLOOKUP list, B Column)
Hope my explanation helps, let me know if you need more info.
I have added an image for an example, where the left columns are lists to be looked up and the right is an example of what it would look like when correct.
Tried VLOOKUP but I'm missing something.
none yet
See image for expected results, the value column should auto-complete when the shape and colour columns have been filled.
https://i.stack.imgur.com/TjYTG.png

Related

Look for an array in the same column as a VLookUp value

I have the following formula which identifies a value on another sheet (called "Mold") in my excel file via VLOOKUP, then tells me the position inside array "Mold!C17:C116" and consequently looks for the value inside "table1" taking into consideration the row position from the MATCH function and column 2 inside the INDEX function:
INDEX(table1,MATCH(VLOOKUP($B$17,Mold!$B$5:$AZ$181,C$8+1,FALSE),Mold!C17:C116,0),2)
The sheet I have this formula in changes the values according to a dropdown list (located in "C$8"). What I am trying to achieve is that the array "Mold!C17:C116" adjusts according to the column where the value of the VLOOKUP is found. For example, if the value is found in column X, tell me the position of it in the array located in the same column X17:X116, if value was found in column Y, look for position in array within the same column Y (rows 17 to 116 should always remain the same).
How can I make the array and VLOOKUP work together in the same column?
Thanks in advance for the help, and please let me know if something is not clear enough.
The formula presented above is what I´ve tried but it only works in one column, as I pull formulas to the right to other columns, it only looks for values in that one specific column and not in the same column as its VLOOKUP Value.

Can I use Vlookup and CountA in Google Sheets to query how many non-empty cells are in Column B that all have the same value as in column A?

I'm trying to find a way to know how many non-empty cells are in column B, for all rows in which there is one same value in Column A.
e.g. Column A Row 1-5 is value "1", I want know how many nonempty cells are next to the value "1".
I want to do the same thing, but instead of counta, I want to do it for countif as well for columns C, and D for various values (countif(C2:C, "Banana"
The ultimate goal is being able to delete and add rows without breaking the formula and copy paste the formula to easily make new batches.
Here is my example sheet I'm working on. I can't figure out how to make vlookup or array work for me here, I'm not very good at this.
https://docs.google.com/spreadsheets/d/1PxP2pOyV916HWVGHjOsLUDwZN2lcGQ6PrBuzDqigwO8/edit?usp=sharing
Complete column A with
=ArrayFormula(lookup(row(A2:A),row(A2:A)/if(A2:A<>"",1,0),A2:A))
and then perform Pivot Table as you wish

Nest an Excel Array Function In a Non-Array Function and Return an Array

I am trying to create a spreadsheet that will be used to provide quotes to customers. Some part-numbers apply to a single item. Some part-numbers are bundles of up to 4 items. I am trying to create a formula that returns all of the values associated with a given part-number.
Initially, I had two section in the quote - one that uses VLOOKUP to return part-numbers with single items and one that uses an array formula that returns an array of items.
The first formula is
=IF(ISNA(VLOOKUP(B12,PriceList,2,FALSE)),"",VLOOKUP(B12,PriceList,2,FALSE))
The second is
{=IFERROR(INDEX(Bundles!$B$2:$B$101, SMALL(IF($B$33=Bundles!$A$2:$A$101, ROW(Bundles!$B$2:$B$101 ) - 1,""), ROW() - 32 )),"")}
Screenshot showing results of first two formulas
Both work fine on their own. They rely on two data tables "PriceList" and "Bundles"
I want the sales reps to be able to type a part-number in column B and get the correct part descriptions - whether it is 1, 2, 3, or 4 items - to display in column C. I want them to be able to enter multiple part numbers on the same quote.
I tried to base this on the part number
=IF(LEFT(B29,4)="BUND",IFERROR(INDEX(Bundles!$B$2:$B$101,SMALL(IF($B$29=Bundles!$A$2:$A$101,ROW(Bundles!$B$2:$B$101)-1,""),ROW()-28)),""),VLOOKUP(B29,PriceList,2,FALSE))}
This works for bundled items, but repeats single items.
I would like to have a single data source (PriceList) and a single formula.
Partnumbers in Datasource
What I am now trying to do is use COUNTIF. For example if COUNTIF returns more than 1, use the array formula, else use the VLOOKUP formula.
I picture it to be something like
IF((COUNTIF(PriceList,Quote!B11)>1),"BUNDLE",IF(ISNA(VLOOKUP(Quote!B11,PriceList,2,FALSE)),"",VLOOKUP(Quote!B11,PriceList,2,FALSE)))
where "BUNDLE" is replaced by an array function. I can't seem to come up with the right array formula.
I tried
{=IF((COUNTIF(PriceList,Quote!B11)>1),IFERROR(INDEX(Bundles!$B$2:$B$101, SMALL(IF($B$11=Bundles!$A$2:$A$101, ROW(Bundles!$B$2:$B$101 ) - 1,""), ROW() - 32 )),""),IF(ISNA(VLOOKUP(Quote!B11,PriceList,2,FALSE)),"",VLOOKUP(Quote!B11,PriceList,2,FALSE)))}
This returns four rows of the same item for single items and nothing for bundles
I had thought about placing the array function in another cell and referencing that cell, but this does not help if the bundle contains more than one item.
Any thoughts or advice would be welcome.

in Excel 2016, how do you select or filter rows containing various different words?

Please see picture. The sheet on the left is in stock items and the sheet on the right is all products including dims, weights, etc. I want only in stock items on the sheet on the right(with all the info).
Pretty new to excel.. Thanks in advance!
excel sheets
I would suggest doing a COUNTIF on the sheet on the right. Essentially the count will tell you how many times the item appears on the sheet to the left.
In a new column type =countif( - don't exit yet! Excel will show a tooltip asking for 2 parameters. The first, range, is where you want to search. The easiest way to select this is to navigate over to your first spreadsheet and select the entire column A. Type a comma to move to the next parameter needed.
You should have noticed that the countif formula has automatically updated to include the range you just selected. For the next parameter, criteria, select the cell you want to count. In your case this will be A2 (and I'm presuming here that you will enter the formula into row 2).
Hit enter and you should be presented with a count of how many times that partNumber appears on the spreadsheet to the left. You can now copy and paste it down so each row has a count (the formula will automatically update itself as it's copied down so it's always pointing to the relevant row partNumber).
You can now filter the spreadsheet on the left for all instances where the count column is greater than 0.
Reading that back it's maybe not the clearest explanation, so I've found a guide on how to carry out a COUNTIF which you can check out.

Array Formula Index Match to Select Cell Based on Second, Third, and Fourth Minimum Value

I have a cell that currently uses an array formula to return the name associated with the minimum hours worked for all my employees. However, what I am trying to do now is write an array formula that lists the three next employees with lowest hours. I have written a formula similar to this in the past, but can't seem to get the two formulas to appropriately match up.
My current return minimum employee formula in G5:
={INDEX(A:A,MATCH(MIN(IF(B:B=G3,IF(C:C>=$G$2,D:D)))&G3,D:D&B:B,0))}
Here is an example of my data:
...and now I'm attempting to incorporate in into the following array formula that would return a list of qualifying results as I dragged it down a column:
={(IF(ROWS(G$7:G7)<=F$8,INDEX($A$2:$A$8,SMALL(IF(Employees!$B$2:$B$8=$G$3,ROW($A$2:$A$8)-ROW($A$2)+1),ROWS(G$7:G7))),""))}
Currently, this array formula is only set up to match on position title and not the other qualifiers that I need from my minimum employee formula. How can I mesh the two formulas correctly? Thank you for any and all help and please, let me know if you need any clarification.
The ideal array result would show Boris and two blanks in consecutive rows in the Next 3 Employees chart.
Set your page up like this:
With the ranking in column F.
Then it is a quick modification of the last formula. Instead of MIN we use Small. The k part of the small equation is the ranking number:
=INDEX(A:A,MATCH(SMALL(IF(B:B=$G$3,IF(C:C>=$G$2,D:D)),F5)&$G$3,D:D&B:B,0))
This goes in G5. Is confirmed with ctrl-shift-enter. Then copied down for rows.
If do not want the errors to show then wrap it in IFERROR:
=IFERROR(INDEX(A:A,MATCH(SMALL(IF(B:B=$G$3,IF(C:C>=$G$2,D:D)),F5)&$G$3,D:D&B:B,0)),"NO MATCHES")

Resources