So I have idea of what I want to do in Excel, and I’m pretty sure it can be done, but my Google skills are coming up empty.
In one column, going down, I have a long list of client names (all unique). Then, in adjacent columns, I have corresponding data for each of those names: start date in one column, end date in another, payment method, due date met Y/N, location, etc. Maybe 10 columns in all, with an increasing number of rows when new data comes in.
What I’d like is on the left side of the screen is a bunch of pull down lists where I can narrow down the data to only show clients from 2009, or only show clients of a certain location where we finished the work in 2010 but missed the due date, etc. On the right side of the screen is the original data filtered down that meet those parameters on the left.
My first thought was to use a filter, but I don’t like how it’s doing it. I’m in Office 2007, and the filter mechanic is cumbersome. I click on the column header, then I individually click on all the parameters I don’t want to see, then I hit ok. The data that doesn’t match the parameters just gets hidden (not removed), and when the whole row is hidden, some of the left side parameter input part gets hidden too. I know I can move the left hand side above the data, but I’d rather it work another way. Plus I’d need a way to tie the pull down choices to the column headers.
I’m completely OK with my main data being in one tab and the parameter pull downs and matching data on another. I’m just not sure how to make it so that based on my parameters, a list of matching data is gathered from the other tab and shown on my main tab, and it’s completely dynamic, so that I can go add to the data tab and the parameter tab is auto updated.
Should I be looking deeper into filters, or is this now a list, or a table, or a pivottable? Do I need to get macros involved (I hope not).
TLDR: How do I create/view a dynamic filtered version of original data in a new location?
Posts
Mostly you can poke and prod and experiment your way through them, but the biggest thing that's not immediately apparent is that if your original data changes on the source table you must hit refresh on the pivot table for things to update there as well.
Here's my fake data in text format:
AAA 3/2/2009 6/24/2009 check 2 2.5
BBB 5/7/2009 7/1/2009 check 2 2.1
CCC 5/14/2009 8/22/2009 check 3 3
DDD 6/1/2009 CC 1 2.5
EEE 7/2/2009 11/17/2009 check 2 3.2
FFF 8/29/2009 2/2/2010 check 2 2.9
GGG 8/31/2009 11/29/2009 CC 4 2.7
HHH 9/15/2009 3/14/2010 CC 3 1.9
III 11/1/2009 3/20/2010 check 1 3.4
JJJ 2/21/2010 CC 2 2.5
KKK 4/2/2010 6/15/2010 CC 1 2.8
LLL 5/12/2010 CC 3 3.4
MMM 6/5/2010 check 2 3.8
NNN 6/10/2010 11/1/2010 check 1 2.7
OOO 8/9/2010 CC 4 3.5
PPP 8/11/2010 check 3 2.4
Also I don't know how sortable the results would be.
you are definitely going to need some VB scripting here in a macro to get this done in excel. are you at all familiar with that?
Going off the quick and dirty screenshot, the first thing to do is create the contract year and completion year fields in the original table; you can use Excel's =YEAR() function for that, although you'll probably also have to reformat it so it doesn't turn into 7/1/1905 or whatever.
Then drag the column headings around until they're in the right order.
Next, double click on each column heading and turn off the subtotals (set it to "none").
The column and data fields are going to be empty, which is a bit of an eyesore. If you need sums or counts you can drag one of the fields (cost, probably) into the data section and turn the subtotal back on.