Dynamically extract a list of unique items from multiple sources in Excel - excel

I am trying to make a list in Excel that has as its output a list of unique items that appear multiple times in different sources of the excel sheet. Ideally, the list should be automated automatically as more data is inputted in the sources, but no additional sources will be added. I used a formula I found here, but it only works for a single source of data (and this data then needs to be adjacent).
I attached a picture of my document with circles enclosing the sources and pointing to where the list should be created. I highlighted in yellow a cell in the top row that does not get outputted (because I don't know how to do this). Picture for reference
I can provide the excel document if need be.
I am thinking of consolidating the sources to a single source, but I would like to solve this in a more sophisticated way that does not involve creating more tables.

As per your screenshot it seems you are using tables. Then try below formula-
=IFERROR(INDEX(FILTERXML("<t><s>"&TEXTJOIN("</s><s>",TRUE,Table1[Machine],Table2[Machine])&"</s></t>","//s[not(preceding::*=.)]"),ROW(1:1)),"")
Please note: TEXTJOIN() is available to Excel-2019 & Excel-365 and it has limitation to 50,000 data only.
To learn more about FILTERXML() read this article from JvdV.

Related

Check For Matches And Import Data Into Specific Cells From An External Source

We are trying to track some online marketing metrics and I'm having some trouble. I have 2 tables in different tabs (one imports data from several external data sources, ultimately we want this to be a series of google sheets) and one is the working table.
I have rows on the imported data with month and other attributes defining the data and in the working data these are columns. The working data has a lot of other cells too that are not there with calculations, etc.
What I need to do is to check on the working sheet which month (for example) we are in, then go to the working data and scan all the data for matches with that month. Then I want to consolidate each of the data parameters into the working sheet. Ideally I wouldn't even have to import all the external data into a tab on the working spreadsheet, if I could find a way to work where it would check the external documents for the matches that would be great. The structure of the data in the external documents is the same as displayed here fore the imported data.
Note that in this case it is month but it could be anything random so DATE functions wouldn't work.
So I want to pickup the data from the external source above, and insert in the relevant places. But while the months will not change, other data can change the order in which is imported so we need to check that the headers from picture 2 match the row labels from the imported data.
I hope that makes sense. I would really appreciate any help. Was up until 4 AM trying to figure this out and I would hate to go back to my boss saying he's gonna need to get someone else to do this as I can't. :/
Thank you.
So I resolved this with a INDEX(array, MATCH(),MATCH()) function. First I selected the answer array from the cells with the info I wanted then used the MATCH Function to match the row and the columns I wanted in the matrix.
This created another problem where no answer existed as it threw an error so I had to envelop the whole expression in an IFERROR function.
The final solution was like this:
=IFERROR(INDEX(Table_Query_from_Excel_Files,MATCH(!H1:I1&A1,INDEX(Table_Query_from_Excel_Files[Month]&Table_Query_from_Excel_Files[User location],,),0),MATCH(!A1,Table_Query_from_Excel_Files[#Headers],0)), 0)

Excel 2010: Automatically combine multiple tables into one dataset

I thought there would be a simple way of doing this, but unfortunately I have not come across one. My company has an Excel workbook with 12 sheets (1 for each month), into which I enter sales data as accounts are written. I reformatted each month's data into tables, thinking that this would provide an easy reference to gather the data into a pivot table that joins all the months and would be updated as I enter data; however, a pivot table based on multiple sets of data allows highly limited manipulation.
So what I want to do is create a new table that is automatically populated as I enter data in any of the 12 current tables, to combine them into a master listing. I have tried doing a query, but when I try to set up the data sources, it doesn't recognize my tables. I tried Power Query, but I couldn't get it to update the data as I updated the source. Consolidate also was not a useful feature, as it required all the data to be somehow calculated, and my columns need to simply be copied over, not summed or averaged.
As you can probably tell from my explanations and terminology, I'm no Excel expert. I don't know what VBA even is, let alone know how to use it, but I've seen it mentioned a lot, so I figure at some point in my life I should learn it.
Is there a formula or some other Excel 2010 feature that can automatically copy all of this data onto one running list, and keep it updating as I enter data in the source tables? It would have to run automatically.
I believe your end goal is to have a pivot table which consolidates data from each of the individual 12 sheets/tables and not really to have the intermediate "single running list which is an aggregation of all the 12 sheets".
If so, I suggest to create an Excel Pivot table directly based upon the 'Multiple consolidation ranges'.
To start, create a new spreadsheet and select a cell (say A3) and use the click sequence Alt+D+P, this will bring up the PivotTable and PivotChart Wizard, and proceed further using the third option - 'Mulitple consolidation ranges'.
I will have to refer you to the below site for a detailed step by step instructions on the above: http://www.contextures.com/xlPivot08.html
Please be aware that the Difficulty level for this solution is Medium, suggest you to bookmark the solution from maintainability reasons, in case you choose to implement it.

Comparison of data in Access

I have written some pretty lengthy VBA code in excel for the comparison of 2 worksheets. My code does the following:
Lets you import 2 sheets for comparison
arranges the columns
removes departments which require different comparisons into a new worksheet
In sheet 1 checks if the id's appear more than once then checks, which row of data to use for comparison based on the latest update, and deletes the old rows
compares the sheets based on the header and then the cell contents as header names are different, for different values it then highlights them red
finally giving me a breakdown per column per department of differences and any id's that are missing
I have now found that my data set is becoming to big and looking to use MS Access, is it possible to copy my VBA code over to access? What do you guys suggest for this?
Any advice would be helpful.
From the nature of your question it sounds like you may not have used a database before. If you were using access, you would need to totally re-write the code using SQL statements. eg An Aggregating SQL SELECT statement to find the most recently updated update and ignore the rest.
You can use conditional formatting in an access form, but it's no better than using it in excel. How many rows does your data have? Will it fit in an excel sheet?
You might use access to pre-process the data to remove the unwanted rows that you use in excel. OR use power query or sql directly from excel to remove them.
You have a way to go.
Harvy

creating a series of MS Excel graphs with identical properties for a series of tables with different data but same data types

I have a series of table in Excel worksheets, all of them holds same data types, one table for one item, and how some values changed over time in each table column.
I want to create a excel graph/chart for each of this table, with same formatting, only the data should be different.
When I copy each from single graph to create many, the table link doesn't change and I have to do that manually, which is difficult because there are number of tables.
Is there any better solution? Thank you
The dirtiest solution is to simply use VBA to automate these changes.
I finally copied and pasted the same graphs for each table, undo the old links and linked each table separately. I was looking for a easier way than this because even this is difficult with number of tables increasing. Thank you.

Automatic Data transfer in Microsoft Excel

I have created three lists with similar fields in Excel. I would like to set these lists up so that when I input Data into my master list in a given field it will automatically transfer to the same field on my other lists. How would I do this. I have searched for an answer, but I have found none. I am new to Excel, but I do have programming experience.
I think the =VLOOKUP() function is what you are looking for.
I have fixed adressess($) and used a column choser to be able to easily change column information, and also to just copy or strech your table into new columns or rows whithout needing to update formulas.
=VLOOKUP() http://img638.imageshack.us/img638/2596/unledjyl.png

Resources