Excel: Search, and show the result in an a different sheet - excel-formula

enter image description hereSo I have a data page from where I am extracting the info, Like how many items we have on the floors and how many active pickers we have in that area. So what I want to know is under the table to add the active pickers on every floor. I did something with the macro by sorting the active users and copying them into a new sheet. Then I used the formula.
=IFERROR(INDEX(Started!$C:$C,SMALL(IF(ISNUMBER(SEARCH("1*",LEFT(Started!$A:$A,2))),ROW(Started!$A:$A)),ROW()-55)),"")
But now, I want to try to remove the macro and use the formula in the raw data. But I need the new formula to search or sort the data from multiple columns. I need it to search by 3 columns, STARTED, MULTI, AND by FLOOR:
How I want it to look
From where to take the data

Related

Lookup and display from all Sheets

Not sure if this is possible but here it goes:
I have a suppliers spreadsheet, I constantly add supplied products we use for the supplier, each supplier has its own sheet and I constantly add more so there is no set amount of sheets. Most products have a category. what I would like is a dropdown list on the first sheet where you select for example 'card' then it will show the full row where ever, in any sheet, the category paper is found.
I need the row to load as it will contain stuff like price, width etc etc.
I have attached a basic layout of what I have, as you can see on the sheet 'Category Lookup', this is where I want to select card for example, and then any information will display on that page.
Is this possible? I hope i explained it well enough.
My Sample Excel File
It is possible, I will not build the whole solution for you because it takes time.
Build a formula with concatenate parts of the formula including the sheet names (a list of sheet names in a column where you manually add the name of a sheet when you add a new supplier)
Formula could be in this style:
=VSTACK(FILTER('Supplier 1'!A6:N7;'Supplier 1'!G6:G7=B1);FILTER('Supplier 2'!A6:N9;'Supplier 2'!G6:G9=B1))
For Example the build formula string is in A1
Then create a new name e.g. "MyData"
With the formula =Evaluate(&A&1)
Then go to the cell where you want the data and write
=MyData
The only thing then, you need to add a sheet name to the list, so your formula string is updated.
Maybe helpful links:
https://superuser.com/questions/253353/excel-function-that-evaluates-a-string-as-if-it-were-a-formula
https://www.xelplus.com/lookup-values-across-multiple-worksheets-excel/

VLOOKUP to bring data from another sheet

I have a table containing a some football data, such as Country, League, Teams, Standing table information, such as total matches played, wins, draws, losses, goals scored and conceded, and so on.
Here's a file download link
It contains two sheets.
First sheet is STANDINGS_EXTENDED:
I need to fill these 3 tables with the data contained in another STANDINGS worksheet.
Here's a screenshot of the STANDINGS sheet:
My aim is that once I fill LeagueId and Group Id (which is optional) fields then inside all three tables will be produced the data as in this sample.
I wonder if it is possible to achieve this without VBA. But i have no clue on where to start from. I tried is several different ways, but i get only first result from STANDINGS worksheet for any league i enter.
Looking forward to your help.
Thank you!
UPDATE:
So far I could get the count of rows related to Overall, Home and Away using these formulas:
=COUNTIFS(STANDINGS!E:E;STANDINGS_EXTENDED!E1;STANDINGS!F:F;"StandingsOverall")
=COUNTIFS(STANDINGS!E:E;STANDINGS_EXTENDED!$E$1;STANDINGS!F:F;"StandingsHome")
=COUNTIFS(STANDINGS!E:E;STANDINGS_EXTENDED!$E$1;STANDINGS!F:F;"StandingsAway")
Also, what I can get is the first row of these results using this formula:
=VLOOKUP($E$1;STANDINGS!$E:$V;4;FALSE)
What I need to figure out is how to modify above formulas so that I fill tables with remaining rows.
In order to do this you need a formula in every single field of your 3 tables that link it to data on the Standings tab. That would be 13 x 3 x 20 formulas. Therefore one would try to create formulas that can be copied, in the best case less than 13 original ones, but definitely one formula for each field.
Each formula would look for a unique identifier in the Standings list. I can't see any unique identifiers there but you might create them by concatenation, such as "League" + "Country" + "Position". The more detail you need the larger the formula. The key is: without a unique identifier for each row you can't retrieve data. But once a row has been identified you can get the value from any of its columns.
If your tables sometimes have 12 rows, sometimes 20, and sometimes 25 you must provide space for the possible maximum and then design your formulas to return a blank if there is nothing to display.
In conclusion, the core of your system is in the Standings table. It must be set up so that data can be retrieved from it. Ideally, your selection on the Standings Extended sheet would generate a concatenated unique identifier for a list to which you can add the fixed number in the Pos column to identify individual rows in the Standing table. As long as you can't identify rows no data can be retrieved.
Using VBA gives you more flexibility but doesn't relieve you of the task to create uniquely identifiable rows.

