Solved

Make a Dynamic Chart w/ Drop Down

Posted on 2011-09-21
10
293 Views
Last Modified: 2012-05-12
I want to make a chart with a drop down at the top for "category" and when you select a catergory it only shows those locations and points on the graph.

I have the following fields:
Category
Location
Data1
Data2
Data3

I want the category to include a drop down that when you select the category the graph changes accordingly. Also, there should be a catergory for ALL.

I have done this many years ago using the OFFSET function however I cannot fully remember how to do it.

PLEASE HELP!!!
0
Comment
Question by:kwarden13
  • 4
  • 2
  • 2
  • +2
10 Comments
 
LVL 50

Expert Comment

by:teylyn
Comment Utility
Hello,

how many rows with the same category will the table have? This approach is for unique categories:

In the attached sample, the data source is defined with an Offset function and a nested Match that finds the correct row.

cheers, teylyn
Book2.xlsx
0
 
LVL 17

Expert Comment

by:andrewssd3
Comment Utility
You can do this with a pivot chart.  It will automatically give you the drop downs to select category if you make that a page field.  It's difficult to show you an example without seeing your data.   If you're prepared to post some sample data it would be easier.
0
 
LVL 2

Expert Comment

by:jan24
Comment Utility
I would agree with andrewssd3 that PivotCharts are a powerful solution for this kind of problem.  Attached is an attempt using Excel 2007.  If you need an Excel 2003 version then let me know.

Obviously the downside of the PivotChart is that the user interface is less customisable.
Book1.xlsx
0
 

Author Comment

by:kwarden13
Comment Utility
I dont want a pivot
0
 
LVL 50

Expert Comment

by:teylyn
Comment Utility
kwarden,

if my first suggestion and my guess at your data does not work for you, it would be good to see a data sample. Dynamic charting relies heavily on data layout and the dynamic range names must be properly defined.

The above is only one of many ways how it can be done. If your data is different, the approach will vary.

cheers,
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 2

Expert Comment

by:jan24
Comment Utility
teylyn's dynamic range names don't work for me - Excel 2007 chart seems to get upset by them (I remember this working in 2003, so perhaps I'm missing quirk of 2007).
Anyway I tried a different approach which does not use PivotTables and is a bit less elegant than dynamic range names ... but it does seem to work - see attached.  
As teylyn says, data structure is critical.  Here I've assumed that all the rows for each category come in a block.
Book6.xlsm
0
 
LVL 92

Expert Comment

by:Patrick Matthews
Comment Utility
jan24,

To use a dynamic named range, you have to set the series value or labels like this:

='Name of file.xlsx'!Named_Range

or

='Name of sheet'!Named_Range

Do that, and it will work splendidly.  I do have a fondness for PivotCharts, though :)

Patrick
0
 
LVL 50

Accepted Solution

by:
teylyn earned 500 total points
Comment Utility
Kwarden,

here is a VBA-free  approach with dynamic ranges for a data set with multiple occurrences of the category. With these formulas, the data should be sorted ascending by category.

The range names used are

CategoryBase      =INDEX(Sheet1!$A:$A,MATCH(Sheet1!$I$1,Sheet1!$A:$A,0)):INDEX(Sheet1!$A:$A,MATCH(Sheet1!$I$1,Sheet1!$A:$A,1))
chtData1      =OFFSET(CategoryBase,0,2)
chtData2      =OFFSET(CategoryBase,0,3)
chtData3      =OFFSET(CategoryBase,0,4)
chtLabels      =OFFSET(CategoryBase,0,1)

See attached. You can move the chart to a chart sheet or to a different sheet, if you want to.

cheers, teylyn

Book5.xlsx
0
 

Author Comment

by:kwarden13
Comment Utility
Attached is a data sample

teylyn: I like your method or something similiar, however can't get any of it to work. Can you save in a 2007 format?
datatest.xls
0
 
LVL 50

Expert Comment

by:teylyn
Comment Utility
Hi, as I said above, the data must be sorted by category for this approach to work. If that is not an option, the you will need to use pivot tables. There is no formulaic way to create a dynamic range for data that is not contiguous.

I've saved the above file in Excel 2003 format.

When you apply the dynamic range names to the chart, you must enter them with the syntax

=SheetName!RangeName

or

=FileName.xls!RangeName

Entering just the range name will not be accepted.

cheers,

Book5.xls
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This article will show you how to use shortcut menus in the Access run-time environment.
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now