Extract Data from a Table in Excel Based On A Criteria - excel

I have a list of data in 'Table1' on an Excel spreadsheet that looks like this:
Column A Column B
Pizza Sauce 3
Pepperoni 0
Cheese 1
Crust 2
Garlic 0
Sausage 0
From this list I want to be able to create a second list that, based on the value in B, shows the value in A. I want anything that is greater than 0 to show in this list (For an order sheet to give to a vendor). Like such:
Column A Column B
Pizza Sauce 3
Cheese 1
Crust 2
How might I go about doing this? I've looked around but haven't been able to do so successfully.

Why don't you use pivot table and filter out 0 value in column B. So every time you want an updated table, you just have to refresh the pivot table and your table is ready.
You can find pivot option in Insert -> PivotTable and provide the source data.

Related

EXCEL - Find if value exists in column B in the range of a value in column A

I have a list of companies with certain products. Now I want to find out if one company has a certain product or not. Example, I want to find out which company had Product C and return a one on all cells:
Column 1
Company A
Company A
Company A
Company A
Company B
Company B
Column 2
Product A
Product B
Product C
Product A
Product B
Column 3 (Result):
1
1
1
0
0
This solution will require 2 additional columns. I'm assuming your first row is headers, and the range is from A1:B6. Data starts on Row 2. I'll give a few options on how to execute this though. Where I put "Product C" can also reference a cell. Whenever I'm using binary like this it's usually to filter datasets, so there might be a better alternative to what you want vs. what's below.
In Column C, =if(B2="Product C",1,0) or you can use =--(B2="Product C")
Sort by Column C in Descending Order, =vlookup(A2,$A$2:$A$6,1,0) copy and paste as values, but if you keep the formula and resort it will mess up.
If Product C would only appear once for any given company you can us Sumifs too. =Sumifs($C$2:$C$6,$A$2:A$6$,A2)
If you have 365, you can also use Maxifs($C$2:$C$6,$A$2:A$6$,A2), which won't care how you sort the dataset.

Fill in table based a column of categories in Excel

I have a table that looks like this:
Type Value
Movie 5
Food 3
Gas 10
Food 2
.... ....
And There's a second table I want to fill in with "Value" based on their type in the first table, so that the corresponding rows look like this:
Rent Food Movie Gas Clothing ... ( appear in specific order bc they are subcategories)
5
3
10
2
The title row is already there, so I was thinking there might be some kind of lookup method to do this? How do I do that?
your second table apperas to hold one value per row but it doesn't have a label. it does correlate to the original row number, is this by design or coincidence?
if this is by design then you can use those 2 columns, hide them if you like, get a unique list of categories by copying you r abels to a new colum, removing duplicates in the data tab, then paste special transpose in c1 to create colum headers.
so column a and b remain unchanged
row 1 contains header starting at column c
your data starts at c2
this is the formula
=Iferror(vlookup(C$1,$A2:$B2,2,false),"")
drag it down and to the right
you can copy paste special values when done to remove the formulas
for something with only a hundred or thousand cells this will be one of the easier options but i would not do this on large tables, for those i would use power query or VBA
Assuming your 1st table is in Sheet1 and 2nd table is in sheet2.. you may try to fill in Sheet2!A2
=IF(Sheet1!$A2=A$1,Sheet1!$B2,"")
and drag it all the way.. Hope you get how it works.. and what you need.

Linked columns in an Excel document

I'm trying to create an excel document with two sheets, the first one containing a list of fruit types, for example
ID Description
1 Apple
2 Orange
3 Pear
...
The second sheet would contain a reference to a row from the first sheet and some additional data.
For example
Fruit_ID Quantity Customer
1 12 Chris
3 7 Jenny
...
And when a user is adding a new row in the second sheet he would be presented with a drop down list of entries from the second sheet when setting the first column value.
The number of rows in the second sheet is dynamic ( user will be adding data into it).
How can I do this ?
Select the cells where you want to display dropdown.
Go to Data Tab > Data Validation
Enter the following criteria
Allow:List
Source: =OFFSET(Sheet1!$A$1,1,0,COUNT(Sheet1!$A$2:$A$1048576))
Change the sheet name accordingly and it will show drop-down based on the Sheet1, column 1.
Let me know if it works.

Excel look up value in array, return next value

I would like to look up a value in a range and return the value in the next row, but can't quite figure out how to do this. I especially would like to do this with formulas rather than VBA, and preferably with built-in formulas than custom (VBA) formulas, due to macro security issues.
I'm using Excel 2010. My workbook has two worksheets, "assessment" and "lookup". In lookup, I have lookup tables.
"lookup" looks something like:
Column A Column B Column C
1 Sales Engineering Manufacturing
2 Alice Bobbie Charlie
3 Dawn Edgar Frank
4 George Holly Isabel
In "assessment," I have some some drop downs from which users select one name from each column in "lookup." Based on some other criteria, I then rank these and create a new, sorted list (using INDEX() and MATCH()) that produce the selected name and corresponding column name a new sort order
Column A Column B
10 Engineering Edgar
11 Sales Alice
What I'd like is to return the name from the next row.
Column C
10 Holly
11 Dawn
But I'm having real trouble figuring out how to get there.
Assuming lookups is located at B2:D5 (change as required) and the result data is at F2:H3 (change as required) enter this formula in cell H2 then copy down.
=INDEX(
INDEX($B$2:$D$5,0,MATCH($F2,$B$2:$D$2,0)),
1+MATCH($G2,
INDEX($B$2:$D$5,0,MATCH($F2,$B$2:$D$2,0)),0))

Grouping rows in table in Excel

I have the following table:
First Name Second Name Phone
A B 1
A B 2
C D 3
C D 4
I would like to get the required table (Every values in columns A and B that repeats will appear only in the first line of occurrence):
First Name Second Name Phone
A B 1
2
C D 3
4
You can accomplish this by using Pivot Tables.
Out of my head, you have to structure it like this:
Rows
First Name
Second Name
Phone
And it will show it the way you want it. You can change the show/hide for (sub)totals to change the result a bit.
If you want the First name and Second name on the same row, you will have to edit the Pivot Table to use Classic display.

Resources