Making excel search using one letter in cell

So basically, I have been trying to make excel scan one column and print out the row for cells which have specific letters.
For example I have the following data in my sheet.
What is required is to be have excel search for the values which contain T and I, and then print the new rows. Kind of like separate the two into two different tables, because then so that I can do further analysis on them.
So far I have been trying to use the VLOOKUP() function, but the problem with VLOOKUP() is that excel required a proper match and not just a letter in the cell. I had tried with both FALSE and TRUE. Then instead I tried to use the =INDEX($B$4:$K$9;MATCH($A$17;$A$5:$A$9;0);COLUMN(A4)) to make it work. But that also does not work, since it also requires a full match. Also another problem which I didn't realise before is that how can excel recognise each cell, because I will have different number after the letters everytime and then so how can one make excel not repeat the same row twice?
I have used another approach where I copy the data in a separated sheet and then I simply filter out the Ts and then copy/paste the Is into another sheet and vice versa. it is time consuming and so it would be much better if I can simply copy/paste my new data and it would generate the division on its own.
any suggestions or link would be really helpful.
UPDATE
I had a new idea on how to approach this problem. I was thinking that is it somehow possible to have VBA code running for filtering the data. Is there a way to specify in VBA code to filter the data by "Starts With" and Make the results be printed in another cell block?
Looks simple enough. First step is to make sure you have headers over your data and that it is in proper table format similar to my picture. Then select Data set and press CTRL+T. That should turn you data in to table object with stripes. Use the Formula =LEFT(C2,1) to take out the first letter which will be L or T.
Select the table and press ALT+D+P which will generate a pivot table based off original data set.
Drag the column with the formula I suggested over to the FILTERS area of the pivot table ID column to ROWS and all others to VALUES. Simply refresh and as new data is added you will get new pivot tables. Do not put the pivot tables on top of each other as I did that is only for the picture so you can see it. If you have too many filters to apply you can right click the helper column in the pivot table fields area to produce a slicer which is a button that helps you change the report quickly. Any other questions do ask.

(Excel) Neither Offset nor Index/Match prevented a table's referenced cell from moving

I have a report that consists of 3 different input, and 3 corresponding output tabs for 3 different sources of information. Each source needed a Macro to change the formatting of the data. One of these sources needs data for individual days, so as it formats the data into a table, it is copying and inserting the cells on top of the previous day's data. Once 5 days of data has been converted and stacked in the output tab, a final tab has essentially all the formula's, dubbed the "Conversion" tab. In this tab there are 3 tables for each source of data (the output tabs) and a fourth that takes the data from these 3 tables, and combines them into what a final macro copies and pastes the values from into a new sheet.
The problem lies in that sheet that stacks the data by inserting the new rows. I've done everything from Index and match, Offset and match, simple offset, Vlookup (obviously, that's the go-to at first) and even Defined the name of new formula's, but the cell that the Conversion tab's table references keeps moving down as new data comes in. I need to reference Array 'CampPerf Output'!B116:B135
no matter what. What formula can I use or backdoor trick can I use so that my lookup looks at the exact same array every time?
The macro that converts the data has to be a repeatable action so I can assign it to a button (This report must be made as simple as possible, as Non-Excel Users need to be capable of "paste data, click button, click other button, ta-da!")
Thanks for any help!
Use this as your range reference:
INDEX('CampPerf Output'!$1:$1048576,116,2):INDEX('CampPerf Output'!$1:$1048576,135,2)
This will always return the range array in 'CampPerf Output'!B116:B135 no matter how many rows or columns are added or removed.

Excel: Updating a column searched with VLOOKUP

I have an inventory worksheet (Excel) with tens of columns (product's features) and few hundred rows (products). First few columns are Sticker number (each product has it's own Sticker number), Status, Arrival Date and so on.
To be able to check easily the Status of multiple products at the same time, I have made another sheet using VLOOKUP. On that sheet I can give a Sticker number and it searches and shows this product's Status using a basic VLOOKUP function. By inputting more Sticker numbers I can see more Statuses. Usually these Statuses vary quite a lot.
Problem comes when I want to change all these listed Statuses to a new certain Status, which I could enter f.e. to cell B2. I mean updating the Status only for the products I have listed on this VLOOKUP sheet. How can I do this?
A lookup formula only looks up values. If you want to process the results that are returned then you would need VBA to loop through the results, find their respective counterpart on the source sheet and make the changes.
An alternative could be to go to the source sheet and use filters to show only the desired rows. Then you can quickly select all visible cells, enter a new value, confirm with Ctrl-Enter to change them all at the same time.

Resources